Labsco
JackKuo666 logo

PubTator MCP Server

โ˜… 9

from JackKuo666

A server for biomedical literature annotation and relationship mining, based on PubTator3.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

PubTator MCP Server

smithery badge

๐Ÿ” A biomedical literature annotation and relationship mining server based on PubTator3, providing convenient access through the MCP interface.

PubTator MCP Server provides AI assistants with access to the PubTator3 biomedical literature annotation system through the Model Context Protocol (MCP). It allows AI models to programmatically search scientific literature, obtain annotation information, and analyze entity relationships.

๐Ÿค Contribute โ€ข ๐Ÿ“ Report Issues

โœจ Core Features

  • ๐Ÿ”Ž Literature Annotation Export: Support exporting PubTator annotation results in multiple formats โœ…
  • ๐Ÿš€ Entity ID Lookup: Query standard identifiers for biological concepts through free text โœ…
  • ๐Ÿ“Š Relationship Mining: Discover biomedical relationships between entities โœ…
  • ๐Ÿ“„ Literature Search: Support literature retrieval by keywords and entity IDs โœ…
  • ๐Ÿง  Batch Processing: Support batch export of annotation information from search results โœ…

๐Ÿ›  API Features

PubTator MCP Server provides the following core features:

1. Export Publications (export_publications)

Export PubTator annotation results for specified PMID literature:

result = await export_publications(
    ids=["32133824", "34170578"],
    id_type="pmid",
    format="biocjson",  # Supported: pubtator, biocxml, biocjson
    full_text=False     # Whether to include full text
)

2. Entity ID Lookup (find_entity_id)

Query standard identifiers for biological concepts through free text:

result = await find_entity_id(
    query="COVID-19",
    concept="disease",  # Optional: gene, disease, chemical, species, mutation
    limit=5             # Optional: limit number of results
)

Find other entities related to a specified entity:

result = await find_related_entities(
    entity_id="@DISEASE_COVID_19",
    relation_type="treat",    # Optional: treat, cause, interact, etc.
    target_entity_type="chemical",  # Optional: gene, disease, chemical
    max_results=5       # Optional: limit number of results
)

4. Literature Search (search_pubtator)

Search the PubTator database:

results = await search_pubtator(
    query="COVID-19",
    max_pages=1     # Optional: maximum number of pages to retrieve
)

Search and batch export literature annotations:

results = await batch_export_from_search(
    query="COVID-19",
    format="biocjson",
    max_pages=1,
    full_text=False,
    batch_size=5
)

Note: The actual function calls may vary depending on your implementation. These examples are based on our recent tests and may need to be adjusted to match your exact API.

๐Ÿ“„ License

This project is licensed under the MIT License.

โš ๏ธ Disclaimer

This tool is for research purposes only. Please comply with PubTator's terms of service and use this tool responsibly.