# libofcongress-mcp-server

Подключает поиск по фондам Библиотеки Конгресса США, газетному архиву Chronicling America с полным OCR и предметным рубрикам LCSH.

- 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/libofcongress-mcp-server
- Обновлён: 2026-10-17
- HTML: https://affpapa.org/nevibecode/mcp/libofcongress-mcp-server

## Что делает

Сервер открывает моделям доступ к оцифрованным материалам Библиотеки Конгресса США и архиву прессы Chronicling America. Внутри шесть инструментов и ресурс `libofcongress://item/{+item_id}` для передачи метаданных напрямую в контекст агента. Поиск по каталогу фильтрует записи по восьми форматам: фотографии, карты, газеты, рукописи, аудио, фильмы, книги и ноты.

Газетный поиск возвращает превью первых 500 символов распознанного OCR-текста. Чтобы прочитать страницу целиком или найти абзацы вокруг ключевого слова, вызывается отдельный инструмент `libofcongress_get_newspaper_page`. Фильтр коллекций `collection_slug` несовместим с фильтром по формату `format`. Запросы отдают до 100 записей за раз: если запросить лимит выше, сервер принудительно вернёт сотню с предупреждением.

Для подключения не обязательно разворачивать локальный процесс через Node.js. Автор держит общедоступный HTTP-сервер, поэтому Claude Code можно связать с архивом одной командой без сборки пакета на рабочей машине.

## Требования
- Нужно: Node.js (команды через npx)
- Удалённый сервер: `https://libofcongress.caseyjhand.com/mcp`
- Переменные окружения: `LOC_USER_AGENT`, `LOC_REQUEST_DELAY_MS`, `MCP_LOG_LEVEL`, `MCP_SESSION_MODE`, `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 libofcongress-mcp-server https://libofcongress.caseyjhand.com/mcp
```

2. **Командой платформы**
```bash
claude mcp add --env LOC_USER_AGENT=<LOC_USER_AGENT> --env LOC_REQUEST_DELAY_MS=<LOC_REQUEST_DELAY_MS> --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env MCP_SESSION_MODE=<MCP_SESSION_MODE> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --transport stdio libofcongress-mcp-server -- npx -y @cyanheads/libofcongress-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Codex

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

2. **Командой платформы**
```bash
codex mcp add libofcongress-mcp-server --env LOC_USER_AGENT=<LOC_USER_AGENT> --env LOC_REQUEST_DELAY_MS=<LOC_REQUEST_DELAY_MS> --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env MCP_SESSION_MODE=<MCP_SESSION_MODE> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> -- npx -y @cyanheads/libofcongress-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "libofcongress-mcp-server": {
            "url": "https://libofcongress.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "libofcongress-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/libofcongress-mcp-server"
            ],
            "env": {
                "LOC_USER_AGENT": "<LOC_USER_AGENT>",
                "LOC_REQUEST_DELAY_MS": "<LOC_REQUEST_DELAY_MS>",
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "MCP_SESSION_MODE": "<MCP_SESSION_MODE>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "libofcongress-mcp-server": {
            "type": "http",
            "url": "https://libofcongress.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "libofcongress-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/libofcongress-mcp-server"
            ],
            "env": {
                "LOC_USER_AGENT": "<LOC_USER_AGENT>",
                "LOC_REQUEST_DELAY_MS": "<LOC_REQUEST_DELAY_MS>",
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "MCP_SESSION_MODE": "<MCP_SESSION_MODE>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Gemini CLI

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

2. **Командой платформы**
```bash
gemini mcp add -e LOC_USER_AGENT=<LOC_USER_AGENT> -e LOC_REQUEST_DELAY_MS=<LOC_REQUEST_DELAY_MS> -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e MCP_SESSION_MODE=<MCP_SESSION_MODE> -e MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> libofcongress-mcp-server npx -y @cyanheads/libofcongress-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

## Когда брать
- Искать исторические документы, карты и фотографии в каталоге LOC
- Читать распознанные OCR-тексты страниц старых американских газет
- Находить точные предметные рубрики Library of Congress Subject Headings

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

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