Skip to main content
Glama
muslus

BioCite-MCP

by muslus

BioCite-MCP 🧬

PyPI version Python 3.10+ License: MIT MCP

BioCite-MCP is an advanced Model Context Protocol (MCP) server that acts as a real-time bridge between LLMs and academic literature databases (Europe PMC & Crossref). It eliminates citation hallucinations by forcing AI models to retrieve verified, peer-reviewed paper metadata and real DOIs directly within their workflow.


🌟 Key Features

🔍 Literature Discovery

  • search_literature: Query Europe PMC for real biological papers. Returns structured metadata including DOIs and abstracts.

  • find_related_papers: Discovers semantically related research using Europe PMC's Recommendations engine with an automated Citations/References fallback.

📝 Citation & Formatting

  • resolve_citation: Converts any DOI into publication-ready citation strings (APA or Nature style).

  • export_bibtex: Retrieves professional BibTeX entries directly via Crossref content negotiation.

🛡️ Manuscript Auditing & Support

  • audit_manuscript: Scans your text for DOIs to verify them and flags potential citations that lack DOIs.

  • summarize_paper: Fetches abstracts and prepares high-quality summarization prompts optimized for LLMs like Claude.

  • check_duplicate_citations: Uses fuzzy matching (rapidfuzz) to identify and group duplicate research in your lists.

📚 Integration

  • push_to_zotero: Seamlessly add verified papers to your Zotero library via the Web API.


Related MCP server: mcp-pubmed-server

🚀 Installation

pip install biocite-mcp

Note: For development, use pip install -e . in the repository root.


🔧 Configuration

Add biocite-mcp to your MCP host configuration (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "biocite-mcp": {
      "command": "python",
      "args": ["-m", "biocite_mcp"]
    }
  }
}

