Newer
Older
TelosDB / document / mcp_specification.md

MCP ツール詳細仕様

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

プロトコル基本情報

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

提供されるツール一覧

1. add_item_text

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

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

2. search_text

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

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

3. search_vector

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

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

4. add_item

外部で計算済みのベクトルと本文をセットで登録します。

  • 入力パラメータ:
    • content (string, 必須): 本文。
    • vector (array, 必須): 384次元ベクトル。
    • path (string, 任意): メタデータ。

5. llm_generate

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

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

エラーコード仕様

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

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