Skip to main content
Glama
QuentinCody

NCBI Entrez MCP Server

by QuentinCody
README.md
# NCBI Entrez MCP Server

A comprehensive Model Context Protocol (MCP) server providing access to NCBI's APIs including E-utilities, PubChem, and PMC services.

## ๐Ÿš€ Quick Start

**Works out of the box** - no configuration required!

```bash
git clone <this-repo>
cd entrez-mcp-server
npm install
npm start
```

## ๐ŸŽฏ Features

- **Complete NCBI API Coverage**: E-utilities, PubChem PUG, PMC APIs
- **No Setup Required**: Works immediately without any configuration
- **Optional Performance Boost**: Add your free NCBI API key for 3x better rate limits
- **Rate Limiting**: Built-in respect for NCBI rate limits (3/sec โ†’ 10/sec with API key)
- **User-Friendly**: Designed for both technical and non-technical users

## ๐Ÿ“Š Performance

| Configuration | Rate Limit | Performance |
|---------------|------------|-------------|
| **Default (No API Key)** | 3 requests/second | โœ… Works out of the box |
| **With API Key** | 10 requests/second | ๐Ÿš€ 3.3x faster |

## ๐Ÿ”‘ Optional API Key Setup

For better performance, add your free NCBI API key:

1. **Get your key**: [NCBI API Key Registration](https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/) (takes 30 seconds)
2. **Set environment variable**: `export NCBI_API_KEY="your_key_here"`
3. **Test it works**: `node test-rate-limits.js`

See [API_KEY_SETUP.md](API_KEY_SETUP.md) for detailed instructions.

## ๐Ÿงช Testing

Test your setup and verify rate limits:
```bash
node test-rate-limits.js
```

This will test both authenticated and unauthenticated scenarios and verify your API key is working correctly.

## Connect to Cloudflare AI Playground

You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:

1. Go to https://playground.ai.cloudflare.com/
2. Enter your deployed MCP server URL (`remote-mcp-server-authless.<your-account>.workers.dev/mcp`)
3. You can now use your MCP tools directly from the playground!

## Connect Claude Desktop to your MCP server

You can also connect to your remote MCP server from local MCP clients, by using the [mcp-remote proxy](https://www.npmjs.com/package/mcp-remote). 

To connect to your MCP server from Claude Desktop, follow [Anthropic's Quickstart](https://modelcontextprotocol.io/quickstart/user) and within Claude Desktop go to Settings > Developer > Edit Config.

Update with this configuration:

```json
{
  "mcpServers": {
    "calculator": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/mcp"  // or remote-mcp-server-authless.your-account.workers.dev/mcp
      ]
    }
  }
}
```

Restart Claude and you should see the tools become available. 

## Cloudflare Code Mode Tips

When running this MCP server from Cloudflare's Code Mode experiments, prefer the underscore tool IDs (for example `tool_Z1YjsltQ_entrez_query`). Legacy hyphenated aliases (`โ€ฆ_entrez-query`) are still available for backward compatibility, but JavaScript treats `codemode.tool_Z1YjsltQ_entrez-query` as subtraction and throws `ReferenceError`. Either stick to the underscore versions or call the hyphenated aliases with bracket notation (`codemode["tool_Z1YjsltQ_entrez-query"](...)`). See [`docs/codemode.md`](docs/codemode.md) for a ready-to-run helper and workflow.