mcpField
S
Siftable

Siftable

リモート
siftable.io生産性07 週間前に更新
リポジトリ公式サイト

Siftable について

Siftableは、ガバナンス下の作業、ナレッジ、カレンダー、人、データセット、Vaultの機能をIDEクライアントに公開するMCPサーバーです。スコープによる認可を採用し、機微な検索や正規CRMレコードの変更にはレビュー手順を設けています。

主な機能

  1. 01ガバナンス下の作業・ナレッジツールを利用
  2. 02人や組織を検索
  3. 03データセットを照会し品質を確認
  4. 04作業項目とリースを管理
  5. 05スコープに基づき機能へアクセス

活用シーン

  1. 01割り当てられた作業項目を検索・管理
  2. 02認可された範囲で人や組織を検索
  3. 03データセットを照会し品質を確認
  4. 04レビューと承認用のCRMインポートを準備

MCP 対応

MCPサーバーは、Cursor、Claude Desktop、VS CodeなどのクライアントにSiftableのツールを公開します。ホスト型OAuthとstdioに対応し、利用可能なツールは付与されたスコープに応じて決まり、一部の機能は承認やカタログ更新を要します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://siftable.io/api/v1/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@siftable/mcp-server1.5.1

ツール

129
パラメーター型必須説明
projectIdstringいいえ解決に使用する明示的なプロジェクト ID
repositoryIdstringいいえ解決に使用する明示的に登録されたリポジトリ ID
clientRootHintstringいいえクライアントが指定する絶対パスのチェックアウトルートのヒント。ホスト型 MCP はこの値を推測しません

詳細

Siftable MCP サーバー

Model Context Protocol サーバーです。Cursor、Claude Desktop、VS Code などの IDE クライアントに Siftable のツールを公開します。

ExecuFunction 0.4.0.0 のホスト環境との互換性

npm パッケージは 1.3.0 です。ホスト環境およびソース投影プロファイルは 1.34.0 です。Projection 1.34.0 では、上限付きコレクションのレシートを標準化し、 データセットの集計セマンティクスを公開します。また、再接続が必要な OAuth 接続と、 その場で認可範囲を広げられるセッションを区別します。Projection 1.33.0 では、 自然言語によるソース検索の意図を認識し、リクエストを厳選されたコードメモリに ルーティングする代わりに、ローカルでの復旧方法を含む廃止済み機能カードを返します。 Projection 1.32.0 では、明示的な no_matches 検出結果を追加し、 汎用操作や弱いプレフィックスだけに基づく機能の一致を拒否します。また、 正規の複合意図の一致を保持し、失敗レシートに HTTP ステータスクラスを記録します。 Projection 1.31.0 では、ガバナンス対象のリード検出に必要なスコープ要件を追加しました。 Projection 1.29.0 では、ホスト型クライアント向けの管理対象作業リースセッションを追加し、 クレームトークンはサーバー側に保持します。Projection 1.28.0 では、ガバナンス対象の リード検出ツールを 4 つ、アプリと同等の人物/組織エンリッチメントツールを 5 つ追加しました。

リード検出はデフォルトで無効です。有効にするには、個別に付与された lead_discovery:read または lead_discovery:write スコープが必要です。mcp:* は どちらのスコープも含みません。そのため、ホスト環境のベースラインカタログでは、 request_capability の承認とカタログの更新によってホスト環境で利用可能なツールが 公開されるまで、企業検索は表示されません。企業検索は、有料の Crustdata リクエストを 1 回に制限し、実行前に最大料金を表示して、プロバイダーの実際のクレジットを 精算し、結果をレビュー候補としてのみ保存します。正規の CRM レコードは、 lead_discovery_import_plan_create の後に既存の crm_import_plan_approve および crm_import_plan_apply のレビューチェックを通じて作成します。

人物エンリッチメントは、保存済みのプロフィールと事実の提案を返します。適用時に 受け付けるのは、完了済みの実行から再取得した提案のフィールド名と事実 ID のみです。 自由形式の置き換えは受け付けず、再試行にも安全ではありません。組織エンリッチメントは、 アプリの有料プレビュー専用フローのままであり、正規の CRM 変更を適用できません。

1.3.0 互換性に関する注意

バージョン 1.3.0 では、sift.dataset.query.v2、バージョン管理された集計レシート、 統一された作業項目コレクションのメタデータ、および reconnect_required 機能状態を 公開します。以前のデータセットクエリレシートを検証するコンシューマーは、 schemaId によって動作を選択してください。

1.2.42 互換性に関する注意

バージョン 1.2.42 では、公開準備状況の監査を完了しました。自然言語によるソース検索の 検出では、正規の廃止済み/ローカル限定の復旧カードを返します。一方、厳選された コードメモリの検出は、これとは別に扱われます。ホスト環境のセットアップガイドには、 ChatGPT と Codex の設定手順が正確に記載されるようになりました。

1.2.41 互換性に関する注意

バージョン 1.2.41 では、ホスト環境の監査で見つかった 2 つの不具合を解消しました。 データセットのルートは、HTTP 境界で不正なデータセット UUID を拒否し、MCP レシートは その結果の 400 を bad_request として保持します。find_capability では、 ドメインを直接示すシグナルと、それに一致する操作の両方が必要になりました。 無関係な意図に対しては、機能レーンを空にし、言い換えの案内を含む queryOutcome: no_matches を返します。正確なツール名、削除済みツールのカード、 仮想のオリエンテーションツールは、セマンティックな拒否を受けません。

1.2.40 互換性に関する注意

バージョン 1.2.40 では、ライブエージェント QA の第 3 ラウンド(2026-08-22 のホスト監査)に対応しています。

  • claimability は依存関係だけでなく、ライフサイクルとリースの状態も正確に示します。state は ready、waiting、dependency_failed、leased、lease_expired、blocked、in_review、human_review_gate、terminal のいずれかで、blockedBy とともに claimable、reason、nextAction が含まれます。Claimed、running、cancelled、done の作業が ready として示されることはなくなりました。claimable が権威あるブール値です(lease_expired の項目と、先行項目が完了している、レガシー形式から変換された blocked のプレースホルダーは、明示的な claim によって復旧できるため、claimable: true です)。claim できない項目を ID で指定すると、not_found ではなく、状態(lease_active、work_item_terminal、…)を示す 409 が返されます。サーバーから claimable が提供される場合、CLI と TUI はこれに基づいて操作を制限します。
  • agent_work_list と work_item_list は、デフォルトで done/failed/cancelled の項目を非表示にします(includeTerminal: true または明示的な status を指定すると表示されます)。また、並べ替えのルールを出力し、queueRank の値が高いほど先に並び、デフォルト値は 0、負の値は保留を意味し(0 の後に並ぶ)、その旨を説明します。
  • work_item_heartbeat は、claimed 状態の作業に対する heartbeat によって作業が開始される(claimed → running、work_item_start と同じ)ことを示します。start、heartbeat、release に渡された resultSummary は、黙って破棄されずに保存されるようになりました。
  • 接続から作業項目を読み取れる場合、task_get はタスクに紐付く実行可能な作業を一覧表示します(先頭 10 件。残りがある場合はその旨を示すマーカー付き。項目がない場合は work_item_create のヒントとともに「まだありません」と表示)。必要なスコープがない場合は機能に関するヒントが維持され、上流での失敗はその旨が報告されます(再試行なしで 1 回だけ試行)。
  • entity_graph は、各レコードにステータスがある場合、そのレコード固有のステータスを報告します(完了したタスクは active ではなく completed、ノート/データセットは active/archived、関連付けられたプロジェクトには [untitled entity]/active ではなく名前とステータスが表示されます)。マイグレーション V400 では、ノート以外のすべてのノードに active を割り当て、プロジェクトを一切結合していなかった SQL 関数を修正します。その他のノードタイプでは、この欄にタイプ固有のラベルが引き続き表示されます(組織は業種、人物は関係、ニュースは公開日)。
  • note_search は、異なる尺度の生スコアを並べ替えるのではなく、全文検索の一致(websearch 構文)、意味的に近い項目、リテラル部分文字列によるフォールバックの順に順位付けします。スコアは同じソース内では比較できますが、ソース間では比較できません。
  • object_find は、未知のオブジェクトタイプキーと、既知のタイプにレコードが 0 件の場合を区別します。
  • コードメモリーの一覧では、チャンクの根拠がない confirmed の事実を not_recorded (confirmed; no source-chunk evidence recorded) と表示します。これにより、人間が認めた事実の確度を下げずに、根拠が不足していることを明示できます。

Projection 1.25.0 では、ホスト型 OAuth カタログに、現在のトークンで呼び出せるツールのみが含まれるようになりました。find_capability では、引き続きスコープの昇格が必要なツールを見つけられます。これらのツールは、認可とカタログの更新後に表示されます。また、サーバーの初期化に関するガイダンスを短くし、クライアントが大きな説明ブロックをツールの説明に繰り返し含めないようにしました。

1.2.39 互換性に関する注記

バージョン 1.2.39 では、ライブエージェント QA の第 2 ラウンドに対応しています。

  • work_item_requeue は、リースの有効期限が切れた claim 済み/実行中のアイテムも、元の claim トークンなしでキューに戻すようになりました。アクティブなリースが再キューされることは引き続きありません。work_item_list では期限切れのリースがインラインで表示され([claimed · lease expired <time>])、work_item_get では、単に claimed と表示する代わりに、アイテムをそのまま claim するか再キューできることを示す Lease: expired <time> — … ヘッダーが JSON の前に付きます。
  • work_item_revision_history/work_item_verification_history は、記録が何もない場合に [] を出力する代わりに、その旨を文で伝えます。
  • object_find は検索したオブジェクトの種類を明示し、一致するものがない場合は、単に「No objects found.」と表示する代わりに、schema_introspect/people_search/organization_search を案内します。
  • schema_introspect はデフォルトでデータセットの概要(タイトル、ID、行数、フィールド数)を表示します。フィールドごとの一覧を表示するには、includeDatasetFields: true を指定します。
  • dataset_quality_check は空文字列を欠損値として数え、バージョン付きの構造化された結果を返すようになりました。頻出値は観測事項として扱われ、一意であると宣言されたフィールドでのみ品質違反となります。

Projection 1.22.0 には、schema_introspect の入力スキーマとツールの説明の変更が記録されています。

1.2.38 互換性に関する注記

バージョン 1.2.38 では、エージェントが作業権限を得るまでの経路を、あちこち探し回る必要のない直接的なものにしました(2026-08-20 の決定。Grok と Claude による実運用を受けたものです)。

  • ホスト型 OAuth の初回接続では(scope パラメーターがない場合、またはクライアントが scopes_supported をコピーした場合)、同意画面の背後で mcp:* work:read work:write が付与されます。Vault と AI のスコープは引き続き、ステップアップ認証または CLI のみで取得できます。
  • ステップアップ認証で接続が取得可能なツールは tools/list に表示されます。承認前にそのツールを呼び出すと、同じ elevation リンク(または CLI/PAT の案内)を含むインバンドのツールエラーが返ります。HTTP 403 の insufficient_scope チャレンジが発行されるのは、challenge モードの request_capability に限られるようになりました。
  • 昇格リンクの有効期間は 1 時間になりました(従来は 10 分)。承認後、サーバーは tools/list_changed を通知して、購読しているクライアントに更新を促します。また、ツールが引き続き非表示の場合は、ツールリストを更新するか、コネクターを再起動するようエージェントに案内します。
  • find_capability、request_capability、context_current は、完全な JSON の代わりに、名前、利用可否、次の手順を含む簡潔なテキストの概要を表示します。完全なプロジェクションは引き続き structuredContent に含まれます。
  • task_get とタスクツールの説明では、work:read が不足しているという誤った案内がなくなりました。taskId を指定した work_item_list を案内し、ツールを呼び出せない場合にのみ request_capability を使うようになりました。
  • 汎用リストのテキストにある「安定したハンドル」では、各 ID の出所フィールドが明記され、重複がまとめて表示されるようになりました。そのため、20 行で共有されている projectId は、20 件の新しいレコードではなく、1 つのプロジェクト参照として表示されます。

Projection 1.21.0 には、表示されるツールと説明の変更が記録されています。 アップグレード後、ホスト型 MCP クライアントを再接続して、Projection 1.21.0 のスキーマを更新してください。

1.2.37 互換性に関する注意

バージョン 1.2.37 では、クライアントによる OAuth の再実行に依存せず、ホスト型 OAuth 接続でエージェント側からスコープを追加できるようになりました。

  • request_capability(inspect)は、Streamable HTTP で、不足しているスコープが追加可能(work:read、work:write)であり、サーバーが capabilityAcquisition.createElevationGrant を提供している場合に、elevation を返すようになりました。これは、接続済みの OAuth トークンに対する、有効期間が短い(10 分間)、所有者に紐付いた承認リンクで、有効期間内であれば所有者が再利用できます。ユーザーがリンクを開き、再認証してファーストパーティの同意画面で承認すると、既存のトークンがその場で拡張されます。エージェントは再接続せずにツールを再試行できます。この場合、recommendedNextAction.type は open_elevation_url となり、reconnectRequired は false です。拡張できない接続では、引き続き再接続の案内が代替手段となります。
  • find_capability、context_current、およびゲートで拒否されたツールへの直接呼び出しは、クライアントの再接続ではなく、この手順を案内するようになりました。
  • ホスト型 OAuth で、明示的な work:write リクエストが受け付けられるようになりました(同意が必要です)。1.2.37 では、クライアントが scope を省略した場合の認可時のデフォルトは mcp:* work:read であり、scopes_supported ではこの組み合わせのみが通知されていました(どちらも 1.2.38 で work ファミリー全体に拡張されました)。

Projection 1.20.0 には、request_capability の出力スキーマと説明の変更が記録されています。アップグレード後、ホスト型 MCP クライアントを再接続し、Projection 1.20.0 のスキーマを更新してください。

1.2.36 互換性に関する注意

バージョン 1.2.36 では、stdio のツールサーフェスを変更せずに、ホスト型エンドポイントを ChatGPT プラグインディレクトリへの掲載に対応させました。

  • upload_document は、ホスト型プロファイルで filePath を通知しなくなりました。ホスト型スキーマではインラインの content と filename が必須です。また、allowLocalFiles を指定してクライアントを構築していない場合、filePath 引数は MCP 境界、executeTool、および SiftClient 内で、正規化された bad_request エラーとして拒否されます。このフラグを設定するのはローカルの stdio エントリーポイントのみです。ホスト型およびリモートのクライアントがサーバーのファイルシステムにアクセスすることはできません。
  • ホスト型ツールには、仕様上、他の MCP クライアントが無視する OpenAI 専用ヒントが _meta に含まれるようになりました。内容は、接続済みの OAuth クライアントが実際にリクエストできるスコープ(ベースラインの mcp:* のみ)を列挙する securitySchemes と、各ツールのタイトルから生成されるツール呼び出しステータス文字列です。
  • すべてのカタログツールで outputSchema が公開されるようになりました。これまでスキーマがなかった 27 個の読み取り専用クエリツールは、text/plain の結果を伴う sift.action_receipt エンベロープを宣言します。これは、tools/call がすでに返している内容と一致します。
  • Projection とカタログダイジェストは、トランスポートに合わせたスキーマから計算されるようになりました。そのため、ホスト型の find_capability と schemaDigest は、クライアントに実際に提示されるツールサーフェスを示します。

Projection 1.19.0 には、ホスト型 upload_document スキーマとエンベロープ出力スキーマが記録されています。アップグレード後、ホスト型 MCP クライアントを再接続し、Projection 1.19.0 のスキーマを更新してください。

1.2.35 互換性に関する注記

バージョン 1.2.35 では、1.2.32 のレビューで見つかった残りのコントラクトの相違点を解消しています。

  • schema_introspect は、デプロイ全体のデータセットスイッチと呼び出し元の機能許可の両方でデータセットのルートが許可されている場合にのみ、データセットを公開するようになりました。データセットとオブジェクトタイプのクエリは、呼び出し元の RLS ID で実行されるようになりました。
  • code_memory_delete は、過去に存在したすべてのメモリに対して 500 を返していました。V351 では、ライフサイクルイベントログに ON DELETE CASCADE 外部キーと無条件にエラーを発生させる追記専用トリガーが追加されていたため、カスケードによってすべての削除が中断されていました。V389 では、参照整合性カスケードを許可しながらログへの直接編集は引き続き拒否し、NOT NULL の所有者列を NULL にしてしまう系譜外部キーを 2 つ修復します。また、後継の削除時には、孤立した前任を監査イベントとともに needs_review に戻します。
  • MCP 経由で人間による承認アクションを呼び出すことはできなくなりました。code_memory_confirm、code_memory_reject、code_memory_edit、code_memory_supersede は、ホスト型とローカルの両方のエージェントトランスポートで非表示になり、拒否されます。エージェントは候補を保存したり、事実を needs_review に設定したりできます。人間が Siftable インターフェースで整理します。
  • project_get_context は各タスクのワークフローのフェーズを status フィールドで報告し、phase は NULL のままにしていました。どちらも、オープン、ブロック中、期限超過のタスクを含め、実際の列値を返すようになりました。

Projection 1.18.0 では、人間による整理の境界が記録され、エージェント向けに公開されるインターフェースから 4 つのツールが削除されています。

このリリースにはマイグレーション V389__code_memory_delete_cascade.sql が必要です。 適用するまで、code_memory_delete は引き続き失敗します。

