Skip to main content
Glama

ARTL-MCP: All Roads to Literature

An MCP (Model Context Protocol) server and CLI toolkit for comprehensive scientific literature retrieval and analysis using PMIDs, DOIs, PMCIDs, and keyword searches.

Requirements

  • Python: 3.11 or later

  • uv: Python package installer (install guide)

📖 New to artl-mcp? See PREREQUISITES.md for detailed setup instructions including Python/uv installation, MCP client setup, and more.

Related MCP server: PubMed MCP Server

Three Ways to Use ARTL-MCP

1. CLI Only (FREE - No AI Required)

Use directly from command line with just Python + uv:

uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"
  • ✅ No installation, no API keys, no costs

  • ✅ Direct access to literature databases

  • ✅ Perfect for scripting and automation

Use with any MCP-compatible AI assistant for natural language queries:

  • Claude Desktop (most popular)

  • Goose Desktop

  • Zed Editor

  • Continue (VS Code)

  • Any MCP-compatible tool

Note: You can use ANY MCP client - not just Claude! See PREREQUISITES.md for setup guides.

3. Development (Optional)

For contributors working on artl-mcp itself. See DEVELOPERS.md.

Quick Start

MCP Server with AI Assistant

Example: Claude Desktop (works with any MCP client)

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "artl-mcp": {
      "command": "uvx",
      "args": ["artl-mcp"]
    }
  }
}

Then ask Claude: "Search Europe PMC for papers about CRISPR"

Other MCP clients: Goose, Zed, Continue, etc. also work! See PREREQUISITES.md for setup guides for each client.

Standalone CLI

# Install and use CLI commands
uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli search-papers-by-keyword --query "CRISPR gene editing" --max-results 5

Core Features

🔍 Literature Search & Discovery

  • Keyword-based paper search with advanced filtering

  • Recent publication discovery

  • PubMed search with multiple output formats

📄 Metadata & Content Retrieval

  • DOI/PMID/PMCID metadata extraction

  • Abstract retrieval from PubMed

  • Full-text access via multiple sources:

    • PMC (PubMed Central) - MCP + CLI

    • Unpaywall - MCP + CLI

    • Europe PMC - MCP + CLI

    • BioC XML format - CLI only

  • PDF text extraction and processing

🔗 Identifier Management

  • Universal identifier conversion (DOI ↔ PMID ↔ PMCID)

  • Support for multiple input formats (URLs, CURIEs, raw IDs)

  • Comprehensive identifier validation

📊 Citation Networks

  • Reference analysis (papers cited BY a given paper)

  • Citation analysis (papers that CITE a given paper)

  • Citation data from CrossRef (when citation tools are enabled)

  • Related paper discovery through citation networks

💾 File Management

  • MCP Mode: Returns data directly without file saving (optimal for AI assistants)

  • CLI Mode: Full file saving with path reporting and content management

  • Content size management - large content automatically handled appropriately

  • Memory-efficient streaming for large files (PDFs, datasets)

  • Cross-platform filename sanitization

  • Multiple output formats (JSON, TXT, CSV, PDF) in CLI mode

  • Configurable directories and temp file management in CLI mode

Available MCP Tools

