An excluded tool stays excluded.
A request for run_decision_policy was refused by name inside the governed response envelope.
status: ERROR error_code: TOOL_NOT_ALLOWED "run_decision_policy" is not in the EVA MCP allow-listRaw refusal
Kindynos exposes a bounded Model Context Protocol surface so an AI client can discover and invoke approved EVA tools without moving analytical authority into the model. The interface carries requests and results; EVA remains the system that computes the consequence.
The evidence pack was produced from a live EVA repository and a real MCP server subprocess. Claims below are limited to what was executed or directly inspected.
The reference demonstration used the US housing ecosystem and fired a borrower home-sale payoff event through the live MCP server.
What happens to the mortgage chain when the borrower sells the home and pays off the loan?
Tool: run_event_impact
{
"ecosystem_id": "us_housing_v9",
"event_code": "HOU_BORR_HOME_SALE_PAYOFF"
}Headline values are rounded for display; the linked response JSON preserves the exact machine output.
The loan and servicing calculations were returned with model/version identity, input/output hashes, run identity and source lineage in the EVA result.
The same tool was called directly through EVA's validated dispatcher and through the real MCP server. Seventeen top-level fields were compared.
Verdict: EQUIVALENT. The run ID was byte-identical, each channel-1 asset delta matched, and the input/output hashes matched. Wall-clock timestamps were the only intentionally excluded difference.
us_housing_v9 × payoffsame−381129.6757923033−381129.6757923033−17637.17720693946−17637.17720693946engine10::a8d44386…engine10::a8d44386…samesameThe live EVA MCP surface registers a fixed allowlist of nine tools. Requests outside that surface are returned as structured refusals rather than being improvised by the adapter.
A request for run_decision_policy was refused by name inside the governed response envelope.
status: ERROR error_code: TOOL_NOT_ALLOWED "run_decision_policy" is not in the EVA MCP allow-listRaw refusal
A bogus event code sent through an allowed tool produced EVA's own catalog error, carried across MCP without being reinterpreted.
status: ERROR error_code: UNKNOWN_EVENT EVT_DOES_NOT_EXIST_XYZRaw refusal
The verified surface includes analytical execution, explanation, discovery and glossary access. The adapter does not add a second analytical implementation.
run_event_impact
run_event_impact_with_inputs
Deterministic event consequence execution. The with-inputs variant was registered, schema-verified and unit-tested but not exercised live in this demonstration.
run_decision_impact
compute_reaction
Bounded decision consequence and payoff/minimax analysis.
explain_run
list_ecosystems
list_personas
list_events
define_term
Read stored runs and discover the available analytical vocabulary.
The public claim stays inside the evidence collected on 18 August 2026.
EVA MCP ran live over local stdio using the official MCP SDK. Tool discovery, analytical execution, direct-vs-MCP equivalence and typed refusal were exercised.
A redacted Claude Desktop log records a real July 2026 client session with tool protocol messages. That client path was evidenced, not re-run during this verification.
No remote or hosted MCP deployment is claimed. EOS MCP was documented in prior build material but was not executed in this verification.
MCP is the interoperability layer between them. The analytical result remains an EVA result, with its model identity, run identity, evidence and refusal state intact.
AI client
↓
MCP
↓
EVA tool dispatcher
↓
engine10
↓
evidence-bearing result