1.2.34 互換性に関する注記

バージョン 1.2.34 では、呼び出しは成功しても回答が誤っていたり不完全だったりする一連の不具合を修正しています。

  • company を指定して人物を書き込むと、必ず 500 が返されていました。組織のアップサートで、V357 で部分インデックスになった一意インデックスを、その述語を指定せずに指定していたため、Postgres が競合対象を推定できませんでした。
  • 作成したコンテンツが転送中に削除されなくなりました。リクエストパイプラインではすべての文字列に striptags() を適用していたため、フィルター演算子の < が削除され、List<String> が List になり、ノートタイトルのマークアップが取り除かれていました。これはすべての MCP 呼び出しで、しかも気付かれないまま発生していました。コンテンツの許可リストがトップレベルの本文キーにしか一致しなかったためです。代わりに、HTML は描画時にエスケープされるようになりました。
  • 数値を使った、テキスト型の列に対する範囲比較(> >= < <=)は、テキストとして黙って比較されるのではなく、型の再設定を促す経路で拒否されるようになりました。テキスト比較では '99' が '199' より大きい順に並ぶためです。このような列をソートした場合、誤った順序が警告なしで妥当そうに返されるのではなく、警告が返されます。
  • dataset_query は構造化された結果に warnings を含めるようになりました。
  • task_get は、タスクの概要全体(rationale、deliverable、verification、approachConstraints、acceptanceCriteria、scope)を構造化して返すようになりました。以前は構造化データを優先するクライアントに、完了条件の定義がないタスクが返されていました。

アップグレード後、MCP クライアントを再接続して Projection 1.18.0 のスキーマを更新してください。

1.2.33 互換性に関する注記

バージョン 1.2.33 では、ホスト型 OAuth のトークン交換を修正しています。認可サーバーは、コードを削除して消費するためそのような列が存在しないテーブルに対し、consumed_at IS NULL フィルターを使ってハッシュ化された認可コードを検索していました。そのため、Google の同意後に Cursor、Codex、その他のリモートクライアントから新規接続するたびに、Internal Server Error が発生していました。既存の認証済みセッションには影響ありません。ツールのコントラクトと Projection 1.16.0 のスキーマに変更はありません。以前失敗したログインを再試行する場合を除き、再接続は不要です。

1.2.32 互換性に関する注意

バージョン 1.2.32 では、エージェントが context_current.projectCandidates から選択したプロジェクトを保存できるよう、メタデータのみを変更する明示的な repository_project_link mutation が追加されました。また、未対応クライアントとの一致は副次的な検索経路に保持し、スコアがゼロの全文検索によるノートのヒットは除外します。

アップグレード後は MCP クライアントを再接続し、projection 1.16.0 のスキーマを更新してください。

ホスト型リモートクライアント

推奨するホスト型エンドポイントは次のとおりです。

https://siftable.io/api/v1/mcp

Claude のリモートコネクター、Cursor、Codex、Devin、Kimi Code、Antigravity は Streamable HTTP 経由で接続できます。URL のみを使う OAuth 設定を推奨します。最初のパーティ同意フォームを経由する場合、scope を省略した認可リクエストにはデフォルトで mcp:* work:read work:write が付与されます。また、後から不足している権限は、request_capability が返す1時間有効のリンクからその場で承認できます(Streamable HTTP のみ。従来の /sse セッションは代わりに再接続します)。Authorization ヘッダーを設定すると、静的 PAT モードが選択されます。このトークンのスコープは、OAuth チャレンジや権限昇格リンクでは拡張できません。

クライアントごとに設定キーとコールバックの動作は異なります(Cursor、Codex、Kimi では url、Antigravity では serverUrl、Claude と Devin では UI で管理する接続)。プロバイダーの情報に基づく対応表と検証手順については、 docs/runbooks/hosted-mcp-client-compatibility.md を参照してください。

認証済みのチェックアウトが必要なクライアントや、ホスト型エンドポイントを利用できないクライアント向けには、npm パッケージを引き続きローカルの stdio 経路として利用できます。

MCP Apps ビュー

MCP Apps 拡張機能を実装したホスト(Claude、ChatGPT、VS Code、Goose)では、一部のツールがサンドボックス化されたビューを表示できます。これらのツールには、ui://siftable/<view>.html リソースを指す _meta.ui.resourceUri が付与されます。このリソースは resources/list に一覧表示され、resources/read によって MIME タイプ text/html;profile=mcp-app で提供されます。このメタデータは表示専用です。ツールの projection、スコープ、提示されるカタログ、カタログダイジェストは変更されず、他のすべてのクライアント向けに content は完全なテキスト回答のままです。

UI メタデータは、View バンドルが dist/ui/ に存在する場合にのみ付与されます。バンドルなしでビルドすると、UI メタデータは一切提示されません。レビュー済みのツールと View の許可リストは src/ui/viewRegistry.ts にあります。設計については docs/design/mcp-ui-surfaces-plan.md を参照してください。

バンドルは @siftable/mcp-apps ワークスペース(packages/exf-mcp-apps。View ごとに自己完結型の HTML ファイルを1つ生成)でビルドされ、npm run build の最後に scripts/copy-ui-bundles.mjs によって dist/ui/ にコピーされます。Nx 経由では、apps ワークスペースが先にビルドされます(nx run @siftable/mcp-server:build)。ホスト型 Docker イメージが現在実行しているように、apps のビルドを行わずに npm run build を実行した場合、何もコピーされず、機能は無効のままです。verify:package、prepublishOnly、pack:mcpb は先に apps をビルドし、バンドルが欠けていると失敗します。そのため、公開される tarball や .mcpb には常にすべての View バンドル(dist/ui/graph.html、data.html、review.html)が含まれます。

現在利用できる View は次のとおりです。

