Developers

Your AI agent connects at /mcp.

REZICS provides a remote MCP server at /mcp. An agent connects with a token you authorized. It sees tools allowed by its current permissions, and each tool maps to an HTTP operation.

Routing

MCP routes requests. It is not another write path.

Each tool call is forwarded once to its matching HTTP operation with the same token and idempotency key. That operation determines who is acting, what they can do, and how much of the request limit they use.

Text from works and web pages is always treated as data, never as instructions.

A row of round holes runs through a sheet of deep blue-gray paper. A light blue strip weaves through them.

Connect

Four steps to connect

  • Read resource metadata

    GET /.well-known/oauth-protected-resource/mcp

    A request without a token receives 401. Its header points to this metadata, which names the authorization server and supported scopes.

  • Register and get a token

    RFC 7591 · PKCE

    An agent client can register itself, then use an authorization code with PKCE to get a token. Registration grants no access to resources.

  • List tools

    tools/list

    The list includes only tools available to this identity.

  • Call a tool

    tools/call

    The result returns the HTTP status, headers, and body unchanged. Status codes of 400 or higher are marked as errors.

One operation

An agent call reaches the same HTTP operation.

  • Code

    GET /v1/search/catalogue
      ?q=travel&limit=5
  • Agent

    {
      "name": "search_catalogue",
      "arguments": {
        "query": {
          "q": "travel",
          "limit": 5
        }
      }
    }
    Send these arguments with tools/call.

One response

operationId
  getV1SearchCatalogue
profile
  public-catalogue-ranked-v1

Example catalogue search for “travel.” The agent receives the same response wrapped in HTTP status and headers. Arguments are grouped by the HTTP operation into path, query, headers, and body.

Tools

Tool list

Tools are generated from API capability declarations. Each declaration specifies a tool name, purpose, and required scopes. Generation fails if a name is duplicated or its operation does not exist.

Browse the catalog

  • search_catalogue

    Search the catalog by keyword

    GET /v1/search/catalogue · work:read

  • read_resource

    Read a resource

    GET /v1/resources/{resource} · work:read context:read

  • resource_summaries

    Read summaries for several resources

    POST /v1/resources/summaries · work:read context:read

  • resource_relations

    Read resource relations

    GET /v1/resources/{resource}/relations · work:read

  • work_editions

    Read a work’s releases

    GET /v1/works/{id}/releases · work:read

Library

  • library_export

    Export the full library

    GET /v1/me/library-export · work:read rating:read

  • library_import_create

    Upload a library file

    POST /v1/me/library-imports · work:read library:write

  • library_import_rows

    Review each match

    GET /v1/me/library-imports/{id}/rows · work:read

  • library_import_resolve

    Choose a work for a row

    PUT /v1/me/library-imports/{id}/rows/{row} · work:read library:write

  • library_import_adopt

    Select a candidate outside the catalog

    POST /v1/me/library-imports/{id}/rows/{row}/adoptions · work:read library:write work:create

  • library_import_apply

    Apply a reviewed import

    POST /v1/me/library-imports/{id}/apply · work:read library:write collection:edit rating:read rating:submit

  • library_import_status

    Check import progress

    GET /v1/me/library-imports/{id}/apply · work:read

  • library_import_delete

    Delete the uploaded file

    DELETE /v1/me/library-imports/{id} · work:read library:write

Wiki+

  • wiki_candidates

    Match extracted names

    POST /v1/wiki/candidates · wiki:propose

  • wiki_validate

    Precheck an extraction

    POST /v1/wiki/validations · wiki:propose

  • wiki_history

    Read accepted Wiki+ content

    GET /v1/wiki/{work}/history · work:read

  • wiki_evidence

    Read sources and quotes for a claim

    GET /v1/wiki/evidence/{id} · work:read

Limits

Limits on each call

  • 30 seconds

    Time limit for each tool call.

  • 1 MiB

    Maximum size for a regular tool request. Library file uploads have a separate limit.

  • Stateless

    Each request validates its own token. The server does not keep a session.

Build your tools on one API.

Use your own code to read and write works, library entries, and community data. Every operation follows REZICS identity and authorization rules.