Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Ieee Research

FreeNot checked

MCP server for searching IEEE Xplore, arXiv, ACM (via CrossRef), and a local PDF library — for use with Copilot CLI, Claude Desktop, and other MCP clients.

GitHubEmbed

About

MCP server for searching IEEE Xplore, arXiv, ACM (via CrossRef), and a local PDF library — for use with Copilot CLI, Claude Desktop, and other MCP clients.

README

A Model Context Protocol server that lets LLM agents search academic literature across IEEE Xplore, arXiv, ACM Digital Library (via CrossRef), and a local PDF library of papers you've already downloaded.

Designed to plug into MCP clients like the GitHub Copilot CLI, Claude Desktop, Cursor, Zed, and others.

⚠️ This server only uses official, sanctioned APIs and your local files. It does not bypass paywalls. For paywalled full text you still need a subscription (institutional or personal); the server returns metadata and abstracts, plus URLs/DOIs you can resolve through your own access.

Features

Tool Source Auth
search_arxiv arXiv (Atom API) none
search_acm ACM Digital Library metadata via CrossRef (member 320) none
search_crossref All of CrossRef none
search_ieee IEEE Xplore Metadata API free API key
search_all Fan-out across IEEE + arXiv + ACM optional IEEE key
get_doi_metadata DOI lookup via CrossRef none
index_pdf_library Walks a folder, extracts text from PDFs, caches index local
search_pdf_library Substring search with snippets across indexed PDFs local
read_pdf_text Extracts text from a single PDF local

Install

git clone https://github.com/kevinzhao-tech/ieee-research-mcp
cd ieee-research-mcp
uv sync          # installs into .venv
cp .env.example .env
$EDITOR .env     # set IEEE_XPLORE_API_KEY (optional) and CONTACT_EMAIL

Requires Python 3.12+ and uv.

Getting an IEEE Xplore API key

The IEEE Xplore Metadata API is free but gated. Approval typically takes a few business days.

  1. Create an account at https://developer.ieee.org/.

  2. Click Get a free API key and request Xplore Metadata API access. Briefly describe your use case ("personal research assistant tooling" is fine).

  3. Once approved, copy the API key into your .env:

    IEEE_XPLORE_API_KEY=your_key_here
    

Without a key, every other tool still works; search_ieee and the IEEE section of search_all will return a structured error explaining how to set the key.

Running the server

uv run ieee-research-mcp

The server speaks MCP over stdio. You normally won't run it manually — your MCP client will spawn it.

Connecting to MCP clients

GitHub Copilot CLI

copilot mcp add ieee-research \
  --command "uv" \
  --args "--directory" "/absolute/path/to/ieee-research-mcp" "run" "ieee-research-mcp"

Or, in your Copilot CLI MCP config JSON:

{
  "mcpServers": {
    "ieee-research": {
      "command": "uv",
      "args": [
        "--directory", "/absolute/path/to/ieee-research-mcp",
        "run", "ieee-research-mcp"
      ]
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ieee-research": {
      "command": "uv",
      "args": [
        "--directory", "/absolute/path/to/ieee-research-mcp",
        "run", "ieee-research-mcp"
      ]
    }
  }
}

Restart Claude Desktop and the tools will appear under the 🔌 menu.

Anything else

Any MCP client that can launch a stdio server will work — point it at uv --directory <repo> run ieee-research-mcp.

Example agent prompts

  • "Find recent IEEE papers on federated learning differential privacy."
  • "Index ~/papers/distributed-systems and find passages discussing vector clocks."
  • "Look up DOI 10.1145/3650200 and summarize the abstract."
  • "Compare what arXiv and ACM say about retrieval-augmented generation in 2024."

Local PDF library

The index_pdf_library tool scans a folder recursively, extracts text from each PDF with pypdf, and writes a cache to <folder>/.pdf_index.json. Re-running skips files whose mtime hasn't changed. search_pdf_library does case-insensitive substring search and returns ranked snippets with surrounding context.

This is intentionally simple and offline — no embeddings, no external service. Ideal for keeping your downloaded subscription papers searchable without re-hitting the publisher.

Development

uv sync --extra dev
uv run pytest -q

Tests use respx to mock HTTP and reportlab (optional dev dep) to build text PDFs for the indexer tests; PDF tests are skipped if reportlab is not present.

Project layout

src/ieee_research_mcp/
├── server.py           # FastMCP server + tool registration
├── config.py           # Env loading (IEEE_XPLORE_API_KEY, CONTACT_EMAIL)
├── models.py           # Normalized Paper dataclass
├── sources/
│   ├── arxiv.py
│   ├── crossref.py     # also covers ACM via member filter
│   └── ieee.py
└── pdfs/
    └── library.py      # index, search, read

Scope and limitations

  • Metadata only for IEEE / ACM / CrossRef sources. Full text requires your own subscription and is outside the scope of this server.
  • No paywall bypass of any kind. Use your institution's proxy / personal subscription to download PDFs, then index them locally.
  • Substring search for the PDF library — not semantic / vector search. Pull requests adding an embedding-backed index are welcome.

License

MIT — see LICENSE.

from github.com/kevinzhao-tech/ieee-research-mcp

Install Ieee Research in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install ieee-research

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add ieee-research -- uvx --from git+https://github.com/kevinzhao-tech/ieee-research-mcp ieee-research-mcp

Step-by-step: how to install Ieee Research

FAQ

Is Ieee Research MCP free?

Yes, Ieee Research MCP is free — one-click install via Unyly at no cost.

Does Ieee Research need an API key?

No, Ieee Research runs without API keys or environment variables.

Is Ieee Research hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Ieee Research in Claude Desktop, Claude Code or Cursor?

Open Ieee Research on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Ieee Research with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs