mcpField
M
Mpc Mcp Server

Mpc Mcp Server

ローカル
github.com/ronviersAI・エージェント028 週間前に更新

Mpc Mcp Server について

Mpc Mcp ServerはMetastable Propositional Calculusを多段階推論に適用し、命題の相、矛盾、維持コストを分析します。複雑な主張が共存できるかを調べる用途に向け、5つのモデルプロバイダーとブラウザーUIでテキストや推論系列を分析できます。

主な機能

  1. 01テキスト仮説と相の分析
  2. 02推論ステップ間の認識ドリフト追跡
  3. 03主張へのc・s・k・r状態の割り当て
  4. 04予算見積もりと自由エネルギーの計算
  5. 055つのモデルプロバイダーに対応
  6. 06モデルカタログとブラウザーUI

活用シーン

  1. 01主張群の構造的な矛盾を確認
  2. 02多段階推論のエンティティとドリフトを追跡
  3. 03個々の主張の相分類を確認
  4. 04プロバイダーを設定して利用可能モデルを閲覧

MCP 対応

stdio経由で、テキストのコンパイル、多段階系列分析、主張の読み取り、予算見積もり、モデル一覧のツールをクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MPC — 準安定命題論理計算

準安定命題論理計算(MPC)エンジン。 複数ステップの推論において、論理的主張の熱力学的・物理的な実現可能性を分析します。標準的なブール論理とは異なり、前提を時間にわたって維持するためのエネルギーコストを計算することで、認識論的ドリフトや構造的な矛盾(k-state)を検出します。複雑な主張の列を矛盾に陥ることなく論理的に同時に維持できるかどうかを、厳密に検証するために使用してください。

真理値:c(確定) · s(保留) · k(矛盾) · r(リセット)


理論と背景

このツールを効果的に使用するには、MPC の理論的基盤を理解しておくと役立ちます。このフレームワークでは、命題を瞬時かつコストのかからないブール状態ではなく、潜在的なエネルギー地形に存在するシステムとしてモデル化します。エンジンを支える物理学、数学、論理についての詳しい説明は、基礎となるプロジェクト資料をご覧ください。


v0.3 の新機能

機能詳細
FastMCPMCP サーバーを FastMCP に置き換え、ツール定義を簡潔にし、クライアントとの互換性を向上
5 プロバイダーのルーティングAnthropic · Google · OpenAI · Kimi(Moonshot AI) · Ollama をすべて第一級でサポート
動的なモデル一覧表示各プロバイダーのモデル一覧エンドポイントにリアルタイムで問い合わせ。キャッシュの TTL は 5 分
環境変数の競合ゼロ各プロバイダーに専用の変数を用意:ANTHROPIC_API_KEY、GOOGLE_API_KEY、OPENAI_API_KEY、KIMI_API_KEY、OLLAMA_HOST
UI のプロバイダータブキー設定を横並びで表示、プロバイダーごとのステータスとモデル数を表示
list_available_models ツールモデルを動的に検出する新しい MCP ツール
再試行ロジック一時的なエラーを指数バックオフで最大 3 回再試行
/status + /env エンドポイントキーの値を公開せずに、プロバイダーの状態と環境変数を監査

プロバイダー

プロバイダーSDKキーの環境変数備考
AnthropicanthropicANTHROPIC_API_KEYClaude claude-opus-4-6、claude-sonnet-4-6、Haiku
Googlegoogle-generativeaiGOOGLE_API_KEYGemini 2.5 Pro、2.0 Flash、1.5
OpenAIopenaiOPENAI_API_KEYGPT-4o、o1、o3-mini など
Kimiopenai(OpenAI 互換)KIMI_API_KEYMoonshot AI · moonshot.cn
Ollamastdlib urllibOLLAMA_HOSTローカルモデル。キーは不要

API キーは次の順に解決されます:明示的な引数 → 環境変数 → .env ファイル。各プロバイダーが他のプロバイダーのキー変数を読み取ることはありません。


インストール

# Core — all five providers included
pip install -e .

# Add QuTiP for exact partition function (Ising Hamiltonian)
pip install qutip

# Add NetKet for spin-glass ground-state solver (requires JAX)
pip install "jax[cpu]" netket

# Full stack
pip install -e ".[full]"

Python ≥ 3.11 が必要です。


クイックスタート

API キーを設定する
# Any combination — only set what you have
export ANTHROPIC_API_KEY=sk-ant-…
export GOOGLE_API_KEY=AIza…
export OPENAI_API_KEY=sk-…
export KIMI_API_KEY=sk-…          # Moonshot AI key
export OLLAMA_HOST=http://localhost:11434   # default; omit if standard

または、ブラウザー UI の Providers タブでキーを入力し、.env に保存できます。

サーバーを起動する
mpc-server

次を起動します:

  • stdio 上の MCP サーバー(Claude Desktop または任意の MCP クライアントに登録)
  • http://localhost:7771 上の ブラウザー UI

Claude Desktop の設定

{
  "mcpServers": {
    "mpc": {
      "command": "mpc-server",
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-…",
        "GOOGLE_API_KEY": "AIza…",
        "OPENAI_API_KEY": "sk-…",
        "KIMI_API_KEY": "sk-…"
      }
    }
  }
}

MCP ツール

