Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Chem Research

FreeNot checked

MCP server + literature RAG over open combustion / QSAR / fuel-chemistry papers. Ask in the browser or wire Cursor / Claude Desktop to the same tools.

GitHubEmbed

About

MCP server + literature RAG over open combustion / QSAR / fuel-chemistry papers. Ask in the browser or wire Cursor / Claude Desktop to the same tools.

README

Live chat: https://chem-research-web.vercel.app · v0.1 shipped (literature search & citation)

MCP server + literature RAG over open combustion / QSAR / fuel-chemistry papers. Ask in the browser or wire Cursor / Claude Desktop to the same tools.

Demo: chat → answer → MCP connect → evals

Try it

Path URL
Chat chem-research-web.vercel.app
Evals /evals
MCP connect (demo key + copy-paste) /mcp

No account for chat (Supabase anonymous session + daily quota). Cold starts are intentional: generate has no keep_warm (spend control); first answers after idle take ~1–2 minutes.

Connect over MCP

Endpoint (trailing slash required):
https://tjkessler--chem-research-api-fastapi-app.modal.run/mcp/

Demo API key: copy from the live /mcp page (low-quota public demo, 25/day). Prefer env substitution — do not commit the plaintext key.

Cursor (.cursor/mcp.json or Settings → MCP):

{
  "mcpServers": {
    "chem-research": {
      "url": "https://tjkessler--chem-research-api-fastapi-app.modal.run/mcp/",
      "headers": {
        "X-API-Key": "${env:MCP_DEMO_API_KEY}"
      }
    }
  }
}

Set MCP_DEMO_API_KEY to the demo key from /mcp. Full Claude Desktop / mcp-remote notes: docs/MCP_CLIENTS.md.

Tools: search_literature, fetch_citation.

Architecture

flowchart TB
    subgraph Clients
        A["MCP client<br/>(Claude Desktop / Code)"]
        B["Web app<br/>(Next.js on Vercel)"]
    end

    subgraph Backend["Backend: FastAPI + MCP — Modal ASGI app"]
        C["/mcp — MCP tools<br/>(streamable HTTP)"]
        D["/api — REST<br/>(chat, admin, evals)"]
        E["core/ — tools, retrieval,<br/>ingestion, cost, rate limits"]
    end

    subgraph ModalGPU["Modal: LLM inference"]
        F["embed()<br/>bge-small-en-v1.5, 384-d"]
        G["generate()<br/>Qwen2.5-7B-Instruct · L4"]
    end

    subgraph SB["Supabase"]
        H[("Postgres + pgvector")]
        I["Auth<br/>admin + anon quotas"]
    end

    A -->|streamable HTTP + X-API-Key| C
    B -->|HTTPS| D
    C --> E
    D --> E
    E --> F
    E --> G
    E --> H
    D --> I
    C -.->|API key → quota| I
Piece Host
Frontend Vercel Hobby — apps/web
API + MCP Modal ASGI — chem-research-api
Embed / generate Modal — chem-research-embed, chem-research-generate
Postgres + Auth Supabase

Eval ablation (chunking × retrieval)

Retrieval-only on evals/dataset.jsonl (n=38), top_k=8, P@5 / R@5. Directional only — small labeled set. Full write-up: evals/results/ABLATION.md.

Chunking Mode Mean P@5 Mean R@5 Mean latency (ms)
tuned vector 0.195 0.759 959
tuned hybrid 0.200 0.785 680
naive vector 0.216 0.829 647
naive hybrid 0.216 0.829 868

Default: tuned chunks (1000/150) + hybrid retrieval. Naive wins raw doc-level P/R but ~1.8× more chunks (confound); see ablation notes.

Live dashboard: chem-research-web.vercel.app/evals.

Cost & latency (measured)

Production measurements (2026-08-06, Modal L4 generate, keep_warm=0):

Scenario Latency Cost (est.) Source
Public chat, GPU cold start (“What is cetane number?”) 95–108 s ~$0.022–0.024 Live Vercel → Modal /api/chat
MCP search_literature e2e (cold generate) ~99 s same L4 wall accounting verify_mcp_remote
Retrieval-only eval mean (ablation, n=38) ~0.6–1.0 s ~$0.0002 / query [evals/results/ABLATION.md](evals/results/ABLATION.md)

Cold-start policy: no keep_warm on generate — honest UX instead of burning the free-plan credit. scaledown_window=180s. Chat shows a waking hint after 4s while a request is in flight. Warm hits (container still up) are much faster; we cite cold numbers because users often hit an idle demo.

Cost model: soft token estimate (chars/4) + Modal L4 wall time at $0.000222/s (raw latency_ms/1000, no floor).

Operational Modal target: ≤$25/mo under the free-plan $30 credit (concurrency caps; no dashboard hard budget on free).

Local setup

uv sync --group dev
cp .env.example .env
# fill Supabase + optional Modal / MCP demo key — see docs/SETUP.md
uv run uvicorn apps.api.main:app --reload --port 8000

Frontend: cd apps/web && npm install && npm run dev (see apps/web/README.md).

More: docs/SETUP.md.

from github.com/tjkessler/chem-research-mcp

Installing Chem Research

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/tjkessler/chem-research-mcp

FAQ

Is Chem Research MCP free?

Yes, Chem Research MCP is free — one-click install via Unyly at no cost.

Does Chem Research need an API key?

No, Chem Research runs without API keys or environment variables.

Is Chem Research hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Chem Research in Claude Desktop, Claude Code or Cursor?

Open Chem Research on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Playwright

Browser automation, scraping, screenshots

Microsoftby Microsoft

Puppeteer

Browser automation and web scraping.

modelcontextprotocolby modelcontextprotocol

opentabs-dev/opentabs

Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a

opentabs-devby opentabs-dev

robhunter/agentdeals

1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan

robhunterby robhunter

hlydecker/ucsc-genome-mcp

MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.

hlydeckerby hlydecker

34892002/bilibili-mcp-js

A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.

34892002by 34892002

achiya-automation/safari-mcp

Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.

achiya-automationby achiya-automation

agent-infra/mcp-server-browser

Browser automation capabilities using Puppeteer, both support local and remote browser connection.

bytedanceby bytedance

aparajithn/agent-scraper-mcp

Web scraping MCP server for AI agents. 6 tools: clean content extraction, structured scraping with CSS selectors, full-page screenshots via Playwright, link ext

aparajithnby aparajithn

apireno/DOMShell

Browse the web using filesystem commands (ls, cd, grep, click). 38 MCP tools map Chrome's Accessibility Tree to a virtual filesystem via a Chrome Extension.

apirenoby apireno

Compare Chem Research with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All browse MCPs