IEEE Xplore论文检索与阅读MCP服务器

ieee-xplore-mcp是一款本地运行的MCP服务器,让AI助手能够搜索IEEE期刊与会议论文、获取元数据、追踪引用关系、阅读开放获取或通过机构代理访问的全文,并生成BibTeX等引用格式,适用于学术文献检索与引用管理场景。

  • by danieltyukov
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 danieltyukov/ieee-mcp

使用说明

Search, cite and read IEEE Xplore papers from your AI assistant.
No IEEE API key needed. Paywalled full text through your university library.

Website · Quick start · Tools · Changelog

What it does

ieee-xplore-mcp is an MCP server that runs on your machine and lets Claude Code, Claude Desktop, Cursor, VS Code, Codex or any other MCP client work with IEEE literature:

  • search IEEE journals, conferences, standards and books with boolean queries, author, venue, affiliation and year filters, or by meaning (semantic search)
  • get full metadata: authors with affiliations, venue, identifiers, citation counts, open-access status, abstract
  • follow the citation graph: papers citing a paper, its reference list, related papers
  • read the full text of a paper, from an open-access copy or through your institution's proxy, and save the PDF
  • produce BibTeX, RIS, CSL-JSON or formatted IEEE, APA, Chicago, Harvard and MLA references

Things you can ask once it is connected:

  • Find the most cited IEEE papers on chopper-stabilised amplifiers since 2018.
  • What has Kofi Makinwa published in JSSC in the last three years?
  • Read the second result and summarise its architecture section.
  • Which recent papers cite this one, and what did they improve?
  • Give me BibTeX for these five DOIs.

Quick start

npm install -g https://github.com/danieltyukov/ieee-mcp/releases/latest/download/ieee-xplore-mcp.tgz
claude mcp add ieee-xplore -s user -- ieee-xplore-mcp

That is enough to search, follow citations, cite and read open-access papers. Add a free OpenAlex key for reliable search and your library's proxy for paywalled full text (see Configure and Institutional access).

Install

Requires Node 20 or newer.

npm install -g https://github.com/danieltyukov/ieee-mcp/releases/latest/download/ieee-xplore-mcp.tgz
ieee-xplore-mcp status

From source:

git clone https://github.com/danieltyukov/ieee-mcp.git
cd ieee-mcp && npm ci && npm run build && npm link

Configure

Everything is optional; with no configuration the server searches OpenAlex and reads open-access papers.

Variable Purpose
OPENALEX_API_KEY Recommended. Free key from openalex.org/settings/api. Without it OpenAlex rate-limits searches heavily.
IEEE_PROXY_URL Your library's proxied IEEE Xplore address, for paywalled full text. Open IEEE Xplore through your library's website and copy the address, e.g. https://ieeexplore-ieee-org.tudelft.idm.oclc.org.
IEEE_API_KEY Optional IEEE Xplore API key. Adds IEEE-native search filters (conference vs journal, early access, index terms) and patent citation counts.
IEEE_MCP_EMAIL Contact address sent to OpenAlex and doi.org, as they ask of API clients.
IEEE_MCP_PROXY_DAILY_LIMIT Maximum PDFs fetched through the proxy per day. Default 40.
IEEE_MCP_DOWNLOAD_DIR Where download_pdf saves files. Default ~/Downloads/ieee-papers.
IEEE_MCP_HOME Data directory for the session, cache and browser profile. Default ~/.ieee-mcp.
IEEE_MCP_BROWSER Browser executable for sign-in, if auto-detection picks the wrong one.
IEEE_MCP_DEBUG Set to 1 to log requests to stderr. Keys are redacted.

Connect a client

Claude Code, available in every project:

claude mcp add ieee-xplore -s user \
  -e OPENALEX_API_KEY=your-key \
  -e IEEE_PROXY_URL=https://ieeexplore-ieee-org.tudelft.idm.oclc.org \
  -- ieee-xplore-mcp

Claude Desktop, Cursor and most other clients take the same JSON block (claude_desktop_config.json, ~/.cursor/mcp.json, ...):

{
  "mcpServers": {
    "ieee-xplore": {
      "command": "ieee-xplore-mcp",
      "env": {
        "OPENALEX_API_KEY": "your-key",
        "IEEE_PROXY_URL": "https://ieeexplore-ieee-org.tudelft.idm.oclc.org"
      }
    }
  }
}