Viewリソースツール
グラフui://siftable/graph.htmlentity_graph、object_links
データui://siftable/data.htmldataset_query、dataset_aggregate、dataset_summarize、dataset_quality_check、dataset_facets、dataset_compare、dataset_rank、dataset_plot_result、dataset_timeseries、dataset_bucket、people_search、organization_search、task_list
レビューui://siftable/review.htmllead_discovery_candidate_list、lead_discovery_run_get、crm_import_plan_get、crm_import_plan_create

重要なツールに対する人間の確認

7 つのツールは、実行前に人間の確認を求めます。4 つの一括削除ツールは適用呼び出し時(confirm: true と previewId を指定した場合)に確認を求めます(プレビューとドライランでは確認を求めません)。このほか、フィールドを削除する場合の dataset_schema_modify、crm_import_plan_approve、および上限額を USD で明示する確認を求める lead_discovery_company_run が該当します。確認要求は、単一の confirm ブール値を持つフォーム形式の elicitation を含む MCP 2026-07-28 の複数ラウンドトリップ InputRequiredResult として送られます。クライアントが確認画面を表示し、その後 inputResponses を指定して同じ呼び出しを再試行します。バックチャネル(stdio またはセッションを維持する HTTP)がある 2025 年頃のセッションでは、SDK のレガシー shim が同じ確認要求を elicitation/create リクエストとして送信します。ステートレスな 2025 HTTP フォールバックでは、リクエストごとにクライアントの機能が不明なため、確認は求められません。

elicitation 機能を宣言していないクライアントでは、ツールは従来どおり実行されます。成功、失敗、拒否のいずれの場合も、確認対象のすべてのレシートには humanGate が記録されます。ツールが実行されたレシートでは、accepted を伴う elicitation、または not_asked を伴う unsupported_fallback が記録されます。実行されなかった拒否レシート(error.code: "declined_by_user")では、正確な拒否内容、declined、cancelled、または not_confirmed を伴う elicitation が記録されます。この確認は、誠実なホストを前提とした人間参加型の保証です。認可の境界は引き続き OAuth スコープです。シードされたツール一覧は src/registry/mcpToolContractSeed.ts に、確認文は src/humanGate.ts にあります。

1.2.31 互換性に関する注意

このリリースでは、カーソルページをまたいでもタスク収集の合計数が変わらないようにし、トランザクションスコープの RLS のもとで永続的な ID を使ってリポジトリのコンテキストを解決するとともに、リポジトリを名前で自動リンクする代わりに、明示的なプロジェクト候補を返します。プロジェクトリソースでは、不透明なカーソルによるページネーションに対応し、バックエンドの障害を提示するようになりました。また、グラフと人物の結果に、利用可能な正規ラベルが含まれるようになりました。アップグレード後に MCP クライアントを再接続し、projection 1.15.0 のスキーマを更新してください。

1.2.30 互換性に関する注意

このリリースでは、エージェントの作成、作業のクレームとライフサイクルの遷移、コードメモリへの書き込み、ドキュメントのアップロード、Vault エントリーの作成、および管理下にある承認、実行許可、マテリアライズのリクエストに、呼び出し元が安定して指定する冪等性キーが必要です。同じキーで再試行すると、元の正式な応答が再生されます。ペイロードが変更されている場合は競合します。Vault のレシートにはメタデータまたはランナーが暗号化した暗号文が保持され、平文は保持されません。ストリーミングされたプロバイダー出力は再生用に永続化されないため、ai_generate は引き続き明示的に再試行安全ではありません。アップグレード後に MCP クライアントを再接続し、projection 1.14.0 のスキーマを更新してください。

1.2.29 互換性に関する注意

このリリースでは、ホスト型機能の検査がターミナルで再接続後も安全に行えるようになり、タスクの状態と管理下にある承認の不変条件が追加されました。また、プロジェクト、タスク、データセット、スキーマ、人物、組織、カレンダーの結果に、安定した ID と型付きの詳細情報が含まれるようになりました。廃止されたソースインデックス/検索名はローカルのチェックアウト検索にルーティングされますが、厳選されたコードメモリは引き続き利用できます。dataset_create、dataset_mutate、dataset_schema_modify、dataset_materialize_result の各ツールには、呼び出し元が安定して指定する idempotencyKey が必要です。 同じキーを同じペイロードで再利用すると元の結果が再生されますが、変更したペイロードで再利用すると拒否されます。既存の MCP セッションでは、これらの変更操作を呼び出す前に再接続し、キャッシュされたツールスキーマを更新する必要があります。Idempotency-Key ヘッダーを省略した場合、直接 REST を呼び出すクライアントとの後方互換性は維持されます。

プライバシーポリシー

