BioMCP
BioMCP is a server designed to enhance language models with protein structure analysis capabilities. You can:
Analyze Active Sites: Examine binding sites and functional residues of proteins using PDB IDs
Search Disease-Related Proteins: Find protein structures associated with specific diseases or medical conditions
Access Integrated Data: Connect seamlessly with the RCSB Protein Data Bank (PDB) for reliable protein structure insights
Provides compatibility with Node.js runtime for running the BioMCP server, specified as a requirement (Node.js 20.0.0 or higher).
Utilizes TypeScript for implementation (TypeScript 5.0+ required), providing type safety for the protein structure analysis tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BioMCPanalyze the active site of PDB structure 6LU7"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BioMCP: Enabling agent-based biomedical R&D

Overview
BioMCP is a Model Context Protocol (MCP) server designed to enhance large language models with protein structure analysis capabilities. It provides tools for analyzing protein active sites and searching for disease-related proteins by interfacing with established protein databases.
Future work will be centered around enabling agents to utilize the BioMCP.
Related MCP server: PubMed MCP Server
Features
Active Site Analysis: Examine the binding sites and functional residues of proteins using PDB IDs
Disease-Protein Search: Find protein structures associated with specific diseases or medical conditions
Integrated Data Access: Connect seamlessly with RCSB Protein Data Bank (PDB)
Technical Details
BioMCP implements the Model Context Protocol, allowing language models to access specialized protein structure knowledge without requiring this information to be part of their training data. The server handles API connections, data formatting, and error handling to provide reliable protein structure insights.
API Endpoints
BioMCP exposes two primary tools:
analyze-active-site: Provides detailed information about protein binding sites using a PDB IDsearch-disease-proteins: Returns proteins related to specified diseases or medical conditions
Getting Started
Installing via Smithery
To install BioMCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @acashmoney/bio-mcp --client claudeManual Installation
# Clone the repository
git clone https://github.com/acashmoney/bio-mcp.git
# Install dependencies
npm install
# Start the server
npm startSetup Instructions
Running the MCP Inspector
Start the BioMCP server:
npm startIn a separate terminal, install the MCP Inspector globally (if not already installed):
npm install -g @anthropic-ai/mcp-inspectorLaunch the MCP Inspector and connect to your local BioMCP server:
npx @modelcontextprotocol/inspector node build/index.jsUse the inspector interface to test tools and view responses.
Using with Claude Desktop
Build the BioMCP server:
npm run buildConfigure Claude Desktop to launch the MCP server:
a. Locate your Claude Desktop config.json file (typically in your user directory)
b. Edit the config.json to include the BioMCP server build path. Example configuration:
{ "globalShortcut": "", "mcpServers": { "bio-mcp": { "command": "node", "args": [ "/path/to/your/build/index.js" ] } } }c. Replace
/path/to/your/buildwith your actual path to the project directory.Restart Claude Desktop for the changes to take effect.
You can now ask Claude questions that utilize the BioMCP tools:
"What are the key residues in the active site of PDB structure 6LU7?"
"Find proteins related to Alzheimer's disease"
Example Usage
When integrated with a compatible language model, Bio-MCP enables queries like:
"What are the key residues in the active site of PDB structure 6LU7?"
"Find proteins related to Alzheimer's disease"
Requirements
Node.js 20.0.0 or higher
TypeScript 5.0+
Compatible MCP client implementation
Testing
BioMCP includes a comprehensive testing suite with unit, integration, and end-to-end tests.
Running Tests
Run all tests:
npm testRun specific test suites:
# Unit tests only
npm run test:unit
# Integration tests only (API interactions)
npm run test:integration
# End-to-end tests only
npm run test:e2eLinting
Check code quality:
npm run lintFix linting issues automatically:
npm run lint:fixRoadmap
Expand level of detail for active site descriptions
Leverage 3-D coordinates
Tools for interfacing with literature
Tools for interfacing with computational biology models:
RFdiffusion
ProteinMPNN
ColabFold
Additional protein design and structure prediction tools
Agent-based research pipelines
Introduce client with protein visualization tools
Available Tools
2 toolsanalyze-active-siteC
Analyze the active site of a protein structure
| Name | Required | Description | Default |
|---|---|---|---|
| pdbId | Yes | The PDB ID of the protein structure to analyze (e.g., 6LU7) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't mention computational requirements, output format, error conditions, or whether the analysis is read-only or has side effects, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loaded with the core purpose, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that performs analysis. It doesn't explain what the analysis entails, what results to expect, or any behavioral context, which is inadequate for guiding an AI agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter 'pdbId'. The description adds no additional meaning beyond what the schema provides, such as examples of analysis outputs or constraints on PDB IDs, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('analyze') and target resource ('active site of a protein structure'), making the purpose understandable. However, it doesn't differentiate from the sibling tool 'search-disease-proteins' or specify what aspects of the active site are analyzed, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling 'search-disease-proteins' or other alternatives. The description implies usage for protein structure analysis but lacks explicit context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-disease-proteinsC
Search for proteins related to a disease
| Name | Required | Description | Default |
|---|---|---|---|
| disease | Yes | Disease name (e.g., 'covid', 'alzheimer's') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does ('Search for proteins') without describing how it behaves—no information about response format, pagination, error handling, rate limits, authentication requirements, or whether it's a read-only or mutating operation. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core functionality, making it efficient and easy to parse, though this conciseness comes at the cost of completeness in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what the search returns (e.g., protein names, IDs, relevance scores), how results are structured, or any behavioral aspects. For a search tool with no structured output documentation, the description should provide more context about the expected results and operational characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'disease' fully documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema (e.g., it doesn't elaborate on search algorithms, result filtering, or disease name formatting). This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Search') and resource ('proteins related to a disease'), making it immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'analyze-active-site', which appears to be a different type of analysis tool rather than a direct alternative for searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'analyze-active-site' or any other potential tools, nor does it specify prerequisites, constraints, or typical use cases beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one analyzes protein structures (active sites), while the other searches for disease-related proteins. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the task.
Both tools use a consistent verb-noun pattern with hyphens (e.g., analyze-active-site, search-disease-proteins). This naming scheme is readable and predictable, though with only two tools, it's hard to assess full consistency across a larger set.
With only two tools, the server feels thin for a bioinformatics domain, which typically involves more operations like sequence alignment, structure prediction, or data retrieval. This limited set may not cover common workflows adequately.
The tool surface is severely incomplete for a bioinformatics server. It lacks basic operations such as fetching protein sequences, aligning sequences, predicting structures, or managing datasets. This will likely cause agent failures in handling typical tasks in this domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Protein analysis: ESM-2/ESMC embeddings, mutation scoring, landscape scans, ESMFold structure.
AI-powered bioprotocol optimization — generate, search, and manage lab protocols via MCP
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- FlicenseBqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that provides access to the AlphaFold Protein Structure Database through a rich set of tools and resources for protein structure prediction analysis.1935
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol server that enables advanced PubMed literature search, citation formatting, and research analysis through natural language interactions.1210MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides tools for interacting with the STRING database to analyze protein-protein interaction networks and functional enrichment. It enables users to map protein identifiers, retrieve interaction data, and generate biological network visualizations through natural language interfaces.113BSD 3-Clause
- FlicenseNot gradedqualityFmaintenanceModel Context Protocol server for protein binder design using BindCraft via Docker, enabling structure prediction, sequence optimization, and scoring.2
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/acashmoney/bio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server