Skip to main content

Academic Research MCP Server for Claude Desktop โ€” automates the full research cycle from source discovery to Q1-quality .docx output

Project description

MCP Server Python APA 7 License

๐ŸŽ“ Q1 Crafter MCP

Academic Research MCP Server for Claude Desktop
Automates the full research cycle โ€” from source discovery across 18 databases
to Q1-quality, APA 7-formatted .docx output.

Features โ€ข Quick Start โ€ข Claude Desktop โ€ข Tools โ€ข Sources โ€ข Contributing


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

๐Ÿš€ 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:

๐Ÿ“‹ Windows โ€” %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "q1-crafter": {
      "command": "q1-crafter-mcp",
      "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"
      }
    }
  }
}
๐Ÿ“‹ macOS โ€” ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "q1-crafter": {
      "command": "q1-crafter-mcp",
      "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.


๐Ÿ›  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

๐Ÿ†“ Free (No Key) ๐Ÿ”‘ Free (Key Required) ๐Ÿ›๏ธ Institutional ๐Ÿ‡น๐Ÿ‡ท Turkish
  • 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


Built with โค๏ธ for researchers who deserve better tools.
If this helps your research, give it a โญ on GitHub!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

q1_crafter_mcp-0.1.0.tar.gz (51.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

q1_crafter_mcp-0.1.0-py3-none-any.whl (68.0 kB view details)

Uploaded Python 3

File details

Details for the file q1_crafter_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: q1_crafter_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 51.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for q1_crafter_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d4a445b849c141b0e77038c7e446e7b8ca711da8a8472496f126f1693f79026
MD5 75b391123179f66ce98cb04347c106a4
BLAKE2b-256 e683939f978e110162143847b316823ed4c09bf8b4044a9d0dfdb7171ee920ec

See more details on using hashes here.

File details

Details for the file q1_crafter_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: q1_crafter_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for q1_crafter_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0ab34884b6f628d4cad4a3d2d36d1a0b7b12408b72671381f576765b7393f7f
MD5 01cd13258ef7c7c284d84b7c11a5c0d9
BLAKE2b-256 aea7f93083f7a470509e398a759428cd937e2cd7f3ee2f8f4e72e85752e64baf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page