A comprehensive Model Context Protocol (MCP) server providing access to NCBI's APIs including E-utilities, PubChem, and PMC services.
Works out of the box - no configuration required!
git clone <this-repo>
cd entrez-mcp-server
npm install
npm start- 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
| 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 |
For better performance, add your free NCBI API key:
- Get your key: NCBI API Key Registration (takes 30 seconds)
- Set environment variable:
export NCBI_API_KEY="your_key_here" - Test it works:
node test-rate-limits.js
See API_KEY_SETUP.md for detailed instructions.
Test your setup and verify rate limits:
node test-rate-limits.jsThis will test both authenticated and unauthenticated scenarios and verify your API key is working correctly.
You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:
- Go to https://playground.ai.cloudflare.com/
- Enter your deployed MCP server URL (
remote-mcp-server-authless.<your-account>.workers.dev/mcp) - You can now use your MCP tools directly from the playground!
You can also connect to your remote MCP server from local MCP clients, by using the mcp-remote proxy.
To connect to your MCP server from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.
Update with this configuration:
{
"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.
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 for a ready-to-run helper and workflow.