VS Code, Codex and troubleshooting are covered in docs/clients.md.

Institutional access

If your university subscribes to IEEE Xplore through a proxy (EZproxy or OCLC), the server can read paywalled papers the way you would in a browser:

  1. Set IEEE_PROXY_URL as above.
  2. Run ieee-xplore-mcp login. A browser window opens on your library's sign-in page. Sign in as usual, including MFA. The window closes once IEEE Xplore loads.
  3. read_paper and download_pdf now fetch PDFs through the proxy. When the proxy session expires, the server renews it silently from the saved browser profile; if your university asks for a password again, tools report AUTH_REQUIRED and you run login once more (or ask the assistant to use the sign_in tool).

Your library licence allows personal use and forbids systematic downloading. The server fetches one paper per request, spaces proxy downloads at least 10 seconds apart, caps them per day, and caches every paper so rereading costs nothing. It has no bulk download tool. Please keep it that way; excessive downloading can get your whole institution blocked.

Tools

Tool What it does
search_papers Keyword, boolean or semantic search with author, venue, affiliation, year, type and OA filters.
get_paper Full metadata and abstract for a DOI, IEEE article number, Xplore URL or OpenAlex id.
get_citing_papers Papers that cite a paper, sortable by citations or date.
get_references A paper's reference list.
get_related_papers Closely related papers.
read_paper Full text in chunks, from an open-access copy or the institutional proxy.
download_pdf Save one paper's PDF to disk.
cite_paper BibTeX, RIS, CSL-JSON or formatted references for up to 50 papers.
status Which keys and access paths are configured and working.
sign_in Open the proxy sign-in window.

There is also a literature_review prompt that walks the assistant through a structured survey of a topic. Input fields for every tool are listed in docs/tools.md.

Where the data comes from

Source Used for
OpenAlex, restricted to IEEE Search, metadata, abstracts, citations, references, related work, open-access locations.
IEEE Xplore API, if a key is set Search with IEEE's own filters, IEEE index terms, patent citations.
doi.org IEEE article numbers for DOIs, and citation formatting.
Your institution's proxy PDFs of paywalled papers.

Only documented public APIs are used for metadata; the server does not scrape IEEE Xplore pages. Every search result says which source answered. When the IEEE key is rejected (IEEE deactivates idle keys with 403 Developer Inactive) or its daily quota is used up, the server switches to OpenAlex for the rest of the session and tells you.

Known limits without an IEEE key:

  • OpenAlex files most IEEE conference proceedings as journals, so the conference/journal filter is only available with an IEEE key. Use venue to target a specific conference or journal.
  • A bare IEEE article number can only be turned into metadata with an IEEE key. DOIs, Xplore URLs with a DOI, and OpenAlex ids work without one, and read_paper accepts article numbers either way.
  • OpenAlex occasionally attaches another work's abstract or PDF to a record. Open-access PDFs are checked against the paper's title before use, and get_paper flags abstracts that do not match the title.

Privacy

Everything runs locally; there is no hosted service. The proxy session cookies and the browser profile live under ~/.ieee-mcp with owner-only permissions and never reach the model. Your password and MFA are only ever typed into your university's own sign-in page; decline if the sign-in window offers to save the password, since that profile is protected only by file permissions. download_pdf writes only inside your home directory, never into hidden folders, and never overwrites a file. ieee-xplore-mcp logout removes the session and profile; ieee-xplore-mcp cache clear removes cached papers.

Upgrading from 1.x

2.0 is a rewrite. Tool names changed (search_by_author and search_by_publication are now filters of search_papers; get_paper_details is get_paper; get_paper_citations is get_citing_papers; get_full_text is read_paper), IEEE_API_KEY is optional, and IEEE_AUTH_TOKEN is replaced by institutional proxy access. See CHANGELOG.md.

Development

npm ci
npm run check          # typecheck, lint, tests, build
npm run dev -- status  # run the CLI from source
npm run test:live      # talk to the real services

Unit tests use recorded fixtures and a mocked fetch, so they run offline. The design is described in docs/design.md. Contributions are welcome; see CONTRIBUTING.md. Security issues go through SECURITY.md.

License

MIT. See LICENSE. Not affiliated with IEEE, OpenAlex or any university.