Academic Research MCP Server for Claude Desktop โ automates the full research cycle from source discovery to Q1-quality .docx output
Project description
๐ 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 |
|---|---|---|---|
|
|
|
|
๐ 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
Built with โค๏ธ for researchers who deserve better tools.
If this helps your research, give it a โญ on GitHub!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d4a445b849c141b0e77038c7e446e7b8ca711da8a8472496f126f1693f79026
|
|
| MD5 |
75b391123179f66ce98cb04347c106a4
|
|
| BLAKE2b-256 |
e683939f978e110162143847b316823ed4c09bf8b4044a9d0dfdb7171ee920ec
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0ab34884b6f628d4cad4a3d2d36d1a0b7b12408b72671381f576765b7393f7f
|
|
| MD5 |
01cd13258ef7c7c284d84b7c11a5c0d9
|
|
| BLAKE2b-256 |
aea7f93083f7a470509e398a759428cd937e2cd7f3ee2f8f4e72e85752e64baf
|