Sudoc SRU MCP demo

by geraldineco.huggingface.geraldine/sudoc-sru-mcp

Search the French union catalogue through the sudoc-sru

  • Remote endpoint
  • 5 tools

Uptime

Checked  · every day

100%from 5 days of checks

Up without downtime on 4 of 4 days with data.

  • No downtime
  • Degraded
  • Down over 5 minutes
  • No data
  • Not checked yet

Response time

Median 1156 ms, slowest 5% 1321 ms for the handshake and the tool list, over 30 days.

1500 ms750 ms0

How far each check got

  • Reached the address 100%
  • Completed the handshake 100%
  • Listed its tools 100%

5 tools at the last answer.

Every day
DayResultChecksMedian
4 Nov (today)No verdict yet0–
3 NovNo downtime1of 11138 ms
2 NovNo downtime1of 11321 ms
1 NovNo downtime1of 11101 ms
31 OctNo downtime21094 ms

A failure counts as down time only when a second check five minutes later fails too. How we check

Connect to the publisher's own endpoint

Add to ~/.continue/config.yaml:

mcpServers:
  - name: "sudoc-sru-mcp"
    type: sse
    url: "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
For agents: the install prompt

Every step above as one Markdown text, for an assistant installing it for you.

# Install the MCP server Sudoc SRU MCP demo (`co.huggingface.geraldine/sudoc-sru-mcp`)

Its page: https://plug.directory/servers/co.huggingface.geraldine/sudoc-sru-mcp

It runs on the publisher's servers; the client connects to its URL.

Use the section for the person's client.

## Claude Desktop

Paste into Settings › Connectors › Add custom connector:

```text
https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse
```

## Claude Code

Run in a terminal:

```sh
claude mcp add --transport sse sudoc-sru-mcp https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse
```

## Cursor, Devin Desktop, LM Studio, Gemini CLI, oterm, ECA

Merge into the place for the person's client:

- Cursor: ~/.cursor/mcp.json
- Devin Desktop: ~/.config/devin/mcp_config.json
- LM Studio: mcp.json (Program › Install › Edit mcp.json)
- Gemini CLI: ~/.gemini/settings.json
- oterm: config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows)
- ECA: ~/.config/eca/config.json (global) or .eca/config.json in the project

```json
{
  "mcpServers": {
    "sudoc-sru-mcp": {
      "url": "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## VS Code

Merge into .vscode/mcp.json:

```json
{
  "servers": {
    "sudoc-sru-mcp": {
      "type": "sse",
      "url": "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Zed

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Cline, AnythingLLM, Augment Code

Merge into the place for the person's client:

- Cline: cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers)
- AnythingLLM: anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory
- Augment Code: Augment Settings Panel – MCP section – Import from JSON (VS Code extension)

```json
{
  "mcpServers": {
    "sudoc-sru-mcp": {
      "type": "sse",
      "url": "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Continue

Merge into ~/.continue/config.yaml:

```yaml
mcpServers:
  - name: "sudoc-sru-mcp"
    type: sse
    url: "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
```

## Goose

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Codex

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## mcp-client-cli, TUUI, BoltAI, Bob Shell, Kiro, Kiro CLI

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Agenvoy

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Amp

Merge into ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):

```json
{
  "amp.mcpServers": {
    "sudoc-sru-mcp": {
      "url": "https://geraldine-sudoc-sru-mcp.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

Then restart the client, or reload its MCP servers, and ask it to list the server's tools to confirm it started.

Tools 5

  • sudoc_sru_mcp_count_records Count the Sudoc records matching an SRU query without fetching any of them. One HTTP call with maximumRecords=1. Use it to size a corpus before a large search_sudoc, or to check that a query matches anything before refining it. Same query syntax as search_sudoc — limitations such as tdo, lan or apu must be written into `query` yourself, e.g. "edi=gallimard and lan=fre". Returns: {"source": "sudoc-sru", "command": "count_records", "total_found": int, "returned": 0, "results": [], "query": str, "url_used": str, "error": str | null}
  • sudoc_sru_mcp_lookup_by_isbn Fetch the Sudoc records carrying a given ISBN. One ISBN can match several records. Hyphens are optional: "978-2-07-041311-9" and "9782070413119" behave the same. The Sudoc `isb` index covers monographs only; for serials, query the `isn` index through search_sudoc. Returns: {"source": "sudoc-sru", "command": "lookup_by_isbn", "total_found": int, "returned": int, "isbn_queried": str, "results": [<same record shape as search_sudoc>], "error": str | null}
  • sudoc_sru_mcp_lookup_by_ppn Fetch one Sudoc record by its PPN, the catalogue's unique record identifier. Returns: {"source": "sudoc-sru", "command": "lookup_by_ppn", "total_found": int, "returned": int, "results": [<same record shape as search_sudoc>], "error": str | null}
  • sudoc_sru_mcp_scan_index Browse a Sudoc index alphabetically from a starting term (SRU `scan` operation). Use it to discover the normalized form of a term before writing an exact query, to see its variants, to understand why a query returns nothing, or to read the record count behind each term. Indexes: mti aut per org msu vma fgr msa mee nth res lva fir rec rbc pcp rpc cot tou edi col tab tco sou. Returns: {"source": "sudoc-sru", "command": "scan_index", "total_found": int, "returned": int, "index": str, "start_term": str, "results": [{"term": str | null, "count": int | null}], "error": str | null}
  • sudoc_sru_mcp_search_sudoc Search the French union catalogue Sudoc over the Abes SRU service. Returns: {"source": "sudoc-sru", "command": "search_sudoc", "total_found": int, "returned": int, "query_used": str, "results": [{"source": "sudoc", "id": str, "url": str, "ppn": str, "title": str, "authors": [str], "year": int | null, "publisher": str | null, "sudoc_url": str}], "error": str | null}

From Hugging Face Spaces. Report a problem