phionyx-mcp-server
An MCP trust boundary that produces signed, hash-chained evidence envelopes for third-party MCP tool calls, enabling tamper-evident audit and descriptor verification.
README
phionyx-mcp-server
The MCP trust boundary in the Phionyx runtime — descriptor signing, signed evidence envelopes, and a tamper-evident audit chain over third-party MCP tool calls.
phionyx-mcp-server sits between an MCP-capable host (Claude Desktop, Cursor, Zed,
VS Code, JetBrains) and any third-party MCP server it talks to, producing
tamper-evident evidence at every trust-boundary crossing. It closes a security gap
the MCP specification
(2025-11-25) explicitly
defers to implementors:
"MCP itself cannot enforce these security principles at the protocol level; implementors SHOULD..."
The threat surface is aligned with arXiv:2512.06556 (Jamshidi et al., Securing the Model Context Protocol) — tool poisoning, shadowing, rug pulls.
Where it fits
Phionyx ships three distinct things, each on its own version line — don't cross-attribute them:
- Engine —
phionyx-core: the deterministic-cognition runtime (46-block canonical pipeline, kill switch, HITL queue, ethics/safety gates, signed audit chain).pip install phionyx-core. - Gate —
phionyx-pipeline-mcp: an agent self-claim gate that verifies "I fixed / I tested / this changed" against the repository's actual diff. - Format — AI Runtime Evidence Protocol (AIREP): an experimental, vendor-neutral open format for an AI decision receipt — one signed, hash-chained, offline-checkable record per runtime decision, readable by anyone and tied to no vendor. AIREP is a proposed format, not a ratified standard. Phionyx's Reasoned Governance Envelope (RGE) is AIREP's reference producer (the first system that emits AIREP records; it matures by conforming).
This package is the outward MCP trust boundary — it produces signed, hash-chained evidence over third-party MCP tool calls. The envelopes it emits are RGE records (a Phionyx profile of AIREP). It interoperates with the gate through a shared session trace, so both governance surfaces share one view.
Status
v0.2.0. Five of eight capabilities are fully implemented; three are explicit
stubs that return structured not_implemented markers (callers can detect server
maturity). The two load-bearing capabilities — descriptor verification and
tool-call audit — are live. Envelopes follow RGE v0.2 (Reasoned Governance
Envelope), the Phionyx profile of AIREP.
| # | Capability | Status |
|---|---|---|
| 1 | Tool descriptor hash | ✅ implemented |
| 2 | Descriptor change detection | ✅ implemented |
| 3 | Tool permission scope | 🟡 envelope field populated; policy logic stub |
| 4 | Tool call I/O hash | ✅ implemented |
| 5 | User approval state | 🟡 envelope field populated; UX surface stub |
| 6 | Runtime anomaly record | 🟡 records to the audit side-log; drift scoring stub |
| 7 | Signed evidence envelope | ✅ implemented (RGE v0.2) |
| 8 | Chain verification command | ✅ implemented (phionyx-mcp verify-chain) |
Install
pip install phionyx-mcp-server
phionyx-mcp --help
Use — as an MCP server
Add to your MCP-capable host (Claude Desktop example):
{
"mcpServers": {
"phionyx-governance": { "command": "phionyx-mcp-server" }
}
}
The host then sees four production MCP tools:
verify_tool_descriptor(descriptor, baseline_hash)— hash and compare against an approved baseline (full descriptor, includingprotocolVersion).record_tool_call(turn_index, user_text, producer, …, trace_id=None)— emit a signed RGE v0.2 envelope.trace_idis optional; resolved fromPHIONYX_TRACE_IDor~/.phionyx/active_trace.verify_chain_integrity(trace_id=None)— walk the chain, refuse mixed schemas.query_audit_history(trace_id=None, limit=50)— replay envelopes for review.
Plus three stub tools returning structured not_implemented markers.
Shared trace with the gate
When installed alongside phionyx-pipeline-mcp, the two servers share a single
trace_id per session, so one session's evidence spans both governance surfaces:
PHIONYX_TRACE_IDenv var → highest precedence.PHIONYX_ACTIVE_TRACE_FILE(default~/.phionyx/active_trace) → file fallback.- The first caller generates a UUID-derived trace and persists it.
Use — as a CLI
phionyx-mcp head --trace trace-abc123 # current chain head
phionyx-mcp verify-chain --trace trace-abc123 # walk + verify the chain
phionyx-mcp show --trace trace-abc123 --turn 7 # show one envelope
The CLI exits 0 on a valid chain, 1 on tamper/break, 2 on invocation error.
Persistence
Envelopes are written under $PHIONYX_MCP_AUDIT_ROOT (default ~/.phionyx/mcp_audit/):
<root>/<trace_id>/chain.jsonl (append-only index)
<root>/<trace_id>/<turn:06d>.json (full canonical-JSON envelope)
Swap the persistence layer by passing an alternative EnvelopeStore-protocol
implementation (S3, DynamoDB, …).
Schema — RGE v0.2
Envelopes conform to RGE v0.2 (Reasoned Governance Envelope), the Phionyx
profile of the AI Runtime Evidence Protocol (AIREP). The signature
covers all envelope content except the self-referential
mcp_tool_audit.signed_envelope_ref. The schema, RFC, and worked examples ship in
this repository.
Tests
pip install -e .
pytest -q
The suite pins descriptor-hash semantics (full descriptor including
protocolVersion), RGE v0.2 schema conformance (jsonschema Draft 2020-12), and
hash-chain integrity (tamper, reorder, and mixed-schema detection).
See also
- Engine — phionyx-core on PyPI
- Gate — phionyx-pipeline-mcp
- Evidence format — AI Runtime Evidence Protocol (AIREP)
- Runtime narrative — phionyx.ai
License
AGPL-3.0-or-later.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。