Newer
Older
TelosDB / docs / mcp_specification.md

MCP ツール詳細仕様

本 MCP サーバーが提供するツールの一覧と、その入出力仕様を定義します。

プロトコル基本情報

  • トランスポート: SSE (Server-Sent Events)
  • エンドポイント:
    • SSE Connection: GET /sse
    • Message Post: POST /messages

提供されるツール一覧

1. save_document

文章をベクトル化してデータベースに登録します。(旧: add_item_text)

  • 入力パラメータ:
    • content (string, 必須): 登録したい文章本文。
    • document_name (string, 必須): ドキュメントの出典やタイトル。
  • 動作:
    1. Sidecar に Embedding をリクエスト。
    2. 受け取ったベクトルと文言、ドキュメント名を SQLite に保存。
  • レスポンス: 登録成功メッセージと ID。

2. find_documents

自然言語のクエリを使って、類似度の高いアイテムを検索します。(旧: search_text)

  • 入力パラメータ:
    • content (string, 必須): 検索クエリ。
    • limit (number, 任意): 返却する最高件数(デフォルト 10)。
  • 動作:
    1. クエリをベクトル化。
    2. sqlite-vecMATCH 句を使用して類似検索。
  • レスポンス: 一致したアイテムのリフレッシュリスト(本文、メタデータ、距離値)。

3. find_by_vector

外部で計算済みのベクトルを直接指定して検索します。(旧: search_vector)

  • 入力パラメータ:
    • vector (array, 必須): 768次元の数値配列。
    • limit (number, 任意): 返却件数(デフォルト 10)。
  • レスポンス: 類似度順にソートされたアイテムリスト(id, content, document_name, created_at, updated_at, distance)。

4. delete_item

指定した ID のアイテムとベクトルを削除します。

  • 入力パラメータ:
    • id (number, 必須): 削除対象のアイテム ID。
  • レスポンス: 削除成功メッセージ。

5. get_vector

指定した ID のアイテムに関連付けられたベクトルを取得します。

  • 入力パラメータ:
    • id (number, 必須): アイテム ID。
  • レスポンス: 768次元の数値配列。

6. get_document

指定した ID の文章本文(メタデータ含む)を取得します。

  • 入力パラメータ:
    • id (number, 必須): アイテム ID。
  • レスポンス: ドキュメント詳細(JSON)。

7. get_documents_count

登録されている全文書の件数を取得します。

  • 入力パラメータ: なし。
  • レスポンス: 件数(文字列)。

8. list_documents

文書を ID 昇順(古い順)で一覧取得します。

  • 入力パラメータ:
    • limit (number, 任意): 取得件数 (デフォルト 10)。
    • offset (number, 任意): 開始位置 (デフォルト 0)。
  • レスポンス: 文書リスト。

9. read_recent_items

新しく追加された文書から順に取得します。

  • 入力パラメータ:
    • limit (number, 任意): 取得件数 (デフォルト 10)。
  • レスポンス: 文書リスト(ID 降順)。

10. llm_generate

内蔵された Sidecar (Gemma 3) を使用してテキスト生成を行います。

  • 入力パラメータ:
    • prompt (string, 必須): プロンプト本文。
    • n_predict (number, 任意): 最大生成トークン数。
    • temperature (number, 任意): 生成の多様性 (0.0 - 1.0)。
  • レスポンス: 生成されたテキストを含む JSON オブジェクト。

エラーコード仕様

MCP 仕様に基づき、問題発生時には以下の JSON-RPC エラーオブジェクトを返却します。

  • -32603: 内部エラー(Sidecar への接続失敗、DBエラー等)。
  • message: エラーの具体的な詳細内容。