# orcid-mcp-server

Gives your agent the ORCID registry: researcher profiles, works, affiliations, funding and peer reviews. Handy when you need to pin down an author by ORCID iD.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: cyanheads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/cyanheads/orcid-mcp-server
- Updated: 2026-10-18
- HTML: https://affpapa.org/en/nevibecode/mcp/orcid-mcp-server

## What it does

The server talks to the ORCID registry and exposes nine tools to the agent. Search runs on structured fields — name, affiliation, keyword, ROR ID, DOI, PMID, grant number — combined with AND, while `query` accepts raw Solr syntax. An empty search is rejected instead of being run against the whole registry.

From there you can pull a profile with other names and external identifiers, a paginated works list, affiliation records, funding items and peer review activity. One tool takes an ambiguous author name and returns a ranked list of verified ORCID iD candidates. Two resources, `orcid://researcher/{orcid_id}/profile` and `orcid://researcher/{orcid_id}/works`, are meant for injecting stable context into a prompt; tools are the better fit when you need to filter or process results.

A public host at `https://orcid.caseyjhand.com/mcp` means no API key. Running it locally goes through `npx -y @cyanheads/orcid-mcp-server` with the `MCP_LOG_LEVEL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT` and `MCP_HTTP_ENDPOINT_PATH` environment variables. If Node.js is missing from `PATH`, `npx` will not run. Pagination hits the public ORCID API ceiling: `start` stops at 10,000, and a page also ends early once the response grows past 64,000 bytes.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://orcid.caseyjhand.com/mcp`
- Environment variables: `MCP_LOG_LEVEL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH`, `MCP_AUTH_MODE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http orcid-mcp-server https://orcid.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --env MCP_HTTP_HOST=<MCP_HTTP_HOST> --env MCP_HTTP_PORT=<MCP_HTTP_PORT> --env MCP_HTTP_ENDPOINT_PATH=<MCP_HTTP_ENDPOINT_PATH> --transport stdio orcid-mcp-server -- npx -y @cyanheads/orcid-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add orcid-mcp-server --url https://orcid.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add orcid-mcp-server --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --env MCP_HTTP_HOST=<MCP_HTTP_HOST> --env MCP_HTTP_PORT=<MCP_HTTP_PORT> --env MCP_HTTP_ENDPOINT_PATH=<MCP_HTTP_ENDPOINT_PATH> -- npx -y @cyanheads/orcid-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "orcid-mcp-server": {
            "url": "https://orcid.caseyjhand.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "orcid-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/orcid-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>",
                "MCP_HTTP_HOST": "<MCP_HTTP_HOST>",
                "MCP_HTTP_PORT": "<MCP_HTTP_PORT>",
                "MCP_HTTP_ENDPOINT_PATH": "<MCP_HTTP_ENDPOINT_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "orcid-mcp-server": {
            "type": "http",
            "url": "https://orcid.caseyjhand.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "orcid-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/orcid-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>",
                "MCP_HTTP_HOST": "<MCP_HTTP_HOST>",
                "MCP_HTTP_PORT": "<MCP_HTTP_PORT>",
                "MCP_HTTP_ENDPOINT_PATH": "<MCP_HTTP_ENDPOINT_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http orcid-mcp-server https://orcid.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> -e MCP_HTTP_HOST=<MCP_HTTP_HOST> -e MCP_HTTP_PORT=<MCP_HTTP_PORT> -e MCP_HTTP_ENDPOINT_PATH=<MCP_HTTP_ENDPOINT_PATH> orcid-mcp-server npx -y @cyanheads/orcid-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- find an author by family name and affiliation when the name is shared by dozens of people
- build a researcher dossier from profile, works and funding records
- check whether someone linked a specific paper to their ORCID iD by DOI or PMID
- export a publication list with offset pagination
- see which reviews and organisations a researcher took part in

## Example prompts
- Search ORCID for researchers with family name Ivanov and affiliation Moscow State University
- Show the profile and first works for ORCID iD `0000-0001-2345-6789`
- Resolve the name J. Smith into a ranked list of ORCID iD candidates

## Similar
- [YouTube Research MCP](https://affpapa.org/en/nevibecode/mcp/youtube-research-mcp.md) — MCP server · ★ 27
- [syllabus](https://affpapa.org/en/nevibecode/skills/syllabus.md) — skill · 317 installs
- [explore-code](https://affpapa.org/en/nevibecode/skills/explore-code.md) — skill · 336700 installs
- [firecrawl-research-index](https://affpapa.org/en/nevibecode/skills/firecrawl-research-index.md) — skill · 24400 installs
- [tavily-research](https://affpapa.org/en/nevibecode/skills/tavily-research.md) — skill · 22000 installs
- [parallel-deep-research](https://affpapa.org/en/nevibecode/skills/parallel-deep-research.md) — skill · 15600 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
