Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Sru

БесплатноНе проверен

An MCP server that searches library catalogs worldwide using the SRU protocol, enabling bibliographic search without API keys.

GitHubEmbed

Описание

An MCP server that searches library catalogs worldwide using the SRU protocol, enabling bibliographic search without API keys.

README

An MCP server that searches library catalogs worldwide using the SRU (Search/Retrieve via URL) protocol. No API keys required — SRU is an open standard supported by national libraries, university catalogs, and consortia.

Features

  • 5 tools for LLM-driven bibliographic search
  • 7 pre-configured servers including Library of Congress, BnF, DNB, and more
  • Parses MARCXML and Dublin Core record formats
  • Supports any SRU-compliant server — pass a URL or use a built-in server ID
  • Raw CQL queries or high-level field-based search (title, author, ISBN, subject, etc.)

Quick Start

Install

pip install mcp[cli] httpx xmltodict

Run

python server.py

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sru": {
      "command": "python",
      "args": ["/path/to/sru-mcp/server.py"]
    }
  }
}

Tools

Tool Description
sru_list_servers List all pre-configured library catalog servers
sru_explain Get a server's capabilities, supported schemas, and indexes
sru_list_indexes List available search indexes on a server
sru_search Execute a raw CQL query
sru_search_books Search by title, author, ISBN, subject, publisher, year, or keyword

Example Usage

Search the Library of Congress for books by Melville:

sru_search_books(server="loc", author="Melville", title="Moby Dick")

Search the French national library with a raw CQL query:

sru_search(server="bnf", cql_query='dc.title = "Les Misérables"')

Pre-configured Servers

ID Name Notes
loc Library of Congress US national catalog
loc-names LC Name Authority Personal and corporate names
loc-subjects LC Subject Authority Subject headings and genre terms
bnf Bibliothèque nationale de France French national library
dnb Deutsche Nationalbibliothek German national library
kb Koninklijke Bibliotheek Netherlands national library
bibsys BIBSYS Norwegian academic libraries

To add a server, edit servers.json.

Development

# Install dev dependencies
pip install pytest pytest-asyncio respx

# Run tests
python3 -m pytest test_sru.py test_server.py -v

# Test with MCP Inspector
npx @modelcontextprotocol/inspector python server.py

Project Structure

server.py       FastMCP server — tool definitions
sru.py          SRU protocol client — HTTP, parsing, formatting
servers.json    Server registry
test_sru.py     Tests for sru.py (92 tests total)
test_server.py  Tests for server.py

License

MIT

from github.com/codefzer/sru-mcp

Установка Sru

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/codefzer/sru-mcp

FAQ

Sru MCP бесплатный?

Да, Sru MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Sru?

Нет, Sru работает без API-ключей и переменных окружения.

Sru — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Sru в Claude Desktop, Claude Code или Cursor?

Открой Sru на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Sru with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development