NumProof について
NumProofは、AIエージェントやスプレッドシート向けに数値・財務上の主張を決定論的に検証する、オープンソースのPythonクライアントとMCPサーバーです。別のモデルに判定させず、再現可能な結果、出所情報、署名付き証拠を返します。
主な機能
- 01厳密な算術による主張の検証
- 02表の行と数式の監査
- 03レポート版の比較
- 04財務コベナンツ規則の評価
- 05署名付き検証証拠の作成
- 06レシートのオフライン再検証
活用シーン
- 01AIエージェントの数値主張を判定
- 02表計算の合計や利益率を監査
- 032つのレポート版を比較
- 04財務コベナンツ計算を検証
MCP 対応
NumProofのMCPサーバーは、MCPクライアントからホスト型検証APIを呼び出し、主張の検証やスプレッドシート監査などを実行できます。`python -m numproof.mcp`でローカル実行するか、ホスト型ディスクリプターに接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://numproof.com/mcpclaude mcp add --transport http projecttron-numproof https://numproof.com/mcp{"mcpServers":{"projecttron-numproof":{"type":"http","url":"https://numproof.com/mcp"}}}Cursor で開く{"servers":{"projecttron-numproof":{"type":"http","url":"https://numproof.com/mcp"}}}VS Code で開く{"mcpServers":{"projecttron-numproof":{"type":"http","url":"https://numproof.com/mcp"}}}{"mcpServers":{"projecttron-numproof":{"serverUrl":"https://numproof.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| claim | string | はい |
詳細
NumProof
AI エージェントやスプレッドシートのための、決定論的な数値検証レイヤーです。
エージェントが 「粗利益率が 42.1% から 44.8% に改善した」、あるいは 「ワークブックの内部整合性が取れている」 と記述した場合、NumProof はその数値が VERIFY、REFUTE、ABSTAIN のいずれに当たるかを、反例、セル/数式の出所情報、署名済みの機械検証可能な監査バンドルとともに、決定論的に判定します。厳密な算術と記号計算を行います。LLM が別の LLM を評価する仕組みではありません。
- ✅ 単一の数学/財務上の主張を検証したり、CI で数千件を一括処理したりできます
- ✅
xlsx/csvの行を監査できます。出所情報付きで、合計、横計、貸借対照表の整合性、利益率、数式セルなどを確認します - ✅ 2 つのレポートバージョンを比較し、コベナントルールパック(DSCR、Debt/EBITDA、流動比率など)を評価できます
- ✅ 署名済みの証拠バンドル(JSON + HTML/PDF/ZIP)により、誰でもオフラインで再検証できます
- ✅ API · CLI · MCP サーバー · オプションの x402 による従量課金
このリポジトリは オープンソースのクライアント(SDK + MCP)です。検証エンジンはホスト型サービスとして稼働します。
pip install numproofでインストールし、API を指定するだけで使えます。(stripe-pythonと同じ形態です。SDK はオープンで、エンジンはサービスとして提供されます。)
ライブデモ(キー不要):https://numproof.com · ドキュメント:https://numproof.com/docs
30 秒で始める
pip install numproof
from numproof import NumProof
np = NumProof.from_env() # NUMPROOF_API_KEY (get a free key: see below)
print(np.verify("120 + 90 + 340 + 15 == 565"))
# {'verdict': 'VERIFY', 'certificate': 'EXACT_ARITHMETIC', ...}
print(np.verify("a 50% loss needs a 100% gain to break even")) # VERIFY: (1-0.5)*(1+1.0)==1
print(np.verify("two 10% raises equal a 21% total increase")) # VERIFY
print(np.verify("operating margin is 18% when EBIT is 180 and revenue is 1000")) # VERIFY
インストール不要。HTTP を使うだけです。
curl -s https://numproof.com/demo -H 'Content-Type: application/json' \
-d '{"claim":"gross margin is 60% when gross profit is 600 and revenue is 1000"}'
無料の API キー:
curl -s https://numproof.com/signup -X POST -H 'Content-Type: application/json' -d '{}'
スプレッドシートを監査する(出所情報付き)
rows = [["Revenue", 1000], ["COGS", 400], ["Gross Profit", 600], ["Gross Margin", "60%"]]
print(np.audit_rows(rows)["verdict"]) # PASS (600/1000 == 60%, footing, ties, ...)
# covenant rule packs: DSCR, Debt/EBITDA, current ratio, custom thresholds
print(np.covenant_rows(
[["EBITDA", 500], ["Debt Service", 300], ["Debt", 1200]],
rule_pack="credit_covenants_basic",
)["verdict"])
すべての監査/差分/コベナントの結果は、署名済みバンドルと、人が読める HTML/PDF レポート(format="zip")として返せます。受信者は、あなたや NumProof を信頼することなく検証できます。
curl -s https://numproof.com/audit/verify -H 'Content-Type: application/json' -d @bundle.json
# {"valid": true, "verdict": "PASS", "signer": "0x...", ...}
AI エージェントから使う(MCP)
NumProof は MCP サーバーを提供しており、Claude / OpenAI 形式のエージェントからツールとして呼び出せます。数値に関する主張がユーザー、レポート、監査担当者に届く前に、すべてをチェックできます。
python -m numproof.mcp
{ "mcpServers": { "numproof": { "command": "python", "args": ["-m", "numproof.mcp"] } } }
または、任意の MCP クライアントからホスト型ディスクリプターを指定してください:https://numproof.com/mcp.json。
実行可能なスクリプト(verify、audit、covenants、agent-gate、MCP)については、examples/ をご覧ください。
エージェントフレームワークに組み込めるガードレール
エージェントが出力する数値を動作の前に検証できます。すでにお使いのフレームワークで利用できます(numproof/integrations/ — 各フレームワークは遅延インポートされるため、numproof クライアントは標準ライブラリのみに依存します)。
# OpenAI Agents SDK — output guardrail that trips on REFUTE
from agents import Agent
from numproof.integrations.openai_agents import numproof_output_guardrail
agent = Agent(name="...", instructions="...", output_guardrails=[numproof_output_guardrail()])
- OpenAI Agents SDK —
numproof.integrations.openai_agents(出力ガードレール/トリップワイヤー) - Pydantic AI —
numproof.integrations.pydantic_ai(出力バリデーター。反例を添えてModelRetryを発生させ、モデル自身による修正を促します) - LangChain —
numproof.integrations.langchain(NumProof のToolと出力チェッカー) - DeepEval (Confident AI) —
numproof.integrations.deepeval(決定論的なNumProofMetric:VERIFY → スコア 1.0、REFUTE → スコア 0.0。反例は.reasonに格納されます) - Guardrails AI —
numproof.integrations.guardrails(Hub のValidator:REFUTE → 反例を含むFailResult。そのため、on_failのアクション(再質問/修正/例外)が実行されます)
VERIFY → 通過 · REFUTE → 反例とともにブロック/再試行 · ABSTAIN → そのまま通過(設定可能)。実行可能な例は examples/ にあります。使用するフレームワークだけをインストールしてください。
独立に再検証できる証明書(偽造できない部分)
あらゆる判定を署名付き検証レシートとして返せます。しかも、トランスポートも NumProof も信頼せず、オフラインで再検証できます。
pip install "numproof[verify]"
numproof-verify receipt.json --signer 0x<published-NumProof-signer>
# OK independently re-derived + signature valid
EIP-191 署名者を復元して改ざんを検知できるだけでなく、value/agg/identity/sequence の主張については、stdlib の Fraction と sympy を使って判定を独立に再導出します。改ざんされたフィールド、誤った署名者、実際には成立しない判定は、すべて明確に失敗します。NumProof 自身が誤って署名したレシートでさえ、再導出によって検出されます。エージェントは自分で数値を再計算できますが、第二者が受け入れる独立した署名付き証明を発行することはできません。価値があるのは、その独立性であり、算術ではありません。形式と仕様については、RECEIPT_FORMAT.md を参照してください。
決定論的である理由(そして、それが重要な理由)
一般的な「AI ガードレール」はモデルを使って別のモデルを評価するため、確率的であり、評価側も幻覚を起こす可能性があります。NumProof は数学を厳密に再計算し(有理数演算と記号的な恒等性の検証)、追跡可能な再現性のある判定を返します。証明できない場合は推測せず、ABSTAIN と返します。金融、規制対象の業務、エージェントのワークフローでは、*「別のモデルには正しそうに見える」よりも「数値が正しいと証明できる」*ことが優先されます。全表については、comparison.md を参照してください。
料金
| プラン | 料金 | 対象 |
|---|---|---|
| Sandbox | $0 | ウェブデモ+無料クレジット |
| x402 PAYG | $0.005 / call | エージェントからツールへの利用、サブスクリプション不要 |
| Builder | $29/mo | API+MCP+CLI、2k クレジット |
| Pro | $99/mo | バッチ処理、ウェブフック、CI、署名付きエクスポート、10k クレジット |
| Finance Team | $299/mo | 5 席、バージョン差分、コベナンツパック、ブランド付きエクスポート |
このリポジトリの内容
numproof Python SDK(NumProof クライアント)、MCP サーバー、実行可能なサンプルが含まれています。いずれもホスト型 API への薄い HTTP クライアントです。MIT ライセンスです。検証エンジン、金融監査ロジック、形式的(Lean)証明ティア、署名機能はホスト型サービスに含まれており、このリポジトリには含まれていません。
誤った判定を見つけた場合は、該当する主張を正確に記載して issue を作成してください。正確性こそが、この製品のすべてです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。