When running as an MCP server, you get access to 6 core tools. Note: 33 additional tools are currently disabled pending testing and stabilization (see Issues #210, #212).

🔄 MCP vs CLI Mode Differences

MCP Mode (AI assistants): Returns data directly without file saving:

{
  "data": { /* tool-specific content */ },
  "mcp_mode": true,
  "note": "Data returned directly - use CLI for file saving"
}

CLI Mode (command line): Full file saving with path reporting:

{
  "data": { /* tool-specific content */ },
  "saved_to": "/path/to/saved/file.json"
}

Currently Active MCP Tools (6):

  1. search_europepmc_papers - Search Europe PMC database for papers

  2. get_europepmc_paper_by_id - Get full metadata from Europe PMC by ID

  3. get_all_identifiers_from_europepmc - Universal ID translation via Europe PMC

  4. get_europepmc_full_text - Retrieve full text from Europe PMC

  5. get_europepmc_pdf_as_markdown - Convert Europe PMC PDFs to Markdown

  6. get_pmc_supplemental_material - Get supplementary materials from PMC

Disabled/Unavailable MCP Tools (33 tools - see issues):

The following tools are implemented but currently disabled (commented out in main.py):

  • Citation analysis tools (4 tools) - Issue #210

  • BioC full text tool (1 tool) - Issue #213

  • DOI metadata tools (3 tools) - Issue #212

  • Identifier conversion tools (4 tools) - Issue #212

  • PubMed abstract/text retrieval (5 tools) - Issue #212

  • PDF extraction tools (3 tools) - Issue #212

  • Search tools (2 tools) - Issue #212

  • Other tools (11 tools) - Issue #212

Note: CLI has 23 active commands, many corresponding to these disabled MCP tools.

CLI Commands

The artl-cli command provides access to all functionality. When using uvx, specify the package name:

# Metadata retrieval
uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli get-abstract-from-pubmed-id --pmid "23851394"

# Literature search
uvx --from artl-mcp artl-cli search-papers-by-keyword --query "machine learning" --max-results 10
uvx --from artl-mcp artl-cli search-recent-papers --query "COVID-19" --years-back 2

# Full text (requires email for some sources)
uvx --from artl-mcp artl-cli get-full-text-from-doi --doi "10.1038/nature12373" --email "user@institution.edu"

# Identifier conversion
uvx --from artl-mcp artl-cli doi-to-pmid --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli get-all-identifiers-from-europepmc --identifier "PMC3737249"

Note: Citation analysis tools are currently unavailable in both MCP and CLI. See Issue #210 for updates.

Note for local development: If you have the package installed locally with uv sync, you can use uv run artl-cli directly without the --from flag.

Configuration

Email Requirements

Several APIs require institutional email addresses.

⚠️ Important: Replace example emails with your actual institutional email address.

export ARTL_EMAIL_ADDR="researcher@university.edu"  # Replace with your real email
# or create local/.env file with: ARTL_EMAIL_ADDR=researcher@university.edu

MCP Client Configuration: Different MCP clients support configuration injection. ARTL-MCP's enhanced configuration system provides multiple methods for email setup:

  • Claude Desktop: Inherits system environment variables automatically

  • Goose Desktop: Requires MCP extension configuration (see USERS.md)

  • Other clients: May support client-specific configuration injection

See USERS.md for comprehensive configuration instructions.

File Output (CLI Mode Only)

Configure where files are saved when using CLI commands:

export ARTL_OUTPUT_DIR="~/Papers"           # Default: ~/Documents/artl-mcp
export ARTL_TEMP_DIR="/tmp/my-artl-temp"    # Default: system temp + artl-mcp
export ARTL_KEEP_TEMP_FILES=true            # Default: false

Note: MCP mode returns data directly without file saving.

Supported Identifier Formats

DOI: 10.1038/nature12373, doi:10.1038/nature12373, https://doi.org/10.1038/nature12373

PMID: 23851394, PMID:23851394, pmid:23851394

PMCID: PMC3737249, 3737249, PMC:3737249

All tools automatically detect and normalize identifier formats.

Development Setup

# Clone and install
git clone https://github.com/contextualizer-ai/artl-mcp.git
cd artl-mcp
uv sync --group dev

# Run CLI commands during development
uv run artl-cli --help
uv run artl-cli get-doi-metadata --doi "10.1038/nature12373"
uv run artl-cli search-papers-by-keyword --query "CRISPR" --max-results 5

# Run the MCP server locally
uv run artl-mcp

# Run tests
make test                    # Fast development tests
make test-coverage          # Full test suite with coverage

# Code quality
make lint                   # Ruff linting
make format                 # Black formatting
make mypy                   # Type checking

Development vs. Production Usage:

  • Developers (local repo): Use uv run artl-cli after uv sync

  • End users (no local install): Use uvx --from artl-mcp artl-cli

Optional: Claude Code CLI for Makefile Demos

⚠️ Not Required: Claude Code CLI is ONLY needed for running make claude-demos-all tests. Normal users and MCP users don't need this.

The repository includes optional MCP integration tests via Makefile targets:

make claude-demos-all  # Run all MCP demos (requires Claude Code CLI)

Requirements for demos:

  • Claude Code CLI: npm install -g @anthropic-ai/claude-code

  • Anthropic API key (pay-per-use, ~$1-2 for all demos based on current pricing – see Anthropic pricing)

See PREREQUISITES.md for setup instructions.

Documentation

  • PREREQUISITES.md - Setup guide (Python, uv, MCP clients, email config)

  • USERS.md - Comprehensive user guide with examples

  • DEVELOPERS.md - Development setup and architecture

  • CBORG.md - CBORG usage for LBL users (spending tracking)

Available Tools

6 tools
get_all_identifiers_from_europepmcC

MCP wrapper - Get all identifiers without file saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description needs to disclose behavioral traits. It only mentions 'without file saving,' but omits whether the operation is read-only, any side effects, authentication needs, or rate limits. This is insufficient for safe agentic use.

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 extremely concise at one sentence. While it avoids verbosity, it lacks critical information and does not effectively balance brevity with completeness.

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

Completeness2/5

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

Given the single parameter and lack of output schema, the description should at least mention what the tool returns and any limitations. It fails to do so, making the tool underdocumented for effective selection and invocation.

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 input schema has one required parameter 'identifier' with no description. The tool description does not explain what 'identifier' means (e.g., DOI, PubMed ID), leaving the agent with no additional semantic context beyond the schema.

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

Purpose3/5

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

The description states 'Get all identifiers without file saving,' which indicates a retrieval action and clarifies that no files are saved. However, it does not specify what entity the identifiers belong to or differentiate from sibling tools like get_europepmc_full_text or search_europepmc_papers.

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?

No usage guidance is provided. The description does not indicate when to use this tool over siblings, nor does it specify prerequisites or scenarios for use.

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

get_europepmc_full_textC

MCP wrapper - Get full text without file saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
offsetNo
limitNo

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only notes 'without file saving'. It fails to state that the tool is read-only, what format the full text is returned in, or any side effects.

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

Conciseness2/5

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

While the description is very short, it sacrifices essential information. Conciseness here leads to under-specification, making it less helpful.

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

Completeness1/5

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

Given three parameters, no output schema, and no annotations, the description is grossly inadequate. It does not explain return values, pagination (implied by offset/limit), or how to form requests.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation for the three parameters (identifier, offset, limit). The agent has no clue what values to provide.

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

Purpose3/5

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

The description 'Get full text without file saving' indicates the main action but lacks specificity about the resource (Europe PMC is implied by name). It does not differentiate from sibling tools like get_europepmc_paper_by_id or get_europepmc_pdf_as_markdown.

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?

No guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or context for invocation.

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

get_europepmc_paper_by_idC

MCP wrapper - Get Europe PMC paper metadata without file saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral transparency. It only adds 'without file saving', but does not disclose error handling, rate limits, authentication needs, or output structure. This is insufficient for a mutation-free read operation.

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 a single, front-loaded sentence, which is concise. However, it omits necessary details, making it borderline under-specified rather than efficiently complete.

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

Completeness2/5

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

Given the lack of output schema and annotations, and a single parameter, the description should cover accepted identifier formats and return structure. It does not, leading to significant gaps for correct invocation.

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

Parameters1/5

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

Schema coverage is 0%, and the parameter 'identifier' has no description. The tool description adds no meaning beyond the parameter name, leaving the agent to guess what types of identifiers are accepted (e.g., PMID, DOI, or Europe PMC ID).

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

Purpose4/5

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

The description clearly states it retrieves Europe PMC paper metadata and explicitly notes 'without file saving', distinguishing it from some sibling tools. However, it does not fully differentiate from tools that also return metadata, so it stops short of a 5.

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?

No guidance is provided on when to use this tool vs. siblings like search_europepmc_papers, get_europepmc_full_text, or get_europepmc_pdf_as_markdown. The agent is left to infer context.

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

get_europepmc_pdf_as_markdownC

MCP wrapper - Convert PDF to Markdown without file saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
extract_tablesNo
processing_methodNoauto
offsetNo
limitNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It says 'without file saving', implying in-memory conversion, but doesn't mention network dependency, output format details, or error handling. Minimal transparency.

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 single sentence is concise but overly terse. It conveys the main purpose but omits essential details, sacrificing completeness for brevity.

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

Completeness1/5

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

Given 5 parameters (1 required), no output schema, and no annotations, the description is severely incomplete. It fails to explain input requirements, parameter usage, or return format, leaving the agent to guess.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description provides no explanation for any of the 5 parameters. 'identifier' is required but undefined; 'extract_tables', 'processing_method', 'offset', and 'limit' are completely unexplained.

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

Purpose4/5

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

The description states 'Convert PDF to Markdown without file saving', which clearly identifies the action and resource. While it lacks explicit mention of Europe PMC, the tool name and sibling context imply that. It distinguishes from siblings like 'get_europepmc_full_text' (likely XML) and 'search_europepmc_papers' (search).

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?

No guidance on when to use this tool versus alternatives like 'get_europepmc_full_text'. No context on prerequisites for the identifier parameter or when conversion is appropriate.

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

get_pmc_supplemental_materialA

Gets Supplemental Material for a PubMed Central Open Access article.

Supports multiple PubMed Central ID in the following input formats:

  • Prefixed: PMC12345678

  • Numeric: 12345678

  • Prefixed with colon: PMC:12345678

Args: pmcid: PubMed Central ID in any supported format idx: The file index to retrieve offset: Character offset to start from (default: 0) limit: Maximum number of characters to return (default: None for all)

Returns: A Supplemental Material file content, optionally windowed.

Examples: >>> get_pmc_supplemental_material("PMC12345678", 1) 'Supplementary Material...' >>> get_pmc_supplemental_material("PMC:12345678", 1, offset=100, limit=500) 'Supplementary Material...'

ParametersJSON Schema
NameRequiredDescriptionDefault
pmcidYes
idxNo
offsetNo
limitNo

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?

No annotations are provided. The description does not disclose any behavioral traits such as side effects, permissions, rate limits, or error handling. It only describes the basic read operation.

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 well-structured with sections for supported formats, Args, Returns, and Examples. It is concise and front-loaded with the core purpose.

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 presence of an output schema, the description adequately covers input parameters and return type. It lacks details on error cases but is complete for the tool's complexity.

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?

Schema description coverage is 0%, but the description compensates by explaining each parameter (pmcid formats, idx as file index, offset and limit for windowing) and provides examples that clarify usage.

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 'Gets Supplemental Material for a PubMed Central Open Access article.' It specifies the resource and action, and distinguishes from sibling tools that retrieve full text or identifiers.

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 mentions supported input formats but provides no explicit guidance on when to use this tool versus siblings, nor any disqualifying conditions.

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

search_europepmc_papersA

Search Europe PMC for papers without saving results to a file.

This function wraps the _search_europepmc_papers function and disables file saving. It retrieves metadata about papers matching the given keywords.

Args: keywords (str): The search query string containing keywords to look for. max_results (int, optional): The maximum number of results to return. Defaults to 10. result_type (str, optional): The type of results to retrieve. Options include "lite" (basic metadata) and "core" (detailed metadata). Defaults to "lite".

Returns: list[dict]: A list of dictionaries, where each dictionary contains metadata about a paper matching the search query.

Example: >>> results = search_europepmc_papers("machine learning", max_results=5) >>> for paper in results: ... print(paper["title"])

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYes
max_resultsNo
result_typeNolite

TDQS

A4.2/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details such as mutability, authentication, rate limits, or side effects. It only mentions that file saving is disabled.

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 well-structured with a clear purpose, args/returns sections, and an example. It is front-loaded and concise without unnecessary text.

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?

The description covers all three parameters, explains return type and structure, and includes an example. Despite no output schema, it provides sufficient context for correct invocation.

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 description provides full parameter definitions including types, defaults, and options for result_type, which is absent from the input schema. Schema coverage is 0%, so description compensates entirely.

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 searches Europe PMC for papers, with the specific caveat of not saving results to a file. This distinguishes it from siblings that focus on identifiers, full text, or PDFs.

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 indicates it is for searching without file saving, but does not explicitly state when to use alternatives. However, sibling tools have distinct purposes, so context is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedget_all_identifiers_from_europepmc
    • First observedget_europepmc_full_text
    • First observedget_europepmc_paper_by_id
    • First observedget_europepmc_pdf_as_markdown
    • First observedget_pmc_supplemental_material
    • First observedsearch_europepmc_papers

TDQS

C2.9/5.0
Disambiguation4/5

Each tool has a distinct purpose: search, metadata retrieval, full text, PDF conversion, supplementary material, and identifier listing. However, 'get_europepmc_full_text' and 'get_europepmc_pdf_as_markdown' may cause slight ambiguity about which to use for full content.

Naming Consistency3/5

Most tools use 'get_' or 'search_' prefixes with 'europepmc' in the name, but 'get_pmc_supplemental_material' breaks the pattern by using 'pmc' instead of 'europepmc' and omitting the prefix. This inconsistency could confuse agents.

Tool Count4/5

Six tools is a reasonable number for interacting with Europe PMC. It covers essential operations without being excessive, though the scope is narrow (read-only access).

Completeness4/5

The set covers searching, metadata retrieval, full text, PDF conversion, and supplemental material. Missing are write operations (not expected here) and perhaps citation/reference tools, but overall it's well-rounded for read access.

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
    A
    quality
    D
    maintenance
    Enables multi-source literature search, full-text retrieval, reference analysis, and journal quality assessment across Europe PMC, PubMed, arXiv, CrossRef, OpenAlex, and EasyScholar via the MCP protocol.
    5
    21
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching and retrieving biomedical literature from Europe PMC, including abstracts, full-text (JATS XML), text-mined annotations, citations, references, and database cross-links, through natural language queries and automated data staging.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for NCBI PubMed E-utilities with rate limiting, enabling article search, metadata retrieval, full-text access, BibTeX generation, and bibliography management.
    -

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/contextualizer-ai/artl-mcp'

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