🛠️ Usage Examples

  1. Search: "Find recent papers about DREB2A drought stress in tomato."

  2. Resolve: "Format the citation for DOI 10.1093/jxb/erx393 in Nature style."

  3. Analyze: "Audit this manuscript draft for citation accuracy: [Your Text Here]" (Pro-tip: Use Claude's Filesystem MCP to read your manuscript file and pipe the content directly into this tool!)

  4. Export: "Give me the BibTeX for 10.1111/j.1365-313X.2006.02701.x"


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


Developed by ZaEyAsa — Your Advanced Agentic Bio-Citation Assistant.

Available Tools

8 tools
audit_manuscriptA

Scan a text for DOIs and citations, validating them and identifying missing DOIs.

Args: text: The manuscript text (markdown, txt, etc.) to audit.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/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. It discloses that the tool scans and validates, but it does not clarify whether it modifies anything, sends external requests, handles errors, or has rate limits. This lack of detail is a gap for a tool with no annotation support.

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 very concise—two sentences of purpose plus a parameter doc string. Every sentence is necessary and front-loaded with the main action. No fluff or repetition.

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?

The tool is simple (one parameter) and has an output schema (not shown), so the description covers the main functionality and parameter format. It does not mention the output structure, but that is handled by the output schema per guidelines.

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?

With 0% schema description coverage, the description adds significant value by explaining the 'text' parameter expects manuscript content in formats like markdown or txt. This provides context beyond the schema's name and type.

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 scans text for DOIs and citations, validates them, and identifies missing DOIs. This specific verb-resource combination distinguishes it from siblings like check_duplicate_citations or search_literature.

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 an overall audit of citations in a manuscript is needed, but it does not explicitly state when to use it versus alternatives like check_duplicate_citations or resolve_citation. No exclusions are mentioned.

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

check_duplicate_citationsA

Identify duplicate papers in a list based on DOI and Title similarity.

Args: papers_json: A JSON string containing a list of paper objects with 'title' and optional 'doi'. threshold: Similarity threshold (0-100) for title matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
papers_jsonYes
thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It mentions the matching criteria but does not specify output format, side effects, or whether the tool is read-only. The default threshold is noted but lacks explanation of consequences.

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 with two sentences: the first states the purpose, the second lists parameters. No waste, front-loaded with key information.

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?

With an output schema present, the description does not need to explain return values. It adequately covers parameters but lacks context about when to use. Given low complexity, it is sufficiently 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 description adds meaning by explaining the structure of 'papers_json' (list of objects with 'title' and optional 'doi') and the range of 'threshold' (0-100). This compensates for the 0% schema description coverage.

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 identifies duplicate papers based on DOI and title similarity, using specific verbs and resources. It distinguishes from sibling tools like 'find_related_papers' by focusing on duplicates.

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

Usage Guidelines2/5

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 does not mention prerequisites, exclusions, or typical use cases.

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

export_bibtexC

Retrieve the BibTeX citation for a given DOI.

Args: doi: The DOI of the paper to export.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full burden of behavioral disclosure. It only states the basic purpose and omits important details like auth requirements, error handling (e.g., invalid DOI), or rate limits. No side effects are mentioned but the tool is read-only.

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

Conciseness3/5

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

The description is very short (two sentences), but it is appropriately front-loaded. However, it could be more informative without increasing length significantly, such as noting output format or usage notes.

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?

Given the tool has one parameter and an output schema, the description is minimally complete. It states the input (DOI) and output (BibTeX citation). However, it lacks context about error conditions and is too brief for a tool with sibling tools that may overlap.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must add meaning. It adds that 'doi' is 'The DOI of the paper to export', which is helpful but minimal. No format, validation, or examples are provided.

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 retrieves a BibTeX citation for a given DOI, using the verb 'Retrieve' and specifying the resource. It distinguishes from siblings like 'resolve_citation' by focusing specifically on BibTeX export.

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

Usage Guidelines2/5

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

The description provides basic information but no guidance on when to use this tool over alternatives. It does not mention scenarios, prerequisites, or comparisons with sibling tools such as 'resolve_citation' or 'push_to_zotero'.

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

push_to_zoteroA

Push a paper's metadata to a Zotero library.

Args: doi: The DOI of the paper to add. zotero_key: Your Zotero API Key (Secret). library_id: Your Zotero User ID or Group ID. library_type: "user" or "group". collection_id: (Optional) ID of the collection to add the paper to.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYes
zotero_keyYes
library_idYes
library_typeNouser
collection_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description lacks details on side effects, error handling, permissions, or whether it updates duplicates. It mentions the API key is secret but omits other behavioral traits.

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

Conciseness4/5

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

The description is concise with a brief summary followed by parameter list. It is front-loaded with the purpose. Minor redundancy in the docstring format, but overall efficient.

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 tool has 5 parameters (3 required) and an output schema exists (though not shown), the description adequately covers inputs. It does not describe output, but output schema fills that gap. No mention of post-conditions, but acceptable.

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?

Schema coverage is 0%, but the description explains each parameter beyond its name: DOI is the paper's DOI, zotero_key is a secret API key, library_id is user/group ID, library_type is 'user' or 'group', collection_id is optional. This adds 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 pushes paper metadata to a Zotero library, using a specific verb and resource. It is distinct from siblings like export_bibtex or search_literature.

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 lists required parameters (DOI, API key, library ID) and optional collection, implying when to use. However, it does not explicitly compare with alternatives like export_bibtex or mention when not to use this tool.

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

resolve_citationA

Convert a known DOI into a formatted, publication-ready citation string.

Args: doi: A valid DOI string (e.g., 10.1093/jxb/erx393) style: Citation style: "apa" or "nature"

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYes
styleNoapa

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. The description discloses the core action (converting DOI to string) and style options, but does not mention side effects, authentication needs, rate limits, or error handling. The tool is simple and read-only, so lacking detail is acceptable but not exemplary.

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 very concise: one sentence for purpose, then a clear Args section. No redundant information. Every sentence adds value.

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 tool has an output schema (returning a citation string), the description covers inputs and implicitly outputs. It explains style defaults and provides an example DOI. It lacks error handling details but is sufficient for a straightforward conversion 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?

Schema has 0% description coverage, so the description carries full burden. It adds meaningful context: 'doi' is a valid DOI with an example, 'style' options are APA or Nature with default. This goes beyond the schema's titles.

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 uses a specific verb 'Convert' and identifies the resource 'known DOI' and output 'formatted, publication-ready citation string'. It clearly distinguishes from siblings like 'export_bibtex' or 'check_duplicate_citations'.

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 explicitly states when to use: for converting DOIs to citations. It mentions style options with defaults. However, it does not provide when-not-to-use or direct alternatives to other tools like 'export_bibtex'.

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

search_literatureB

Query Europe PMC to retrieve real, peer-reviewed papers matching a biological query.

Args: query: Free-text search query (e.g., "DREB2A drought stress tomato") limit: Maximum number of results to return (1-25)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

The description only mentions retrieving 'real, peer-reviewed papers', but does not disclose other behaviors like rate limits, authentication needs, or pagination behavior. With no annotations, the description carries the full burden, and it is insufficient.

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 very concise: two sentences plus a compact 'Args' block. It front-loads the purpose and wastes no words. Every part earns its place.

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 that an output schema exists, the description does not need to detail return values. It adequately covers the source (Europe PMC), output type (real, peer-reviewed papers), and basic parameter behavior. Minor gaps exist (e.g., no mention of pagination or error handling), but overall it is sufficient for a simple search tool.

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

Parameters3/5

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

The description includes a short 'Args' section that explains query as 'free-text search query' and limit as 'Maximum number of results to return (1-25)'. This adds basic meaning beyond the schema (which has 0% description coverage), but it lacks examples or elaboration on expected input formats.

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 it queries Europe PMC to retrieve real, peer-reviewed papers, with a specific verb and resource. It distinguishes itself from sibling tools like audit_manuscript or check_duplicate_citations, which serve different purposes.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when not to use, or how to choose between this and e.g., find_related_papers.

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

summarize_paperA

Fetch a paper's abstract and metadata for the LLM to summarize.

Args: doi: The DOI of the paper to summarize.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'Fetch', implying a read operation, but does not disclose behavioral traits like idempotency, rate limits, error handling, or response size. This is insufficient for a tool with no annotations.

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 (two lines) and front-loaded with the purpose. Every sentence is necessary: the first line states the action, the second documents the argument. No waste.

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 tool's simplicity (one parameter, fetching abstract/metadata) and the presence of an output schema, the description is nearly complete. It could mention that the output is structured for LLM summarization, but the output schema handles that. Slightly incomplete for a novice 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?

With 0% schema description coverage, the description adds meaning by explicitly stating 'doi: The DOI of the paper to summarize.' This clarifies the single parameter beyond its name, though additional details (e.g., format, validation) are missing. Baseline for 0% coverage is low, and the description compensates adequately.

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 it fetches a paper's abstract and metadata for summarization, using specific verb 'Fetch' and resource 'paper's abstract and metadata'. It distinguishes from sibling tools like search_literature (searching) and find_related_papers (finding related), making its purpose unambiguous.

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 implies usage when a DOI is available for summarization. However, it lacks explicit when-not-to-use or alternative tool guidance. Given clear context and no misleading statements, it earns a 4.

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

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a distinct and clearly defined purpose: scanning text for DOIs, checking duplicates, exporting citations, finding related papers, pushing to Zotero, resolving citations, searching literature, and summarizing papers. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores, e.g., 'audit_manuscript', 'export_bibtex', 'search_literature'. The naming is predictable and easy to understand.

Tool Count5/5

With 8 tools, the set is well-scoped for a citation management server. It covers essential operations without being overwhelming or too sparse.

Completeness4/5

The tools cover core citation workflows: searching, validation, export, metadata retrieval, integration with Zotero, and duplication detection. Minor gaps like batch export or import are absent but do not hinder primary use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    This MCP server provides 16 intelligent tools for searching, retrieving, and linking biomedical literature from PubMed and PMC. It enables LLM applications to perform complex queries, batch processing, and cross-database linking.
    16
    8
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A FastMCP server for the scholarly citation landscape that enables LLMs to search, cross-reference, and retrieve prior art across papers, patents, books, and standards via multiple APIs.
    22
    2
    MIT

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/muslus/biocite-mcp'

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