ツール説明API 呼び出し?
compile_textMPC の完全な分析:仮説、フェーズ、フラストレーション行列、自由エネルギー(QuTiP)、スピングラスの基底状態、定理 6.1 の上界✓
compile_sequenceエンティティ台帳を用いた複数ステップのトレース — 認識論的ドリフトと η_i の蓄積を追跡します✓
read_claims主張ごとのフェーズ割り当て(c/s/k/r)と根拠✓
budget_estimate定理 6.1 N_max = O(√(2E*/αε_min d_avg)) — 単純な算術計算✗
list_available_models5 つすべてのプロバイダーにわたるリアルタイムのモデルカタログ✗(キャッシュ済み)

すべてのツールで provider_api_key をオプションのパラメーターとして指定できます。省略すると、環境変数から自動的に読み取られます。


Python API

import mpc_core

# Full analysis — Anthropic (default)
result = mpc_core.compile("Your text here…", api_key="sk-ant-…")

# Google Gemini
result = mpc_core.compile("…", model="gemini-2.0-flash", api_key="AIza…")

# OpenAI
result = mpc_core.compile("…", model="gpt-4o", api_key="sk-…")

# Kimi (Moonshot AI)
result = mpc_core.compile("…", model="moonshot-v1-32k", api_key="sk-…")

# Local Ollama (no key needed)
result = mpc_core.compile("…", model="llama3:8b")

print(result.energy_model.free_energy)      # F = -kT ln Z
print(result.ground_state.energy)           # Ising ground-state energy
print(result.ground_state.stable_ids)       # most compatible hypothesis subset
print(result.analytical_summary)

# Per-claim phase assignment
phases = mpc_core.read_claims(
    ["All ravens are black.", "Some ravens are albino."],
    api_key="sk-ant-…",
    model="claude-sonnet-4-6",
)

# Budget theorem (no API call)
est = mpc_core.budget_estimate(N=8, d_avg=2.5, epsilon_min=1.2)
print(est.interpretation)

# Multi-step trace with Entity Ledger
seq = mpc_core.compile_sequence(
    ["Step 1 text…", "Step 2 text…", "Step 3 text…"],
    api_key="sk-ant-…",
)

# Dynamic model listing
from mpc_core.providers import list_models, ProviderID
models = list_models(ProviderID.ANTHROPIC, "sk-ant-…")

# Free-energy surface (no API call)
from mpc_core.thermodynamics import free_energy_surface
surface = free_energy_surface(my_epsilon_matrix, T_range=(0.2,5), E_star_range=(2,40))
# surface["F"][T_index][E_star_index] → F value

ブラウザー UI — タブ

タブ説明
テキストを分析仮説カード、熱力学ストリップ(Z、F、S)、基底状態ボックスを含む MPC の完全な分析
主張を読み取る1 行に 1 つの主張を入力 → フェーズを即座に割り当て
3D 自由エネルギーN_max 定理 6.1 の等高線を含む、インタラクティブな Plotly F(T, E*) 曲面
エネルギー地形予算/温度スライダー付きのアニメーション表示される 2D キャンバス
互換性行列ペアごとの ε_ij フラストレーション表
予算計算ツール定理 6.1 N_max — API キーは不要
履歴ヒートマップ推論トレース全体にわたる η_i の蓄積(補遺 V)
プロバイダーAPI キーの設定、プロバイダーごとのステータスとモデル数

HTTP API(localhost:7771)

メソッドパス説明
GET/ブラウザー UI(index.html)
GET/models環境変数のキーを使用したモデルカタログ
POST/models呼び出し元が指定したキーでカタログを更新
GET/env設定されている環境変数(値は非表示)
POST/statusプロバイダー接続のヘルスチェック
POST/setenvキーを .env に保存
POST/MPC アクション(compile、compile_sequence、read_claims、budget_estimate、free_energy_surface、ground_state)

テスト

# Arithmetic tests (no API key required)
pytest tests/ -v

# Live API tests — any provider combination
ANTHROPIC_API_KEY=sk-ant-…  pytest tests/ -v
GOOGLE_API_KEY=AIza…        pytest tests/ -v
OPENAI_API_KEY=sk-…         pytest tests/ -v
KIMI_API_KEY=sk-…           pytest tests/ -v

アーキテクチャ

mpc_core/
  providers.py     NEW v0.3 — ProviderID enum, per-provider key resolution,
                   dynamic model listing with TTL cache, all_models_catalogue()
  router.py        REWRITTEN — five-backend dispatch, retry logic, auth-error fast-fail
  compiler.py      compile() · read_claims() · budget_estimate() · compile_sequence()
  entity_ledger.py Cross-step entity registry (four-layer pipeline)
  thermodynamics.py QuTiP partition function · NetKet spin-glass · free_energy_surface()
  json_repair.py   Best-effort repair of truncated LLM JSON
  models.py        MPCResult dataclass hierarchy

mpc_server/
  server.py        REWRITTEN — FastMCP application + HTTP UI proxy (port 7771)
                   New endpoints: GET /env, POST /status, POST /models

static/
  index.html       REWRITTEN — provider selector tabs, per-provider key inputs,
                   dynamic model dropdowns, /status integration

ロードマップ

  • v0.1 ✓ コアコンパイラー、MCP サーバー、リファレンス UI
  • v0.2 ✓ マルチバックエンドルーティング · QuTiP · NetKet · 3D Plotly · 履歴ヒートマップ
  • v0.3 ✓ FastMCP · 5 つのプロバイダー · 動的なモデル一覧表示 · プロバイダー UI · 再試行ロジック
  • v0.4 定理 6.1 のスペクトルラプラシアン拡張、コミュニティを考慮した N_max 上界
  • v0.5 ストリーミング分析;仮説ごと・ステップごとの差分 η_i 表示

ライセンス

MIT

コメント

MCP は初めてですか?

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

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