Q1 Crafter MCP
Automates academic research from multi-source search to APA 7 formatted .docx output.
README
<p align="center"> <img src="https://img.shields.io/badge/MCP-Server-blueviolet?style=for-the-badge&logo=anthropic" alt="MCP Server" /> <img src="https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python" /> <img src="https://img.shields.io/badge/APA_7-Compliant-success?style=for-the-badge" alt="APA 7" /> <img src="https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge" alt="License" /> </p>
<h1 align="center">๐ Q1 Crafter MCP</h1>
<p align="center"> <strong>Academic Research MCP Server for Claude Desktop</strong><br/> Automates the full research cycle โ from source discovery across 18 databases<br/> to Q1-quality, APA 7-formatted <code>.docx</code> output. </p>
<p align="center"> <a href="#-features">Features</a> โข <a href="#-quick-start">Quick Start</a> โข <a href="#%EF%B8%8F-claude-desktop-setup">Claude Desktop</a> โข <a href="#-available-tools">Tools</a> โข <a href="#-supported-sources">Sources</a> โข <a href="#-contributing">Contributing</a> </p>
โจ 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:
<details> <summary><strong>๐ Windows</strong> โ <code>%APPDATA%\Claude\claude_desktop_config.json</code></summary>
{
"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"
}
}
}
}
</details>
<details> <summary><strong>๐ macOS / Linux</strong> โ <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></summary>
{
"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"
}
}
}
}
</details>
๐ก 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
<details> <summary><strong>โ ENOENT error: <code>spawn q1-crafter-mcp ENOENT</code></strong></summary>
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"
</details>
<details> <summary><strong>โ Server disconnected immediately</strong></summary>
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
</details>
<details> <summary><strong>โ No search results returned</strong></summary>
- 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_statustool in Claude to see which sources are available
</details>
๐ 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
<table> <tr> <th>๐ Free (No Key)</th> <th>๐ Free (Key Required)</th> <th>๐๏ธ Institutional</th> <th>๐น๐ท Turkish</th> </tr> <tr> <td>
- arXiv
- CrossRef
- OpenAlex
- Europe PMC
- DOAJ
- BASE
</td> <td>
- Semantic Scholar
- PubMed (NCBI)
- CORE
- Unpaywall
</td> <td>
- Scopus (Elsevier)
- Web of Science
- IEEE Xplore
- Springer Nature
- ScienceDirect
- Dimensions
</td> <td>
- TR Dizin
- DergiPark (OAI-PMH)
- YรK Tez Merkezi
</td> </tr> </table>
๐ 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]
- 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 | 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
<p align="center"> <strong>Built with โค๏ธ for researchers who deserve better tools.</strong><br/> <sub>If this helps your research, give it a โญ on GitHub!</sub> </p>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.