Skip to main content
Glama
muslus

Q1 Crafter MCP

by muslus

โœจ 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-mcp

Configuration

# 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 have

Run

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.exe

Then 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.server

If you get an import error, reinstall:

pip install --force-reinstall q1-crafter-mcp
  • Free 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_status tool in Claude to see which sources are available


๐Ÿ›  Available Tools

๐Ÿ” Search Tools

Tool

Description

search_academic

Search up to 18 databases in parallel with smart routing

search_by_doi

Look up any paper by its DOI

search_citations

Find all papers that cite a given work

search_references

Get the reference list of a paper

๐Ÿ“Š Analysis Tools

Tool

Description

analyze_literature

Identify research gaps, themes, trends, and top-cited papers

validate_citations

Bidirectional check: in-text citations โ†” reference list

extract_keywords

TF-IDF keyword extraction with bigram support

๐Ÿ“ˆ Visualization Tools

Tool

Description

generate_comparison_table

Paper comparison tables (Markdown, CSV, APA format)

generate_trend_chart

Publication trend charts (base64 PNG, dark theme)

generate_citation_network

Citation network visualization (Mermaid diagram)

๐Ÿ“ Output Tools

Tool

Description

write_section

Academic section scaffolding with IMRaD templates

format_references_apa7

APA 7th edition reference list formatter

build_docx

Generate formatted .docx manuscript

check_api_status

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.example

How 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]
  1. Search โ€” Queries up to 18 databases in parallel, routes by field (medicine โ†’ PubMed, CS โ†’ Semantic Scholar)

  2. Deduplicate โ€” Removes duplicates via exact DOI + fuzzy title matching (92% threshold)

  3. Analyze โ€” Identifies themes, gaps, trends, and extracts keywords

  4. Visualize โ€” Generates charts, tables, and citation networks

  5. Format โ€” Applies APA 7th edition rules for citations and references

  6. Output โ€” Assembles everything into a formatted .docx manuscript


๐Ÿ“– 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:

  1. Search across available databases

  2. Deduplicate and rank results

  3. Analyze themes and identify gaps

  4. Generate formatted citations

  5. Write a structured section with proper references


๐Ÿ”‘ API Key Setup

Source

How to Get Key

Cost

Semantic Scholar

semanticscholar.org/product/api

Free

PubMed (NCBI)

ncbi.nlm.nih.gov/account

Free

CORE

core.ac.uk/services/api

Free

Scopus

dev.elsevier.com

Institutional

IEEE Xplore

developer.ieee.org

Paid

Springer

dev.springernature.com

Free tier

Dimensions

dimensions.ai

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 tools
analyze_literatureB

Analyze a collection of papers to identify research gaps, main themes, methodological trends, temporal patterns, and controversial topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesList of paper IDs to analyze

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
manuscriptYesComplete manuscript data
output_filenameNomanuscript.docx

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesList of paper IDs to extract keywords from
max_keywordsNo

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesPapers to format as references

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesPapers to include in the network

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesPapers to include in the table
columnsNoColumns to compare (e.g., 'Method', 'Dataset', 'Results')

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idsYesPapers to visualize
chart_typeNopublication_trend

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

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 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query (e.g. 'machine learning in healthcare')
max_resultsNoTotal target number of results
year_fromNoFilter: earliest publication year
year_toNoFilter: latest publication year
fieldNoAcademic field (medicine, engineering, social_sciences, etc.)
languageNoLanguage filter (en, tr, all)en
sourcesNoSpecific sources to query (omit for all available)
open_access_onlyNoOnly return open access papers

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYesThe DOI to look up (e.g. '10.1234/example')

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYesInternal paper ID or DOI
max_resultsNo

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYesInternal paper ID or DOI
max_resultsNo

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe manuscript text containing in-text citations
referencesYesList of reference objects

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYes
paper_idsYesSource papers to reference
instructionsNoAdditional writing instructions
word_count_targetNo
languageNoen

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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

Given the tool has 5 parameters, 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.

Parameters2/5

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.

Purpose5/5

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.

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 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.

  1. 14 tool updatesv0.1.0
    • First observedanalyze_literature
    • First observedbuild_docx
    • First observedcheck_api_status
    • First observedextract_keywords
    • First observedformat_references_apa7
    • First observedgenerate_citation_network
    • First observedgenerate_comparison_table
    • First observedgenerate_trend_chart
    • First observedsearch_academic
    • First observedsearch_by_doi
    • First observedsearch_citations
    • First observedsearch_references
    • First observedvalidate_citations
    • First observedwrite_section

TDQS

A3.8/5.0

Scored across 14 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Appeared in Searches