mcpField
P
POSTFACT — Resolve Ambiguous Side Effects Before Retry

POSTFACT — Resolve Ambiguous Side Effects Before Retry

リモート
postfact-api-production.up.railway.app開発ツール06 週間前に更新
リポジトリ公式サイト

POSTFACT — Resolve Ambiguous Side Effects Before Retry について

POSTFACTは、副作用を伴う処理が不明な結果になった際に完了の有無を判定し、自律型ソフトウェアの再試行前の判断を支援します。得られた根拠に基づきDONE、NOT_DONE、UNKNOWNを返し、元の処理自体は実行しません。

主な機能

  1. 01結果をDONE、NOT_DONE、UNKNOWNに分類
  2. 02再試行の安全性、信頼度、根拠を提示
  3. 03失敗状況と肯定的な根拠を受け付け
  4. 04次の対応を提案

活用シーン

  1. 01タイムアウト後にAPI処理の完了を確認
  2. 02失敗したツール呼び出しを再試行できるか判断
  3. 03根拠が不十分な場合に確認まで保留

MCP 対応

リモートMCPエンドポイントで `resolve_outcome` ツールを公開します。ツールの説明では、副作用を伴う処理が不明な失敗に終わった後、再試行前にPOSTFACTを呼び出すようAgentに案内します。

設定

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

エンドポイントhttps://postfact-api-production.up.railway.app/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

1
パラメーター型必須説明
methodstringいいえ
statusintegerいいえ
failurestringいいえ
evidenceobjectいいえ
evidence.providerStatusstringいいえ
evidence.resourceExistsbooleanいいえ
evidence.receiptVerifiedbooleanいいえ
evidence.transactionStatusstringいいえ
evidence.preExecutionRejectionbooleanいいえ
requestIdstringいいえ
sideEffectbooleanいいえ
resourceRefstringいいえ
idempotencyKeystringいいえ
transactionRefstringいいえ

詳細

POSTFACT

その呼び出しは実際に行われましたか?

POSTFACT は、自律型ソフトウェア向けのシンプルな曖昧な結果の判定ツールです。副作用を伴う API/ツールのアクションが曖昧な結果で失敗した後、再試行する前に使用してください。

本番環境:https://postfact-api-production.up.railway.app

意図的に厳格な設計です。

  • 完了を裏付ける肯定的な証拠がある場合に限り、DONE になります。
  • 未実行を裏付ける肯定的な証拠がある場合に限り、NOT_DONE になります。
  • 証拠が不十分な場合は、UNKNOWN になります。UNKNOWN が安全なデフォルトです。

POSTFACT は、基盤となるアクションを実行したり、資金を移動したり、タイムアウトが失敗を意味するとみなしたりすることはありません。

REST

本番エンドポイント:POST https://postfact-api-production.up.railway.app/v1/resolve

入力では、メソッド/ステータス/失敗、副作用と冪等性のコンテキスト、永続的な参照情報、および任意の肯定的な証拠を受け付けます。出力は state、retry_safe、confidence、evidence、next です。

MCP

リモートエンドポイント:POST https://postfact-api-production.up.railway.app/mcp

ツール:resolve_outcome

ツールの説明では、エージェントに対し、副作用を伴うアクションが曖昧な結果で失敗した後、再試行する前に POSTFACT を呼び出すよう明示的に指示しています。

ミドルウェア形式の契約

const outcome = await postfact.resolve(failureContext)
if (outcome.state === 'DONE') return completed
if (outcome.state === 'NOT_DONE' && outcome.retry_safe) return retry()
return verifyOrHold()

今後の SDK では、通信契約を変更せずに再試行ミドルウェアをラップできます。

POSTFACT + RECOVER

POSTFACT は**何が起きたと確認できるか?に答えます。RECOVER は次に取るべき最も安全なアクションは何か?**に答えます。今後の再試行スタックでは、最初に POSTFACT を呼び出し、結果が不確かなままの場合に RECOVER を呼び出せます。

安全な情報取得とデモ

  • ヘルス:GET https://postfact-api-production.up.railway.app/health
  • デモ:GET https://postfact-api-production.up.railway.app/demo
  • アクティビティ:GET https://postfact-api-production.up.railway.app/activity
  • 機械可読なアクティビティ:GET https://postfact-api-production.up.railway.app/activity.json

GET /demo は、実利用の分析対象から意図的に除外されています。

実利用のスコアボード

GET /activity では、恒久的な FIRST 10 TRUE STRANGERS スコアボードを確認できます。GET /activity.json では、機械可読な概要を取得できます。デモ/内部トラフィックは除外されます。本番環境の永続ストレージは /data にマウントされています。

実行

npm test
npm start

デフォルトのポート:8080。

コメント

MCP は初めてですか?

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

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