サーバーは、設定された SIFT_API_URL(デフォルトでは https://siftable.io)にある Siftable API にツール呼び出しを送信し、それ以外には送信しません。起動時の環境以外にデータをローカル保存することはなく、個人用アクセストークンが送信されるのもこの API だけです。収集、利用、保存、共有、保持、および連絡先情報を網羅する Siftable のプライバシーポリシーは、https://siftable.io/privacy.html にあります。

配布成果物

@siftable/mcp-server はモノレポから公開されます。公開ソースミラー https://github.com/execufunction-mcp/mcp-server は scripts/mirror-mcp-server.sh で更新され、単独ではビルドできません。

成果物コマンド配布先
npm パッケージnpm publish --workspace @siftable/mcp-serverstdio クライアント向けの npx @siftable/mcp-server
Claude Desktop 拡張機能npm run pack:mcpb --workspace @siftable/mcp-serverbuild/siftable.mcpb。GitHub リリースに添付し、デスクトップ拡張機能のフォームから提出します
MCP Registry エントリーmcp-publisher login github の後に npm run publish:registry --workspace @siftable/mcp-servernpm パッケージを指す io.github.Tom-R-Main/mcp-server

manifest.json はデスクトップ拡張機能のマニフェストです。その version は package.json と一致している必要があり、バンドルのビルド時に検証されます。バンドルには独自の 本番用 node_modules が含まれるため、モノレポなしで実行できます。

クイックスタート

1. Personal Access Token を作成する
  1. Siftable → Settings → Developer → Access Tokens に移動します
  2. 「Create Token」をクリックします
  3. 名前を付けます(例:「Cursor MCP」)
  4. MCP の基本アクセスには mcp:* を選択し、ワークフローに必要な特定のスコープファミリーを追加します (例:projects:read、tasks:write、work:read)。 mcp:* はすべての権限を付与するものではありません。
  5. トークンをすぐに保存してください。表示されるのは一度だけです!
2. MCP クライアントを設定する
Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json を編集します。

{
  "mcpServers": {
    "siftable": {
      "command": "npx",
      "args": ["@siftable/mcp-server"],
      "env": {
        "SIFT_API_URL": "https://siftable.io",
        "SIFT_PAT": "sift_pat_your_token_here"
      }
    }
  }
}
Cursor

Cursor の MCP 設定に追加します。

{
  "siftable": {
    "command": "npx",
    "args": ["@siftable/mcp-server"],
    "env": {
      "SIFT_API_URL": "https://siftable.io",
      "SIFT_PAT": "sift_pat_your_token_here"
    }
  }
}
VS Code

MCP 拡張機能の設定で構成します。

3. IDE を再起動する

設定後、IDE を再起動して MCP サーバーを読み込みます。

利用可能なツール

環境の把握と機能の取得

新しいクライアントセッションでは、毎回 context_current から開始してください。これは、 有効なワークスペース、プロジェクト、リポジトリ、トランスポート、提示されたスコープと有効なスコープ、 不足しているリクエスト可能なスコープ、および推奨される次の呼び出しを報告します。ホスト型 MCP は、 クライアントがルートヒントを明示的に指定しない限り、理由とともに null のチェックアウトを返します。

ツールが見つからない場合や、操作が許可されていない場合は、検出の入り口として find_capability を使用してください。認可チャレンジを発生させずに構造化された復旧計画を取得するには、 inspect モードで request_capability を呼び出します。challenge モードは、クライアントが HTTP 403 レスポンスから標準準拠の OAuth アクションを表示できる場合にのみ使用してください。

検出の信頼度要件を満たす候補がない場合、find_capability は queryOutcome: no_matches、 0 件の件数、空のレーンを返します。Siftable のドメインと操作の両方を含めて言い換えるか、 tools/list を確認してください。結果が 0 件のレスポンスを認可の証拠として扱わないでください。

task_* は人間による計画を管理します。work_* はエージェントが実行する作業を管理します。 後続の呼び出しでは、コレクションおよび変更結果で返された安定した ID を優先してください。

ツール説明変更
context_currentプリンシパル、所有者、プロジェクト、リポジトリ、チェックアウト、および有効な機能コンテキストを解決しますいいえ
find_capability呼び出し可能、不足、リクエスト可能、および未サポートの機能を検出しますいいえ
request_capability復旧方法を確認するか、OAuth 認可チャレンジをリクエストしますいいえ
プロジェクト
ツール説明変更
project_listステータスによるフィルタリング、上限付きカーソルページネーション、安定した ID、および簡潔な概要を使ってプロジェクトを一覧表示しますいいえ
project_create新しいプロジェクトを作成しますはい
project_updateプロジェクト名、概要、ステータス、絵文字を更新しますはい
project_archiveプロジェクトをアーカイブします(破壊的操作)はい
project_get_contextプロジェクトの完全なコンテキスト(タスク、メモ、シグナル)を取得しますいいえ
タスク
ツール説明変更
task_listプロジェクト/ステータス/フェーズ/工数/タイトルのフィルターを指定して、人間が計画するタスクを一覧表示しますいいえ
task_get人間が計画する単一のタスクの詳細をすべて取得しますいいえ
task_create優先度、フェーズ、工数、受け入れ基準を指定して、人間が計画するタスクを作成しますはい
task_update人間が計画するタスクのフィールド(タイトル、ステータス、優先度、フェーズ、工数、スコープ)を更新しますはい
task_deleteタスクを削除します(破壊的操作)はい
task_bulk_deleteID またはフィルターを指定して、タスクの削除をプレビューするか、一括削除しますはい
task_completeタスクを完了としてマークしますはい
エージェント
ツール説明変更
agent_listユーザーに表示されるエージェントの別名と機能を一覧表示しますいいえ
agent_getスラッグまたは ID でエージェントの別名を取得しますいいえ
agent_createエージェントの別名を作成しますはい
agent_update別名のメタデータ、機能、または権限を更新しますはい
agent_disable履歴を削除せずに別名を無効にしますはい
agent_work_list別名に割り当てられた実行可能な作業を一覧表示しますいいえ
作業項目
ツール説明変更
work_item_list依存関係に基づく実行可能性の正式な判定を含め、作業項目を一覧表示しますいいえ
work_item_get作業の詳細、依存関係、充足状況、実行可能性を取得しますいいえ
work_item_createオプションで UUID の dependsOn エッジを指定して、範囲を限定した作業を作成しますはい
work_item_dependencies_replace作業項目の UUID 依存関係をアトミックに置き換えますはい
work_item_claimキューにある実行可能な作業をリース付きで取得しますはい
work_dependency_policy_getプロジェクトのデフォルトの依存関係ゲートを取得しますいいえ
work_dependency_policy_updateプロジェクトのデフォルトの依存関係ゲートを設定しますはい
work_item_start取得済みの作業を実行中としてマークしますはい
work_item_heartbeatリースを延長しますはい
work_item_block作業をブロック中としてマークしますはい
work_item_review作業をレビューが必要な状態としてマークしますはい
work_item_complete要約/成果物を添えて作業を完了しますはい
work_item_fail作業を失敗としてマークしますはい
work_item_release作業をキューに戻しますはい
work_item_cancel作業をキャンセルしますはい
ナレッジ/メモ
ツール説明変更
note_list種類、プロジェクト、アーカイブ、タイトルのフィルターを指定してメモを一覧表示しますいいえ
note_get単一のメモの内容をすべて取得しますいいえ
note_searchナレッジベース全体をセマンティック検索しますいいえ
note_create新しいメモを作成します(Markdown)はい
note_updateメモのタイトル、内容、または種類を更新しますはい
note_deleteメモを削除します(破壊的操作)はい
note_bulk_deleteID またはフィルターを指定して、メモの削除をプレビューするか、一括削除しますはい
人物
ツール説明変更
people_searchあいまい検索または完全一致/前方一致のフィルターで連絡先を検索しますいいえ
person_create連絡先を作成しますはい
person_update連絡先を更新しますはい
person_delete連絡先を削除します(破壊的操作)はい
people_bulk_deleteID またはフィルターを指定して、連絡先の削除をプレビューするか、一括削除しますはい
person_enrichment_availabilityプロバイダーに処理を依頼せずに、ID の準備状況と現在のアプリ内料金を確認しますいいえ
person_enrichment_run有料で冪等なアプリ相当のエンリッチメントを実行し、保存された提案と課金の証跡を返しますはい
person_enrichment_apply決済確定済みの実行結果から、選択したプロフィール項目と事実を適用します。再試行に対する安全性はありませんはい
組織
ツール説明変更
organization_searchあいまい検索、または完全一致/前方一致フィルターで組織を検索しますいいえ
organization_create組織を作成しますはい
organization_update組織を更新しますはい
organization_delete組織を削除します(破壊的操作)はい
organization_bulk_deleteID またはフィルターを指定して、組織の削除をプレビューまたは一括実行しますはい
organization_enrichment_availabilityプロバイダーを実行せずに、プロバイダーの利用可否と現在のアプリ価格を確認しますいいえ
organization_enrichment_preview有料で冪等なアプリのプレビューを実行し、正規 CRM への書き込みをせずに証拠を保存しますはい
リードの発見
ツール説明変更
lead_discovery_company_search制限付きの有料企業検索を 1 回実行し、ソースに基づく審査候補をステージングしますはい
lead_discovery_candidate_list候補と CRM との照合/審査状況を一覧表示しますいいえ
lead_discovery_candidate_review理由を記録して、候補を 1 件選定または却下しますはい
lead_discovery_import_plan_create選定済み候補から永続的な CRM インポート計画を作成します。承認と適用は別の手順ですはい

CLI と MCP に共通する承認および適用のライフサイクルについては、ヘッドレス CRM インポート計画を参照してください。

カレンダー
ツール説明変更
calendar_list_events指定した期間のカレンダーイベントを一覧表示しますいいえ
calendar_create_event新しいカレンダーイベントを作成しますはい
calendar_update_eventカレンダーイベントを更新しますはい
calendar_delete_eventカレンダーイベントを削除します(破壊的操作)はい
ローカルソースのコンテキスト
ツール説明変更
git_blame_symbolローカルファイルの範囲に対して git blame を実行しますいいえ

ソースの調査と検索は、Git、rg、エディター、またはエージェントネイティブのツールを使用して、認可されたチェックアウト内で行います。Siftable は厳選されたコードメモリーを保存しますが、リポジトリのソースをインデックス化したり、意味的に検索したりすることはありません。

コードメモリー
ツール説明変更
code_memory_store厳選されたコード情報を保存しますはい
code_memory_search保存されたコード情報を検索しますいいえ
code_memory_list保存されたすべてのコードメモリーを一覧表示しますいいえ
code_memory_deleteコードメモリーを削除します(破壊的操作)はい
Vault/シークレット
ツール説明変更
vault_listVault エントリーを一覧表示します(メタデータのみ)いいえ
vault_create新しい暗号化シークレットを保存しますはい
vault_updateVault エントリーのメタデータを更新しますはい
vault_search名前または説明で Vault エントリーを検索しますいいえ
vault_auditVault の監査証跡を確認しますいいえ
vault_materialization_request特定のマテリアライズ先への承認を申請しますはい
vault_materialization_statusシークレットのバイト列を返さずに、マテリアライズの状態を確認しますいいえ
capability_listガバナンス対象の Vault 実行機能を一覧表示しますいいえ
capability_describeガバナンス対象の Vault 実行機能について説明しますいいえ
capability_executeシークレットのバイト列を公開せずに、ガバナンス対象の機能を実行しますはい

vault_read は廃止されました。MCP が平文のシークレットのバイト列を返すことはありません。ガバナンス対象の機能を使うか、明示的に承認されたマテリアライズを利用してください。

エンティティグラフ
ツール説明変更
entity_graphエンティティの関係グラフをたどりますいいえ
schema_introspectデータモデル全体とエンティティの種類を調べますいいえ
ドキュメントのアップロード
ツール説明変更
upload_documentPDF、Markdown、またはテキストファイルを Knowledge にアップロードしますはい
データセット(機能フラグ:DATASETS_ENABLED=true)
ツール説明変更
dataset_listデータセットを一覧表示しますいいえ
dataset_createデータセットを作成しますはい
dataset_queryフィルターやソート条件でレコードを検索しますいいえ
dataset_mutateレコードを作成/更新/削除します(破壊的操作)はい
dataset_schema_modifyフィールドを追加/更新/削除します(破壊的操作)はい
dataset_summarizeスキーマとサンプル行を要約しますいいえ
dataset_facetsフィールドの値の分布を表示しますいいえ
dataset_quality_check欠損値の指標、無効な値、一意性の問題、値の繰り返しに関する観察結果を表示しますいいえ
dataset_aggregateグループ化された指標(件数、平均、合計など)を表示しますいいえ
dataset_bucket数値/日付フィールドを範囲に分割しますいいえ
dataset_rankソート条件または重み付き計算式に基づいてレコードを順位付けしますいいえ
dataset_analyze自然言語による分析結果を生成しますいいえ
dataset_compareセグメント間の指標を比較しますいいえ
dataset_exportレコードを CSV としてエクスポートしますいいえ
dataset_join_rowsエイリアススコープのフィールドを使用して自己結合しますいいえ
dataset_compute_fields派生列(ラグ、差分、ローリング)を計算しますいいえ
dataset_timeseries変換を伴う時系列分析を行いますいいえ
dataset_materialize_result派生結果を新しいデータセットとして保存しますはい
dataset_plot_result派生結果からのチャートペイロードを検証しますいいえ
オントロジー(機能フラグ:DATASET_ONTOLOGY_ENABLED=true)
ツール説明変更
object_find型とプロパティのフィルターでオブジェクトを検索しますいいえ
object_linksオブジェクトのグラフリンクをたどりますいいえ
object_action_runオブジェクトに対して宣言型アクションを実行します(破壊的操作)はい

使用例

1. プロジェクトのコンテキストを取得してタスクを作成する

ユーザープロンプト:「認証プロジェクトのコンテキストを取得し、トークン更新のバグを修正するタスクを作成してください」

呼び出されるツール:

  1. project_list — プロジェクトを一覧表示し、認証プロジェクトを見つけます
  2. project_get_context — プロジェクトのタスク、メモ、シグナルを取得します
  3. task_create — タイトル、説明、プロジェクトとの関連付けを含む、人間による計画タスクを作成します

結果: AI は既存のプロジェクトコンテキスト(未完了のタスクや最近のメモ)を読み込み、重複を避けたうえで、適切なプロジェクトに紐付けられた、範囲が明確なタスクを作成します。

エージェントを実行するには、work_item_create で実行可能な作業項目を作成し、taskId に親となる人間のタスクを設定します。タスクツールでは計画の状態を管理し、作業項目ツールでは実行、リース、成果物、検証、レビューの状態を管理します。

依存関係は、信頼できる UUID 参照です。dependsOn には { workItemId, requiredGate? } の配列を渡します。requiredGate は done または commands_passed です。ゲートを省略した場合は、プロジェクトの作業依存関係ポリシーに従って解決されます。一覧および取得結果には、解決済みの dependencies 投影と、派生した claimability(ready、waiting、dependency_failed)が含まれます。依存関係のエッジ一式を置き換えるには work_item_dependencies_replace を使用します。依存関係をすべて削除するには、空の配列を使用します。過去の verified ゲートは、検証機能の廃止に伴う移行中に commands_passed に正規化されます。

リースが所有権を持つライフサイクル呼び出し(start、heartbeat、block、review、fail)には、work_item_claim が返す claimOwner と claimToken の両方が必要です。release には有効なトークンが必要です。complete はリース所有の完了に必要な認証情報を受け取れますが、人間がリースなしで needs_review を解決できるよう、これらの指定は任意です。同様に、cancel にトークンは不要です。取得/一覧表示の出力にはクレームトークンは含まれません。クライアントはログに記録したり、永続化したりしないでください。

2. ナレッジの検索とメモの作成

ユーザーのプロンプト:「デプロイプロセスを検索して、手順をまとめたメモを作成してください」

呼び出されるツール:

  1. note_search — ナレッジベースから「デプロイプロセス」を検索します
  2. code_memory_search — デプロイ関連の記憶について、保存されたコードの情報を検索します
  3. note_create — デプロイ手順をまとめた Markdown メモを作成します

結果: AI は既存のメモとコードの記憶から情報を統合し、関連するプロジェクトにリンクされた単一の参照メモを作成します。

リソース

サーバーは、プロジェクトのコンテキストバンドルを MCP リソースとしても公開します。

  • exf://projects/{id}/context - プロジェクトの完全なコンテキストバンドル

環境変数

変数必須説明
SIFT_API_URLはいSiftable API URL
SIFT_PATはい個人用アクセストークン

既存の MCP 設定では、従来の EXF_API_URL と EXF_PAT も引き続きサポートされます。

開発

# Install dependencies
npm install

# Run in development mode
npm run dev

# Test with MCP Inspector
npm run inspect

# Build for production
npm run build

セキュリティ

  • PAT は SHA-256 ハッシュとして保存され、平文が保存されることはありません
  • トークンは Siftable Settings からいつでも取り消せます
  • 用途に必要な最小限のスコープを使用してください
  • トークンをバージョン管理にコミットしないでください

スコープ

スコープ説明
mcp:*プロジェクト、タスク、カレンダー、ナレッジ、人物に関する主要な操作
projects:readプロジェクトデータの読み取り
projects:writeプロジェクトの作成/更新
tasks:readタスクの読み取り
tasks:writeタスクの作成/更新/完了
knowledge:readメモの検索/読み取り
knowledge:writeメモの作成
calendar:readカレンダー/空き時間の表示
calendar:writeカレンダーイベントの作成
people:read連絡先の検索/表示
people:write連絡先の作成/更新
work:read実行可能な作業キューの読み取り
work:write実行可能な作業キューの変更
lead_discovery:readリード発見の実行結果と候補の読み取り
lead_discovery:write有料検索の実行と候補の確認/インポート
vault:metadata:readVault のメタデータとマテリアライズ状況の読み取り
vault:manageVault のメタデータの作成/更新とマテリアライズのリクエスト
vault:audit:readVault の監査証跡の読み取り

トラブルシューティング

「SIFT_API_URL environment variable is required」

MCP クライアントの設定で env セクションを構成していることを確認してください。

「Invalid token」
  1. トークンが sift_pat_ または従来の exf_pat_ で始まっていることを確認してください
  2. トークンが取り消されていないことを確認してください
  3. トークンの有効期限が切れていないことを確認してください
ツールが表示されない
  1. 設定を変更した後、IDE を再起動してください
  2. IDE のログで MCP エラーを確認してください
  3. npm run inspect を実行して、サーバーを直接テストしてみてください

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。