q1-crafter-mcp
<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 ```bash pip install q1-crafter-mcp ``` ### Configuration ```bash # 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 ```bash 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> ```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" } } } } ``` </details> <details> <summary><strong>π macOS</strong> β <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></summary> ```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" } } } } ``` </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. --- ## π 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 ```mermaid 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](https://www.semanticscholar.org/product/api) | Free | | PubMed (NCBI) | [ncbi.nlm.nih.gov/account](https://www.ncbi.nlm.nih.gov/account/) | Free | | CORE | [core.ac.uk/services/api](https://core.ac.uk/services/api) | Free | | Scopus | [dev.elsevier.com](https://dev.elsevier.com/) | Institutional | | IEEE Xplore | [developer.ieee.org](https://developer.ieee.org/) | Paid | | Springer | [dev.springernature.com](https://dev.springernature.com/) | Free tier | | Dimensions | [dimensions.ai](https://www.dimensions.ai/scientometric-research/) | Free for research | --- ## π§ͺ Development ```bash # 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](https://github.com/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>
Security Category Deep Dive
Select a category to explore sub-categories, findings, and compliance coverage.
Compliance
Loading compliance findingsβ¦
Tools0
No tools enumerated for this server.
Security Findings0
No findings detected. This server passed all 177 detection rules.