開発者

AIエージェントは /mcp から接続。

REZICS は /mcp でリモート MCP サーバーを提供します。エージェントは認可されたトークンで接続し、現在の権限に応じたツールを確認できます。各ツールは一つの HTTP 操作に対応します。

中継

MCP は中継し、別の書き込み経路は作りません。

ツールの呼び出しは、同じトークンと冪等性キーを使って、対応する HTTP 操作に一度だけ転送されます。誰が操作するか、何ができるか、どれだけのリクエスト枠を使うかは、その操作が決定します。

ツールが読み取った作品本文やウェブページのテキストはすべてデータとして扱い、指示として扱いません。

濃い青灰色の紙に一列の丸い穴を開け、薄青色の紙帯を穴に上下交互に通しています。

接続

接続の4つの手順

  • リソースメタデータを取得

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

    トークンのないリクエストには 401 を返し、ヘッダーからメタデータを参照できるようにします。メタデータには認可サーバーと対応するスコープを記載します。

  • 登録してトークンを取得

    RFC 7591 · PKCE

    エージェントのクライアントは自分で登録し、認可コードと PKCE を使ってトークンを取得できます。登録だけではリソースへの権限は付与されません。

  • ツールを一覧表示

    tools/list

    このプロフィールで現在利用できるツールだけを表示します。

  • ツールを呼び出す

    tools/call

    HTTP ステータスコード、ヘッダー、本文をそのまま返します。ステータスコードが400以上の場合はエラーとして示します。

同じ操作

エージェントの呼び出しも、同じ HTTP 操作に転送。

  • プログラム

    GET /v1/search/catalogue
      ?q=旅&limit=5
  • エージェント

    {
      "name": "search_catalogue",
      "arguments": {
        "query": {
          "q": "旅",
          "limit": 5
        }
      }
    }
    tools/call でこの引数を送信します。

同じレスポンス

operationId
  getV1SearchCatalogue
profile
  public-catalogue-ranked-v1

「旅行」でカタログを検索する例です。エージェントも同じレスポンスを受け取り、その外側に HTTP ステータスコードとヘッダーが付きます。引数は HTTP 操作に合わせて path、query、headers、body に分かれます。

ツール

ツール一覧

ツールは API の機能宣言から生成されます。宣言にはツール名、用途、必要な権限スコープを記載します。名前が重複する場合や、対応する操作が存在しない場合は生成に失敗します。

カタログの読み取り

  • search_catalogue

    キーワードでカタログを検索

    GET /v1/search/catalogue · work:read

  • read_resource

    リソースを読み取る

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

  • resource_summaries

    複数のリソース概要を一括取得

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

  • resource_relations

    リソースの関連情報を取得

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

  • work_editions

    作品の各バージョンを取得

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

ライブラリ

  • library_export

    ライブラリ全体をエクスポート

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

  • library_import_create

    ライブラリファイルをアップロード

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

  • library_import_rows

    照合結果を1行ずつ確認

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

  • library_import_resolve

    行に作品を指定

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

  • library_import_adopt

    カタログ外の候補作品を採用

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

  • library_import_apply

    確認済みのインポートを適用

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

  • library_import_status

    インポートの進行状況を確認

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

  • library_import_delete

    アップロードしたファイルを削除

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

Wiki

  • wiki_candidates

    抽出した名前を照合

    POST /v1/wiki/candidates · wiki:propose

  • wiki_validate

    抽出結果を事前検証

    POST /v1/wiki/validations · wiki:propose

  • wiki_history

    採用済みの Wiki 内容を取得

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

  • wiki_evidence

    主張の出典と引用を取得

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

上限

呼び出しごとの制限

  • 30秒

    各ツール呼び出しのタイムアウト。

  • 1 MiB

    通常のツールリクエストのサイズ上限。ライブラリファイルのアップロードは別枠です。

  • ステートレス

    リクエストごとにトークンを確認し、サーバーにセッションを保持しません。

同じ API で、自分のツールを開発。

自分のプログラムから作品、ライブラリ、コミュニティの情報を読み書きできます。すべての操作に REZICS のプロフィールと認可ルールを適用します。