Q1 Crafter MCP
Integrates with arXiv to search and retrieve preprints across scientific disciplines.
Integrates with Elsevier APIs for institutional access to scholarly literature and citation data.
Integrates with IEEE Xplore API to search for engineering, technology, and computer science papers.
Integrates with PubMed (NCBI) API to search biomedical and life sciences literature.
Integrates with Scopus API to search multidisciplinary academic papers, patents, and citations.
Integrates with Semantic Scholar API for AI-powered literature search and citation analysis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Q1 Crafter MCPSearch for papers on AI ethics and generate an APA 7 bibliography."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
โจ Features
Category | Highlights |
๐ Multi-Source Search | Query 18 academic APIs in parallel with smart field-based routing |
๐ Intelligent Dedup | Two-phase deduplication: exact DOI match โ fuzzy title (92% Levenshtein) |
๐น๐ท Turkish Sources | Native support for TR Dizin, DergiPark (OAI-PMH), YรK Tez Merkezi |
๐ Literature Analysis | Gap detection, keyword extraction (TF-IDF), citation validation |
๐ Visualizations | Publication trends, source distribution, citation network (Mermaid) |
๐ APA 7 Engine | Full citation formatter โ handles 1/2/3+/20+ author rules, DOI formatting |
๐ DOCX Generator | One-click manuscript generation with title page, sections, references |
โก Zero Config | Free sources work instantly; paid APIs activate when keys are provided |
Related MCP server: research-automation-mcp-server
๐ Quick Start
Installation
pip install q1-crafter-mcpConfiguration
# Copy the example env file
cp .env.example .env
# Add your API keys (optional โ free sources work without any keys!)
# Edit .env and fill in the keys you haveRun
q1-crafter-mcp๐ฅ๏ธ Claude Desktop Setup
Add to your Claude Desktop configuration file:
{
"mcpServers": {
"q1-crafter": {
"command": "python",
"args": ["-m", "q1_crafter_mcp.server"],
"env": {
"SCOPUS_API_KEY": "your-scopus-key",
"IEEE_API_KEY": "your-ieee-key",
"SPRINGER_API_KEY": "your-springer-key",
"NCBI_API_KEY": "your-pubmed-key",
"UNPAYWALL_EMAIL": "your-email@example.com"
}
}
}
}{
"mcpServers": {
"q1-crafter": {
"command": "python3",
"args": ["-m", "q1_crafter_mcp.server"],
"env": {
"SCOPUS_API_KEY": "your-scopus-key",
"IEEE_API_KEY": "your-ieee-key",
"SPRINGER_API_KEY": "your-springer-key"
}
}
}
}๐ก Tip: You don't need all API keys! Free sources (arXiv, CrossRef, OpenAlex, PubMed, etc.) work out of the box. Add paid keys to unlock more databases.
๐ง Troubleshooting
This means Claude Desktop can't find the executable. This is common on Windows because pip install puts scripts in a user directory that isn't in Claude Desktop's PATH.
Fix: Use python -m instead of the direct command (already shown in the config above). Make sure you're using:
"command": "python",
"args": ["-m", "q1_crafter_mcp.server"]Alternative fix: Use the full path to the executable:
# Find where it's installed:
pip show q1-crafter-mcp
# Look at the "Location" field, then the Scripts folder next to it
# Example: C:\Users\YourName\AppData\Roaming\Python\Python313\Scripts\q1-crafter-mcp.exeThen use that full path in your config:
"command": "C:\\Users\\YourName\\AppData\\Roaming\\Python\\Python313\\Scripts\\q1-crafter-mcp.exe"Check that the package is installed correctly:
python -m q1_crafter_mcp.serverIf you get an import error, reinstall:
pip install --force-reinstall q1-crafter-mcpFree sources (arXiv, CrossRef, OpenAlex) work without API keys
If you added API keys, verify they are correct in your Claude Desktop config
Run
check_api_statustool in Claude to see which sources are available
๐ Available Tools
๐ Search Tools
Tool | Description |
| Search up to 18 databases in parallel with smart routing |
| Look up any paper by its DOI |
| Find all papers that cite a given work |
| Get the reference list of a paper |
๐ Analysis Tools
Tool | Description |
| Identify research gaps, themes, trends, and top-cited papers |
| Bidirectional check: in-text citations โ reference list |
| TF-IDF keyword extraction with bigram support |
๐ Visualization Tools
Tool | Description |
| Paper comparison tables (Markdown, CSV, APA format) |
| Publication trend charts (base64 PNG, dark theme) |
| Citation network visualization (Mermaid diagram) |
๐ Output Tools
Tool | Description |
| Academic section scaffolding with IMRaD templates |
| APA 7th edition reference list formatter |
| Generate formatted |
| Check which API sources are available |
๐ Supported Sources
arXiv
CrossRef
OpenAlex
Europe PMC
DOAJ
BASE
Semantic Scholar
PubMed (NCBI)
CORE
Unpaywall
Scopus (Elsevier)
Web of Science
IEEE Xplore
Springer Nature
ScienceDirect
Dimensions
TR Dizin
DergiPark (OAI-PMH)
YรK Tez Merkezi
๐ Architecture
q1-crafter-mcp/
โโโ src/q1_crafter_mcp/
โ โโโ server.py # MCP server + 14 tool registrations
โ โโโ config.py # Settings & API key management
โ โโโ models.py # Pydantic data models
โ โโโ tools/
โ โโโ search/ # 18 API clients + aggregator + dedup
โ โโโ analysis/ # Gap analyzer, keywords, summarizer
โ โโโ visualization/ # Charts, tables, citation network
โ โโโ output/ # APA formatter, section writer, DOCX
โโโ tests/ # 120 unit tests
โโโ pyproject.toml
โโโ .env.exampleHow It Works
graph LR
A[Claude Desktop] -->|MCP| B[Q1 Crafter Server]
B --> C[๐ Search 18 APIs]
C --> D[๐ Deduplicate]
D --> E[๐ Analyze]
E --> F[๐ Visualize]
E --> G[๐ APA 7 Format]
G --> H[๐ .docx Output]Search โ Queries up to 18 databases in parallel, routes by field (medicine โ PubMed, CS โ Semantic Scholar)
Deduplicate โ Removes duplicates via exact DOI + fuzzy title matching (92% threshold)
Analyze โ Identifies themes, gaps, trends, and extracts keywords
Visualize โ Generates charts, tables, and citation networks
Format โ Applies APA 7th edition rules for citations and references
Output โ Assembles everything into a formatted
.docxmanuscript
๐ Usage Example
Just ask Claude naturally:
๐ฃ "Search for papers about machine learning in drug discovery from 2020-2024, analyze the results, and generate a literature review section with APA 7 citations."
Claude will automatically:
Search across available databases
Deduplicate and rank results
Analyze themes and identify gaps
Generate formatted citations
Write a structured section with proper references
๐ API Key Setup
Source | How to Get Key | Cost |
Semantic Scholar | Free | |
PubMed (NCBI) | Free | |
CORE | Free | |
Scopus | Institutional | |
IEEE Xplore | Paid | |
Springer | Free tier | |
Dimensions | Free for research |
๐งช Development
# Clone the repo
git clone https://github.com/ZaEyAsa/q1-crafter-mcp.git
cd q1-crafter-mcp
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/๐ Test Coverage
Module | Tests | What's Covered |
Models | 15 | Paper, Author, SearchConfig, serialization |
APA Formatter | 18 | In-text, references, ordering, Turkish chars |
Config | 10 | Source availability, key management |
Dedup | 9 | DOI match, fuzzy title, metadata richness |
Analysis | 18 | Gap analysis, keywords, summarizer, citations |
Visualization | 17 | Charts, tables, citation networks |
Output | 12 | Section writer, DOCX generator |
Search Base | 7 | Client lifecycle, safe_search |
Total | 120 | All passing โ |
๐ License
MIT ยฉ ZaEyAsa
Available Tools
14 toolsanalyze_literatureB
Analyze a collection of papers to identify research gaps, main themes, methodological trends, temporal patterns, and controversial topics.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | List of paper IDs to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It fails to disclose whether the tool is read-only, any rate limits, batch size constraints, or processing details, leaving the agent uninformed about safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose without waste. It could be more structured (e.g., listing outputs separately) but is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks details about the output format (e.g., whether it returns a summary, data, or report) and does not include usage prerequisites. Given the complexity of analyzing literature, the description is insufficient without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for paper_ids is generic ('List of paper IDs'). The tool description adds context that these papers will be analyzed, but does not clarify format, allowed count, or ID types. Since schema coverage is 100%, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('analyze') and resource ('collection of papers'), and lists distinct outputs (research gaps, main themes, etc.), clearly differentiating it from sibling tools like search_academic or generate_trend_chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when you have a set of papers and need to identify patterns, but it does not explicitly state when to use it versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_docxA
Assemble all sections, figures, tables, and references into a final .docx manuscript. Uses Times New Roman 12pt, double spacing, 1-inch margins (APA standard). Performs quality checks before output.
| Name | Required | Description | Default |
|---|---|---|---|
| manuscript | Yes | Complete manuscript data | |
| output_filename | No | manuscript.docx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions 'quality checks' but does not specify what they entail. It does not disclose whether the tool modifies input data or requires specific sections. Some transparency is provided (formatting, assembly), but gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each contributing essential information: purpose, formatting details, and quality assurance. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main functionality but lacks details on quality checks, error handling, and required structure of the nested manuscript object. Given no output schema, more context on return values would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by clarifying that the manuscript parameter should include sections, figures, tables, and references. The schema has 50% coverage (describes manuscript parameter only), so the description compensates by specifying the expected contents. Output_filename is not elaborated but has a default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that the tool assembles all sections, figures, tables, and references into a final .docx manuscript, with specific APA formatting. This clearly distinguishes it from siblings like 'write_section' or 'format_references_apa7'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for final assembly but does not explicitly state when to use or when not to use compared to alternatives. No prerequisites or 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_api_statusA
Check which academic API sources are currently configured and available. Shows which APIs have valid keys and which require setup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool checks configuration and availability, which implies a non-destructive read operation. However, it does not disclose details like caching, network calls, or return format. For a zero-parameter tool, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences. It front-loads the key purpose and provides specific details without unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description is sufficient to convey purpose. It could be improved by mentioning what specific APIs are checked or what the output looks like, but for a simple status check it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds no parameter information, which is fine as none exist. The input schema is empty and fully covered, so no additional value is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking which academic API sources are configured and available, and distinguishing between valid keys and those requiring setup. It uses a specific verb ('check') and resource ('academic API sources'), and differentiates well from sibling tools that perform searches, analyses, or formatting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verifying API availability before using dependent tools, but it lacks explicit guidance on when to use versus alternatives. No statements about when not to use or prerequisites are provided, which is acceptable given the tool's simplicity but could be more helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_keywordsB
Extract key terms and concepts from paper abstracts using TF-IDF and co-occurrence analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | List of paper IDs to extract keywords from | |
| max_keywords | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions the method (TF-IDF, co-occurrence) but does not disclose side effects, authentication needs, rate limits, or behavior on invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the main action, no wasted words. The purpose is immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema and no description of return format. Does not specify expected input format for paper_ids or number of keywords. Incomplete for a tool with moderate complexity and no structured output info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (paper_ids described, max_keywords not). The description adds no additional meaning beyond the schema, e.g., it doesn't clarify the range or format of max_keywords.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Extract), resource (key terms/concepts from paper abstracts), and method (TF-IDF and co-occurrence analysis). It distinguishes from siblings like search_academic or generate_trend_chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. Usage is implied by the description but lacks when-not-to-use or sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
format_references_apa7B
Format a list of papers into APA 7th Edition reference list entries. Handles all author-count rules, DOI formatting, italics, and alphabetical ordering.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | Papers to format as references |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses key behaviors (author-count rules, DOI formatting, italics, alphabetical ordering) but omits details on input validation, error handling, or output format. The disclosure is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and every sentence adds specific value. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, no output schema, and no annotations. The description does not mention what the tool returns (e.g., a formatted string, a list, etc.), leaving a significant gap for an agent to understand the full usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for paper_ids. The tool description repeats that it formats papers but adds no new semantic meaning beyond the schema's 'Papers to format as references'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool formats a list of papers into APA 7th Edition reference list entries, specifying key behaviors like handling author-count rules, DOI formatting, italics, and alphabetical ordering. This distinguishes it from sibling tools like search_academic or generate_citation_network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs. alternatives, nor does it mention prerequisites or limitations. It only implies the tool formats references but does not direct the agent on appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_citation_networkA
Visualize the citation network as a directed graph. Node size = citation count, color = year. Top 10 most influential nodes are labeled. Outputs PNG.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | Papers to include in the network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors: directed graph, specific visual mapping, output format (PNG). With no annotations, the description carries the full burden and does it well. Minor missing details (e.g., data source refresh) but sufficient for core transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. Every sentence adds value: first states the main function, second details visual encoding and output. Well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 1 parameter and no output schema or annotations, the description adequately covers the output format and key visual attributes. It lacks constraints on the paper IDs format but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'paper_ids' is described as 'Papers to include in the network'. The description adds nothing beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'visualize', the resource 'citation network as a directed graph', and provides specific encoding details (node size = citation count, color = year, top 10 labeled, outputs PNG). This distinguishes it from sibling tools like search_citations or generate_trend_chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as generate_trend_chart or analyze_literature. The description implies usage through its name, but lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_comparison_tableA
Create a comparison table of selected papers across specified dimensions (e.g., method, sample size, findings). Outputs a PNG image.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | Papers to include in the table | |
| columns | No | Columns to compare (e.g., 'Method', 'Dataset', 'Results') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only mentions output format (PNG) but lacks details on limits, side effects, or required permissions. Minimal behavioral disclosure beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. Every word adds value, front-loading the purpose and output format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description is fairly complete. It specifies the output type (PNG), but could mention limitations like max papers or column count. Still, it covers the essential use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds example dimensions (e.g., method, sample size, findings) that enhance the 'columns' parameter beyond the schema's simple description. With 100% schema coverage, baseline is 3, but the example raises it to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a comparison table and outputs a PNG image. The verb 'create' and resource 'comparison table' are specific, and the output format distinguishes it from siblings like generate_trend_chart or analyze_literature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like generate_trend_chart or analyze_literature. Does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_trend_chartA
Generate publication trend charts โ yearly counts, citation distributions, source breakdown, and journal quartile distribution. Outputs PNG images.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_ids | Yes | Papers to visualize | |
| chart_type | No | publication_trend |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the output format (PNG images) and lists chart types, providing adequate transparency for a read-like chart generation tool. No contradictions with annotations exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely conciseโjust two sentences. It conveys essential functionality and output format without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple parameters and no output schema, the description adequately covers chart types, output format, and file type. It lacks details like maximum paper_ids or how the image is returned, but remains sufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%. The description adds value by mapping enum values ('publication_trend', etc.) to their real-world meanings (yearly counts, citation distributions), supplementing the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates publication trend charts with specific chart types (yearly counts, citation distributions, etc.), distinguishing it from sibling tools like generate_citation_network and generate_comparison_table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives such as generate_citation_network or generate_comparison_table. The agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_academicA
Search across 15+ academic databases in parallel. Returns deduplicated papers with metadata, DOIs, citations, and open access info. Supports year filtering, field selection, and language preferences.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query (e.g. 'machine learning in healthcare') | |
| max_results | No | Total target number of results | |
| year_from | No | Filter: earliest publication year | |
| year_to | No | Filter: latest publication year | |
| field | No | Academic field (medicine, engineering, social_sciences, etc.) | |
| language | No | Language filter (en, tr, all) | en |
| sources | No | Specific sources to query (omit for all available) | |
| open_access_only | No | Only return open access papers |
TDQS
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 key behaviors like parallel search and deduplication, but lacks details on rate limits, auth needs, or potential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences with no fluff. First sentence states core action, second adds details. Perfectly sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 8 parameters and no output schema, the description covers behavior, key features, and result content. Missing details on pagination or result structure, but still fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds no new parameter-specific meaning beyond summarizing filter options, which is already evident from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches academic databases and returns deduplicated papers with metadata. It distinguishes from siblings like search_by_doi and search_citations which are more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions parallel search, deduplication, and filter options, providing clear context for when to use. However, it does not explicitly state when not to use or mention alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_doiA
Look up a single paper by its DOI. Returns full metadata from CrossRef, Unpaywall, and other sources.
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes | The DOI to look up (e.g. '10.1234/example') |
TDQS
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 the sources but does not mention error handling (e.g., invalid DOI), rate limits, or data freshness. This is adequate for a simple lookup but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with the key action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is largely sufficient. It explains what it does and the data sources. Minor gap: no mention of output format or edge cases, but acceptable for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully describes the DOI parameter. The description adds no additional semantics beyond stating the tool's purpose. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Look up a single paper by its DOI' with specific sources (CrossRef, Unpaywall, other). This distinguishes it from sibling tools like search_academic, which likely handle broader queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use: when you have a specific DOI. It does not explicitly exclude alternative tools, but the purpose is clear enough to differentiate from other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_citationsB
Find papers that cite a given paper (backward citation tracking). Useful for tracing research impact.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | Internal paper ID or DOI | |
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the basic operation without mentioning output format, error handling, rate limits, or whether it requires authentication, leaving significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core action and added context about usefulness. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description lacks details about return values, default behavior, error states, and how links are generated, leaving ambiguity for an agent. The absence of both output schema and behavioral annotations increases the need for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (paper_id has a description, max_results does not). The description adds no additional parameter meaning beyond the schema, so it meets the baseline for this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds papers citing a given paper (backward citation tracking). It uses a specific verb-resource pair ('Find papers that cite') and distinguishes itself from siblings like search_references and search_academic by focusing on backward tracking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Useful for tracing research impact', implying when to use, but provides no explicit guidance on when not to use or alternatives like search_references or generate_citation_network.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_referencesB
Get the reference list of a given paper (forward citation tracking). Shows what papers the given paper cites.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | Internal paper ID or DOI | |
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states the operation (get references) without disclosing additional behaviors like pagination, rate limits, or idempotency. The tool appears safe (read-only), but the description does not confirm this explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The main action and clarification fit in a single line, and the purpose is front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is adequate but minimal. It does not specify the format of the returned reference list or mention the optional max_results parameter. Sibling tools like search_citations remain ambiguous, but the core behavior is communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only paper_id has a description). The description adds no extra meaning beyond the schema; it does not explain max_results's purpose or constraints. Given the low coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'reference list of a given paper'. It explicitly mentions 'forward citation tracking' and 'what papers the given paper cites', which distinguishes it from sibling tools like search_citations that likely handle the reverse direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as search_citations or search_academic. The description does not provide when-not-to-use instructions or compare to siblings, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_citationsA
Bidirectional validation between in-text citations and the references list. Detects orphan citations, missing references, malformed entries, and DOI issues.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The manuscript text containing in-text citations | |
| references | Yes | List of reference objects |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It lists detection capabilities but does not disclose that the tool is read-only, nor does it mention any side effects, authorization needs, or error handling. 'Bidirectional validation' is clear 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. Every word is necessary and no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not mention the return format (e.g., list of issues). For a validation tool, the agent would benefit from knowing what the output looks like. The description is incomplete in this regard.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds 'manuscript text' and 'reference objects' context. However, it does not detail the expected structure of reference objects (e.g., fields like author, title, year), which would add value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs bidirectional validation between in-text citations and references, listing specific issues (orphan citations, missing references, malformed entries, DOI issues). This distinguishes it from siblings like search_citations or analyze_literature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for citation validation but does not explicitly state when to use it vs. alternatives like format_references_apa7 or generate_citation_network. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_sectionC
Write a specific section of the manuscript in formal academic style with proper in-text citations. Sections: introduction, literature_review, methodology, results, discussion, conclusion.
| Name | Required | Description | Default |
|---|---|---|---|
| section | Yes | ||
| paper_ids | Yes | Source papers to reference | |
| instructions | No | Additional writing instructions | |
| word_count_target | No | ||
| language | No | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It mentions 'formal academic style' and 'citations' but does not describe potential side effects (e.g., overwriting existing section content), required permissions, or failure modes. For a writing tool, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that includes the key action and lists section options. It is efficient but could benefit from front-loading the most critical information (e.g., mandatory input).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values, usage constraints, or how it integrates with sibling tools like 'format_references_apa7' or 'validate_citations'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40% (2 of 5 params have descriptions). The description adds no additional meaning beyond the schemaโit repeats the section list but does not explain 'language', 'instructions', or the relationship between 'paper_ids' and citations. It fails to compensate for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Write a specific section of the manuscript in formal academic style with proper in-text citations' and lists possible section values. This clearly defines the action and resource, distinguishing it from sibling tools like 'analyze_literature' or 'generate_comparison_table'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives such as 'build_docx' or 'validate_citations'. The description lacks context for appropriate usage or prerequisites.
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.
14 tool updates
v0.1.0- First observed
analyze_literature - First observed
build_docx - First observed
check_api_status - First observed
extract_keywords - First observed
format_references_apa7 - First observed
generate_citation_network - First observed
generate_comparison_table - First observed
generate_trend_chart - First observed
search_academic - First observed
search_by_doi - First observed
search_citations - First observed
search_references - First observed
validate_citations - First observed
write_section
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose covering different aspects of academic research and manuscript creation. There is no overlap or ambiguity between tools like search_academic, search_by_doi, search_citations, and search_references.
All 14 tools follow a consistent verb_noun naming pattern (e.g., analyze_literature, build_docx, validate_citations), making it easy to infer functionality from the name.
14 tools are well-scoped for the server's purpose of academic literature analysis and manuscript generation. Each tool contributes meaningfully without being excessive or insufficient.
The tool set covers the full workflow: searching literature, analyzing trends, generating visualizations, writing sections, formatting references, building final document, and validating citations. No obvious gaps are present.
Maintenance
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Real-time web and scholarly search with cited answers and multi-step deep research.
Autonomous research agent that pays every source it cites in USDC on Arc via x402 micropayments.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables searching, downloading, and exporting academic papers from 20+ scholarly sources including arXiv, PubMed, and Semantic Scholar. Supports multi-source concurrent search, citation network tracing, and export to CSV, RIS, and BibTeX.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables autonomous research by integrating multiple free sources including web search, Wikipedia, arXiv, and Crossref, with no API keys required.MIT
- FlicenseBqualityDmaintenanceEnables automatic literature discovery, screening, and ranking across OpenAlex, Semantic Scholar, and arXiv, with tools for exporting to Zotero and generating research ideas.71-
- FlicenseNot gradedqualityFmaintenanceAutomates literature review, research gap detection, and novelty evaluation for academic research, providing tools to search, summarize, find gaps, generate ideas, and evaluate novelty.-