Toolplane

An MCP control plane for Spring teams who cannot ship an unlocked door

We put API keys, an audit trail, and human-in-the-loop in front of payment tools. Agents may search and explain. They may not complete a credit transfer until an operator approves it. The local demo runs on synthetic data and stubs — no paid model calls.

What we ship

A control plane, not a chatbot wrapper.

Locked JSON-RPC, human approval on money movement, and an audit record of every tool call.

Locked JSON-RPC at /mcp

tools/list and tools/call. Unauthenticated calls fail. X-API-Key on /mcp and /audit. Optional OAuth2 resource server when the oauth profile is on.

HITL on money movement

create_transfer stays PENDING until POST /approvals/{id}/approve with a key. That is the whole point.

Audit every tool call

Who (key id), tool, args hash, decision, latency, timestamp. Kafka topic toolplane.audit.v1 when a broker exists; the database still writes if it does not.

Java 21 / Spring Boot 3.5

Tools declared with @McpTool. We do not expose Spring AI’s unauthenticated HTTP MCP transport. Toolplane is that door, locked.

Access

Private source. Public offer.

The implementation lives in a private GitHub repository. We do not treat a clone URL as the product. If you want a two-week diagnostic on a Java/Spring payments or operations stack — invoice nSave ACH or Payoneer — write the company inbox.

Need a locked MCP door on a Spring stack?

Write us. We will tell you whether a diagnostic is the right next step.