# orcid-mcp-server

Отдаёт агенту данные реестра ORCID: профили исследователей, работы, аффилиации, гранты и рецензии. Нужен, когда надо разобрать автора по ORCID iD.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Автор: cyanheads
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/cyanheads/orcid-mcp-server
- Обновлён: 2026-10-18
- HTML: https://affpapa.org/nevibecode/mcp/orcid-mcp-server

## Что делает

Сервер подключается к реестру ORCID и выставляет агенту девять инструментов. Поиск идёт по структурным полям: имя, аффилиация, ключевое слово, ROR ID, DOI, PMID, номер гранта. Поля складываются через AND, а `query` добавляет сырой синтаксис Solr. Пустой поиск отклоняется, а не гоняется по всему реестру.

Дальше можно вытащить профиль с альтернативными именами и внешними идентификаторами, список работ с постраничной выдачей, аффилиации, финансирование и рецензии. Отдельный инструмент разводит неоднозначное имя автора на ранжированный список кандидатов с ORCID iD. Два ресурса — `orcid://researcher/{orcid_id}/profile` и `orcid://researcher/{orcid_id}/works` — дают стабильный контекст для промпта, тогда как инструменты удобнее для фильтрации.

Есть публичный хост `https://orcid.caseyjhand.com/mcp`, так что ключ API не нужен. Локальный запуск идёт через `npx -y @cyanheads/orcid-mcp-server` и переменные окружения `MCP_LOG_LEVEL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH`. Без Node.js в `PATH` команда `npx` не отработает. Пагинация упирается в потолок публичного API ORCID: `start` до 10 000, а страница обрывается раньше, если ответ перевалит за 64 000 байт.

## Требования
- Нужно: Node.js (команды через npx)
- Удалённый сервер: `https://orcid.caseyjhand.com/mcp`
- Переменные окружения: `MCP_LOG_LEVEL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH`, `MCP_AUTH_MODE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

1. **Командой платформы: удалённый сервер**
```bash
claude mcp add --transport http orcid-mcp-server https://orcid.caseyjhand.com/mcp
```

2. **Командой платформы**
```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
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Codex

1. **Командой платформы: удалённый сервер**
```bash
codex mcp add orcid-mcp-server --url https://orcid.caseyjhand.com/mcp
```

2. **Командой платформы**
```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
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "orcid-mcp-server": {
            "url": "https://orcid.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "orcid-mcp-server": {
            "type": "http",
            "url": "https://orcid.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Gemini CLI

1. **Командой платформы: удалённый сервер**
```bash
gemini mcp add -t http orcid-mcp-server https://orcid.caseyjhand.com/mcp
```

2. **Командой платформы**
```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
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

## Примеры запросов агенту
- Найди в ORCID исследователей с фамилией Ivanov и аффилиацией Moscow State University
- Покажи профиль и первые работы для ORCID iD `0000-0001-2345-6789`
- Разведи имя J. Smith на список кандидатов с ORCID iD

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
