Skip to main content
Glama

๐Ÿงฌ SciAgent (mcp-server-bioscience)

English | ็ฎ€ไฝ“ไธญๆ–‡

MCP Standard Python 3.10+ License: MIT Glama

SciAgent (BioScience MCP Server) is a high-performance, security-focused Model Context Protocol (MCP) server that empowers AI Agents with cutting-edge biological, medical, and scientific capabilities.

By connecting your AI Assistant (Claude Desktop, Cursor, Claude Code, Aider, etc.) to SciAgent, you eliminate AI hallucinations regarding scientific facts and instantly grant it the ability to interact with real-world, authoritative scientific databases.


๐ŸŒŸ Core Capabilities

  • ๐Ÿ“š Academic Literature Mining: Direct access to PubMed and Europe PMC for the latest peer-reviewed papers.

  • ๐Ÿฅ Clinical Trials Data: Query global clinical trial data from ClinicalTrials.gov by disease, drug, phase, or status.

  • ๐Ÿงฌ Genomic Data Analysis: Query genetic variants, gene coordinates, and metadata from Ensembl and dbSNP.

  • ๐Ÿงช Drug Discovery: Fetch molecule properties and drug targets from ChEMBL.

  • ๐Ÿ”ฌ Structural Biology: Retrieve and analyze 3D protein structures directly from AlphaFold and UniProt.


Related MCP server: grant-mcp

๐Ÿ—๏ธ Architecture

graph LR
    A[AI Agent<br/>Claude/Cursor] <-->|Model Context Protocol| B((SciAgent<br/>MCP Server))
    B <--> C[(PubMed)]
    B <--> D[(AlphaFold)]
    B <--> E[(ChEMBL)]
    B <--> F[(Ensembl)]
    style B fill:#2b5c8f,stroke:#fff,stroke-width:2px,color:#fff

๐Ÿ›ก๏ธ Built for AI Safety (Codex Security Ready)

When AI processes third-party biological data (such as parsing massive PDB files or reading unverified scientific texts), it is highly susceptible to Prompt Injection and Context Overflow.

SciAgent is engineered with a security-first approach:

  • Sanitizer Middleware: Strictly validates API responses.

  • Context Management: Truncates and summarizes massive biological payloads before handing data back to the LLM.


๐Ÿš€ Quick Start

1. Installation

This package requires uv or pip. We highly recommend using uv for maximum speed.

# Clone the repository
git clone https://github.com/wangshuaifbj-collab/mcp-server-bioscience.git
cd mcp-server-bioscience

# Install
uv pip install -e .

(Ensure that the mcp-bioscience executable is added to your system's PATH after installation).

2. Connect to Your AI

For Claude Desktop

Add the following configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "bioscience": {
      "command": "mcp-bioscience"
    }
  }
}

For Cursor

  1. Go to Settings -> Features -> MCP

  2. Click + Add New MCP Server

  3. Choose command type

  4. Set Name: bioscience

  5. Set Command: mcp-bioscience

For Claude Code

Run the following command in your terminal to easily add the server:

claude mcp add bioscience -- mcp-bioscience

๐Ÿ’ฌ Example Use Case

You: "Can you find the latest papers on the mechanism of Imatinib and show me its primary protein target structure?"

Claude (powered by SciAgent):

  1. Calls search_literature (PubMed) to find the latest Imatinib papers.

  2. Calls get_gene_info to identify BCR-ABL1.

  3. Calls get_protein_structure (AlphaFold) to return the structural confidence metrics of the target.

  4. Provides you with a comprehensive, fully-cited response without hallucinations!


๐Ÿค Contributing

We welcome contributions! Whether it's adding a new database (like KEGG or GEO) or improving the existing parsers, please feel free to open a Pull Request. This project aims to be the standard bioinformatics toolkit for the global Agent ecosystem.

Available Tools

4 tools
get_chembl_moleculeA

Search the ChEMBL database for molecules and drugs by name or SMILES.

Args: query: The compound name (e.g., "aspirin") or ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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 it performs a search, but does not describe return behavior, potential multiplicity, rate limits, or read-only nature. This lack of detail leaves the agent uncertain about side effects and result scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured, with a single-sentence purpose followed by a clear Args section. Every word earns its place, and the information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter search tool with an output schema present, the description is mostly sufficient but has gaps: it does not specify what kind of results are returned (though the output schema may cover this), and it contains a slight inconsistency between 'SMILES' in the main description and 'ID' in the Args section, which could confuse the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines the 'query' field as a string, and there are no schema descriptions (0% coverage). The description compensates by stating the query can be a compound name (with example 'aspirin') or ID, and the main description also mentions SMILES, adding practical meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search'), the resource ('ChEMBL database'), and the object ('molecules and drugs'), with accepted input types ('name or SMILES'). It distinctly differentiates from sibling tools by targeting molecule/drug data rather than literature, protein structures, or gene info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this tool is for finding molecule/drug information via ChEMBL, which implicitly tells the agent when to use it versus sibling tools. However, it does not explicitly mention alternatives or exclusion cases, stopping short of the highest rating.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_gene_infoA

