Research Desk MCP

Research Desk MCP

Enables AI assistants to manage structured research ideas and retrieve recent arXiv papers by idea ID, automatically generating Markdown reports.

Category
Visit Server

README

Research Desk MCP

A local-first research workflow that turns structured ideas into focused, recent literature discovery.

Research Desk is a Model Context Protocol (MCP) server that connects the earliest stage of research—capturing an idea—with one of the most repetitive stages that follows: finding relevant academic work. It gives AI assistants a reliable way to understand saved research topics, act on them by ID, and retrieve recent papers from arXiv without losing the original research context.

Project Story

Research ideas often begin as short notes scattered across documents, conversations, and bookmarks. As the collection grows, the difficult part is no longer generating ideas; it is preserving their context and repeatedly translating each one into useful literature searches.

Research Desk began with a simple question:

What if a research idea could become a durable object that an AI assistant can understand, organize, evaluate, and investigate?

The project answers that question with a lightweight MCP layer. Each idea is stored with a title, problem statement, tags, priority, status, and stable numeric ID. An AI client can then use that ID to manage the idea or discover related literature. This creates a consistent path from curiosity to evidence while keeping the researcher's data local and transparent.

The Problem

Traditional literature discovery creates several points of friction:

  • Research context must be rewritten for every new search.
  • Generic keywords often produce broad or outdated results.
  • Ideas and discovered literature live in separate systems.
  • It is difficult to track which topics are new, active, paused, or published.
  • AI assistants need a structured interface before they can act reliably on a research collection.

The Solution

Research Desk combines validated local storage, MCP-native tools, and the public arXiv API into one focused workflow.

flowchart LR
    A["Research idea<br/>Title, problem, tags"] --> B["Validated local store"]
    B --> C["Research Desk MCP"]
    C --> D["Topic-aware arXiv search"]
    D --> E["2025+ publication validation"]
    E --> F["Verified links + Markdown report"]

The saved idea remains the source of truth. Its title and tags are converted into a focused arXiv query, while the server applies both remote and local publication-date checks. Every successful search automatically produces a uniquely named Markdown report in the user's Downloads folder. The MCP response also contains structured paper metadata and canonical arXiv links.

Demo

The demonstration shows the complete literature-discovery workflow using the request:

Use find_arxiv_papers with idea_id 1 and max_results 10.

Research Desk identifies the saved topic, retrieves ten relevant arXiv papers published in 2025 or later, returns verified abstract and PDF links, and automatically saves the results as a structured Markdown report in the Downloads folder.

Watch the Research Desk MCP demo

Core Capabilities

Capability Description
Structured idea capture Stores titles, problem statements, tags, priorities, timestamps, and workflow status.
ID-driven discovery Uses a stable idea ID to search the literature and automatically export the results.
Recent-paper filtering Enforces an original arXiv publication year of 2025 or later.
Trusted links Returns canonical HTTPS abstract and PDF links hosted on arxiv.org.
Downloadable reports Creates timestamped Markdown literature reports in the user's Downloads folder.
Workflow tracking Supports ideas from initial capture through exploration, experimentation, publication, or pause.
Portfolio overview Summarizes idea counts, common tags, status distribution, and high-priority topics.
AI-native integration Exposes tools, a readable resource, and an evaluation prompt through FastMCP.

Engineering Design

The project is intentionally small, inspectable, and dependency-light.

  • Validated local storage: Every read and write checks the research-idea schema before the data is used.
  • Atomic persistence: Updates are written to a temporary file and safely replaced, reducing the risk of a partially written JSON store.
  • Deterministic retrieval: Numeric IDs avoid ambiguity when several topics use similar language.
  • Defensive date enforcement: The query begins at 2025, and every result is checked again using its original publication timestamp.
  • Safe link construction: Feed links are validated and converted into canonical arXiv HTTPS URLs.
  • Polite API access: Uncached arXiv requests are spaced by at least three seconds, and identical searches use an in-memory daily cache.
  • Non-destructive exports: Every report receives a unique timestamped filename so an existing report is never overwritten.
  • Resilient integration: Invalid IDs, malformed XML, network failures, timeouts, and upstream HTTP errors return structured responses instead of crashing the server.
  • Minimal dependency surface: HTTP requests and Atom parsing use Python's standard library; FastMCP is the only application dependency.

MCP Surface

Research Desk provides five focused tools:

  • Add a structured research idea.
  • Search existing ideas by keyword.
  • Find 2025+ arXiv papers for an idea ID and automatically export a Markdown report.
  • Update an idea's research status.
  • Generate a compact research portfolio dashboard.

It also exposes the complete idea collection as a readable MCP resource and includes a structured prompt for evaluating significance, novelty, feasibility, methodology, risks, and expected contribution.

Technology

  • Python 3.10+
  • Model Context Protocol with FastMCP
  • arXiv public API
  • Atom XML
  • Local JSON persistence
  • Python unittest

Project Structure

research_desk_mcp/
├── demo/
│   └── research_desk_mcp.mp4
├── data/
│   └── research_ideas.json
├── research_desk/
│   ├── __init__.py
│   ├── arxiv.py
│   ├── config.py
│   ├── reports.py
│   └── storage.py
├── tests/
│   └── test_server.py
├── .vscode/
│   └── mcp.json
├── server.py
├── requirements.txt
├── .gitignore
└── README.md

server.py is now a focused MCP interface. Storage, arXiv communication, report generation, and shared configuration are separated into small modules so each responsibility can be understood and tested independently.

Quality and Verification

The automated suite covers the project's highest-risk boundaries:

  • Idea creation, keyword search, status updates, and dashboard summaries.
  • Schema validation and atomic JSON persistence.
  • Query construction with the fixed 2025 start date.
  • Rejection of older publications and non-arXiv hosts.
  • Canonical abstract and PDF link generation.
  • Daily in-memory caching for repeated searches.
  • Automatic Markdown creation, report content, and non-destructive filenames.
  • Validation of unknown idea IDs and unsafe result limits.

Project Impact

This project demonstrates more than API integration. It shows how to design an AI-facing tool around a real workflow, define trust boundaries, preserve local ownership of data, and make external information predictable enough for an agent to use. The same architecture can be extended to thesis planning, systematic reviews, R&D portfolio management, or other scholarly sources with explicit provenance controls.

Future Direction

  • Relevance scoring tailored to each research problem.
  • Search-history and paper-bookmark persistence.
  • Duplicate-paper detection across related ideas.
  • Citation export for reference managers.
  • Multi-source discovery with explicit provenance controls.
  • A lightweight interface for browsing ideas and saved papers.

Acknowledgment

Thank you to arXiv for use of its open-access interoperability.

Author

Badar Rasheed Butt
Researcher

Created and developed with a focus on practical, AI-assisted workflows for modern research discovery.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured