Skip to content
Official

Chemistry Literature Research Stack

Build a traceable literature workflow for medicinal and biological chemistry: search PubMed, fetch article records, and summarize only the retrieved evidence with identifiers.

Level: Intermediate Cost: Mixed Privacy: Cloud ~30 min
Start Setup

You'll be able to

  • Search biomedical chemistry literature with explicit queries and dates.
  • Fetch article evidence and retain PMID/DOI provenance.

What you'll build

Scope and prerequisites

Use Claude Desktop, Node.js >=24 and @cyanheads/pubmed-mcp-server 2.10.20. The local MCP process accesses external literature databases; model processing is cloud-based. The baseline covers PubMed metadata and abstracts without an NCBI API key. An optional NCBI key increases permitted request rates; optional full-text providers can require a contact email. These secrets and personal details must remain in private configuration.

Coverage and evidence

PubMed primarily covers biomedical research. This is not a comprehensive index of general chemistry, patents or all publisher content. Abstracts are not full text. Database results, full-text availability and linked corrections can change; preserve the query, date, identifiers and evidence actually retrieved. No subscription paywall is bypassed.

Literature retrieval tools

PubMed MCP (cyanheads)

Stack Components

PubMed MCP (cyanheads)

Literature retrieval tools · 2.10.20

Pinned published npm package; primarily biomedical coverage.

See upstream licenses and client/service account terms.

View Resource

Compatibility

ClientOSArchitectureVersion requirements
Claude Desktop macOSAnySee component requirements
Claude Desktop WindowsAnySee component requirements

Setup & Test

1. Prepare Node.js and Claude Desktop

All platforms

Install Node.js 24 or newer with npm and Claude Desktop. Confirm that local MCP is allowed and HTTPS access to the target database is available. Bun is not needed for this Node-based variant.

node --version
npm --version
Official source

Expected result

Node reports v24 or newer; npm is available.

2. Install the pinned MCP package locally

All platforms

Use a new writable working directory. This installs the server in .mcp-packages, rather than globally; keep its lockfile for verification. The upstream npx entry and the local dist/index.js entry use the same published package.

npm install --prefix .mcp-packages @cyanheads/[email protected]
npm ls --prefix .mcp-packages --depth=0
Official source

Expected result

The requested exact package version is installed.

3. Configure Claude Desktop on macOS

macOS

Open Settings > Developer > Edit Config and merge the server into mcpServers. Replace all placeholder paths with actual absolute paths, including the node executable. Keep existing server entries. No API keys are needed for the baseline query; optional keys/emails belong in private configuration.

{
  "mcpServers": {
    "pubmed-mcp-server": {
      "command": "/ABSOLUTE/PATH/TO/node",
      "args": [
        "/ABSOLUTE/PATH/.mcp-packages/node_modules/@cyanheads/pubmed-mcp-server/dist/index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}
Official source

Expected result

Valid JSON starts the installed package with the Node 24+ executable and stdio.

4. Configure Claude Desktop on Windows

Windows

Open Settings > Developer > Edit Config and merge the server into mcpServers. Replace all placeholder paths with actual absolute paths, including the node executable. Keep existing server entries. No API keys are needed for the baseline query; optional keys/emails belong in private configuration.

{
  "mcpServers": {
    "pubmed-mcp-server": {
      "command": "C:\\ABSOLUTE\\PATH\\TO\\node.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\.mcp-packages\\node_modules\\@cyanheads\\pubmed-mcp-server\\dist\\index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}
Official source

Expected result

Valid JSON starts the installed package with the Node 24+ executable and stdio.

5. Restart and inspect the tools

All platforms

Completely quit and restart Claude Desktop. Inspect Developer status and the connector tool list. Required tools: pubmed_search_articles, pubmed_fetch_articles.

Official source

Expected result

Connection succeeds and the listed tools are available.

6. Search and verify citations

All platforms

Run in a new chat, and compare each citation with the fetched record.

Use pubmed_search_articles with query ("machine learning"[Title/Abstract]) AND ("drug discovery"[Title/Abstract]) AND ("2020/01/01"[Date - Publication] : "2025/12/31"[Date - Publication]) and at most 5 results. Fetch the returned PMIDs with pubmed_fetch_articles. For each fetched record report title, publication year, PMID, DOI when present, source URL and a two-sentence summary grounded in its abstract. Separate abstract-only access from full text; show missing abstracts and retraction/correction notices rather than filling them from memory. Preserve the effective query and retrieval date.
Official source

Expected result

At most five real records; each PMID links to https://pubmed.ncbi.nlm.nih.gov/<PMID>/ . DOI is included only when returned. Summaries match available abstracts and report missing/full-text status. No fixed count or particular article is guaranteed; zero hits require a documented query adjustment rather than invented citations.

7. Check an empty search request

All platforms

Request an empty query separately.

Call pubmed_search_articles with a blank query; report its validation error and do not substitute citations.
Official source

Expected result

The blank request is rejected explicitly.

Troubleshooting

  • Startup failure: check Node 24+, the absolute node/module paths, JSON syntax and the local install lockfile.
  • Tools missing: restart the desktop client and inspect Developer logs.
  • HTTP 429 or timeout: reduce request volume, use pagination and retry with backoff; preserve partial results.
  • Missing database fields: show them as unavailable, not inferred values.
  • Zero hits: inspect the effective query, remove overly restrictive filters or broaden terms and record the change.
  • Missing full text: use an abstract-only summary and link the publisher; a DOI does not prove accessible full text.
  • Citation mismatch: discard the generated citation and rebuild it from the returned PMID record.
  • Retraction/correction: include the linked notice in the evidence assessment.
Still not working

Alternatives

Use the PubMed web interface for the same query. For general chemistry beyond its coverage, search relevant publisher indexes or Crossref separately and document the additional source.