- Home
- MCP servers
- Article
Article
- python
10
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"gqy20-article-mcp": {
"command": "uvx",
"args": [
"article-mcp"
],
"env": {
"PYTHONIOENCODING": "utf-8",
"EASYSCHOLAR_SECRET_KEY": "YOUR_KEY_HERE"
}
}
}
}You can use the Article MCP Server to perform asynchronous literature searches across multiple data sources, retrieve detailed article information, extract references, analyze relationships between works, and evaluate journal quality. This MCP server integrates sources like Europe PMC, PubMed, arXiv, CrossRef, OpenAlex, and EasyScholar to provide practical, multi-source scholarly insights in a single interface.
How to use
You connect to the Article MCP Server using your MCP client and choose the available tools to perform your tasks. Start by searching for literature with broad or focused keywords, then fetch article details to obtain abstracts, authors, and identifiers. Retrieve reference lists, analyze how papers relate to one another, and optionally assess journal quality for a given publication venue. Combine multiple sources to enrich search results and obtain a comprehensive view of a topic.
How to install
Prerequisites: ensure you have the MCP runtime tooling installed on your system. You will use a local or remote MCP server configuration to run Article MCP.
# Quick install using the MCP runner
uvx article-mcp
# Or, for local development
git clone https://github.com/gqy20/article-mcp.git && cd article-mcp
uv sync
uv run python -m article_mcp
Configuration and running locally
You can configure the MCP client to connect to the Article MCP Server using the provided runtime command. For a Claude Desktop setup, use the following configuration. It runs the server via the MCP runner and passes an optional secret key for EasyScholar access.
{
"mcpServers": {
"article_mcp": {
"command": "uvx",
"args": ["article-mcp"],
"env": {
"EASYSCHOLAR_SECRET_KEY": "your_key_here"
}
}
}
}
Additional configuration notes
If you are using Cherry Studio and encounter Unicode issues, you can add an environment setting to ensure UTF-8 encoding.
{
"mcpServers": {
"article_mcp": {
"command": "uvx",
"args": ["article-mcp"],
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}
Core tools and their purposes
The server exposes a set of core tools to handle literature data across multiple sources.
Data sources and how they’re used
- Europe PMC: full text and abstracts for search, retrieval of references. Rate limit: 1 request per second.
- PubMed: abstracts for search augmentation.
- arXiv: preprints for early-stage literature search. Rate limit: up to 3 requests per call.
- CrossRef: metadata for reference lookups. Rate limit: up to 50 requests per second.
- OpenAlex: open scholarly graph for citation relations and metrics with no explicit request limit.
- EasyScholar: journal quality indicators such as impact factor and partitions, requires a configured secret key.
Usage examples
Query for literature by keyword and limit results to a small set, then request article details for a specific identifier, followed by references and relations.
Troubleshooting
Common issues and solutions include:
- cannot import 'hdrs' from 'aiohttp': update the runtime with
uv sync --upgrade. - MCP server fails to start: verify that all configured paths use absolute paths.
- API requests fail: check your network connectivity.
- Journal quality data missing: configure
EASYSCHOLAR_SECRET_KEY.
Notes on usage and data quality
This server integrates multiple sources to provide comprehensive literature insights. Be mindful of rate limits from sources like Europe PMC, arXiv, CrossRef, and EasyScholar, and ensure your API keys or tokens are properly configured where required.
Available tools
search_literature
Asynchronous multi-source literature search across Europe PMC, PubMed, arXiv, CrossRef, and OpenAlex with parameters keyword and max_results.
get_article_details
Fetch article details by identifier with support for multiple sources and fault tolerance for parameters identifiers, id_type, and sources.
get_references
Retrieve reference lists for a given article identifier from multiple sources with an optional max_results limit.
get_literature_relations
Analyze relationships between literature items using identifiers and relation_types to identify references, similar works, and other connections.
get_journal_quality
Assess journal quality by combining EasyScholar and OpenAlex data, including metrics like impact factor and h-index when available.