Look up gene details and genomic coordinates from Ensembl.

Args: gene_symbol: The gene name (e.g., "BRCA1"). species: The species name (default: "human").

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesNohuman
gene_symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden of behavioral disclosure. It states the source (Ensembl) and that it retrieves gene details and coordinates, implying a read-only operation, but it does not disclose potential issues like rate limits, authentication, or behavior for invalid gene symbols. The presence of an output schema covers return format, but other behavioral traits remain unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and stays on point: one sentence for purpose and a short list of parameters. All text serves a purpose with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with two parameters and an output schema, the description covers the essential function and parameter meanings. It does not address usage alternatives or edge cases, but given the low complexity and abundant schema information, it is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only types and defaults with no descriptions, so the description must compensate. It explains both parameters: gene_symbol is the gene name with an example, and species is the species name with a default. This adds meaningful context beyond the schema, though species could use an example or valid values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('look up') and a resource ('Ensembl'), and mentions both gene details and genomic coordinates. This distinguishes it from sibling tools that focus on literature, protein structure, and ChEMBL molecules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus its siblings, but the purpose is distinct and inferable from the name and description. No exclusions are provided, so the usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_structureA

Fetch AlphaFold 3D protein structure metadata and pLDDT confidence scores.

Args: uniprot_id: The UniProt accession ID (e.g., "P00533" for EGFR).

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the tool fetches metadata and pLDDT scores, implying a read-only operation, but does not mention error behavior, prerequisites, or any side effects. It adds some behavioral context but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one purpose sentence and one annotated parameter block. No filler or redundant content, making it easily scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (single parameter), the presence of an output schema, and the clear purpose statement, the description is complete. It does not need to describe return values since the output schema likely covers that, and the input is fully specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description compensates with an 'Args' section that explains uniprot_id as a UniProt accession ID and provides a concrete example ('P00533' for EGFR). This fully clarifies the parameter's meaning and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Fetch AlphaFold 3D protein structure metadata and pLDDT confidence scores.' This is distinct from sibling tools like search_literature or get_gene_info, as it focuses on structure data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when protein structure data is needed, but does not explicitly state when to use this tool over alternatives or mention any exclusions. It provides no guidance on complementary or alternative tools, so usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_literatureA

Search PubMed for biomedical literature and fetch abstracts. Useful for finding the latest research on diseases, drugs, or genes.

Args: query: Search keywords (e.g., "KRAS lung cancer"). max_results: Maximum number of papers to return.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It transparently states that the tool searches PubMed and fetches abstracts, covering the core behavior. However, it does not mention whether the tool is read-only, any rate limits, or limitations like only returning metadata rather than full text. This is adequate but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It opens with a one-sentence purpose, followed by a brief usage tip, and then a clear two-item argument list. Every sentence earns its place without unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (two parameters) and the presence of an output schema, the description is nearly complete. It states the source (PubMed), the purpose (search literature), and the return type (abstracts). It could be improved by noting that it is limited to PubMed and does not fetch full articles, but overall it is sufficient for a basic search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes an 'Args' section that explains both parameters: query with an example ('KRAS lung cancer') and max_results as 'Maximum number of papers to return.' This compensates for the schema's lack of property descriptions (0% coverage) and provides additional meaning beyond names and the default value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Search PubMed for biomedical literature and fetch abstracts.' It distinguishes itself from sibling tools (which focus on protein structures, genes, and molecules) by explicitly mentioning biomedical literature search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by stating it is 'Useful for finding the latest research on diseases, drugs, or genes.' While it does not explicitly mention when not to use it or list alternatives, the sibling tools are clearly focused on different domains, making the appropriate use case evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct bioscience database: PubMed for literature, AlphaFold for protein structure, Ensembl for gene info, and ChEMBL for molecules. There is no overlap in purpose or resource.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: search_literature, get_protein_structure, get_gene_info, get_chembl_molecule. The verbs 'search' and 'get' are used predictably based on the action performed.

Tool Count5/5

With just 4 tools, the server is carefully scoped to cover the most common bioscience queries. This is within the ideal range and each tool earns its place.

Completeness4/5

The set covers literature search, gene lookup, protein structure, and molecule search, providing a solid foundation for bioscience research. Missing features like variant or pathway lookup are minor gaps rather than critical dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/wangshuaifbj-collab/mcp-server-bioscience'

If you have feedback or need assistance with the MCP directory API, please join our Discord server