conduit-mcp
Provides an accounting adapter that allows AI agents to reclassify amounts by posting balancing ManualJournal entries to Xero, with governance gating, four-eyes approval, and a tamper-evident audit trail. Uses a mock transport by default, but can post to the live Xero API when credentials are provided.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@conduit-mcpPropose settlement 612000 for claim CLM-5510-19"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
conduit-mcp
A governance-layer MCP server. An AI agent's writes into a system of record are
gated, four-eyes signed, and written to a tamper-evident audit trail. Reads are
open; writes are not. Zero dependencies, on purpose: there is nothing to trust but this
package and its lib/, which is Conduit's own thesis (trust the proof, not the pipe)
applied to the server itself.
It runs out of the box against an in-memory demo backend (a Guidewire-style claims store), so you can connect a client and try it with no credentials or config.
What it exposes
Seven tools over the standard MCP stdio transport:
Tool | What it does |
| Read one record. Open. |
| Search a resource by free text. Open. |
| Draft a numeric change. Never writes. Returns the gate decision ( |
| Record one human signature on a proposal. Four-eyes enforced. |
| Gated. Writes only if the proposal has the required distinct signatures, otherwise refuses and says what is missing. |
| The hash-chained audit trail (reads, gate decisions, signatures, commits) with reasoning attached and an integrity check. |
| Adjust the auto-adjust ceiling and dual-control threshold for the session. |
The point: an agent that calls propose_change then commit_change on a high-value write
is stopped. It must route through human sign-off. Every step is on the record.
Related MCP server: @vaibot/mcp-server
Run
node server.mjs # speaks MCP JSON-RPC on stdio (demo backend)
npm test # drives the server end to end over both backends (17 checks)Backends
The governance (gate, four-eyes, audit) is backend-agnostic. Pick the system of record with
CONDUIT_BACKEND:
Backend | Select | Notes |
| (none) | In-memory Guidewire-style claims store. Zero config. |
|
| The Xero accounting adapter. A committed change reclassifies an amount by posting a balancing |
CONDUIT_BACKEND=xero node server.mjs
# over Xero, propose_change bankTransaction/BT-5521.reclassified_amount, then approve x2, then commitConnect a client
Claude Code
claude mcp add conduit -- node /absolute/path/to/mcp-server/server.mjsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"conduit": { "command": "node", "args": ["/absolute/path/to/mcp-server/server.mjs"] }
}
}OpenAI Agents SDK (Python) points at the same stdio server:
from agents.mcp import MCPServerStdio
conduit = MCPServerStdio(params={"command": "node", "args": ["/absolute/path/to/server.mjs"]})Once published to npm you can use npx conduit-mcp in place of the absolute path.
Try it (from any connected client)
get_recordclaimCLM-5510-19(settlement isnull)propose_changesettlement to612000(gate:dual, needs 2 signatures)commit_change-> refused, no signaturesapproveasusr_thabo, thenapproveasusr_naledi(two distinct humans)commit_change-> written, returns atxget_recordagain -> settlement is now612000get_audit_trail-> the whole chain, integrityok
Design
The write path is the governance ladder from the Conduit project (proven by the test suite (npm test, 17 checks): propose_change runs the gate; below the
auto-adjust ceiling a change auto-clears, at or above the dual-control threshold it needs
two distinct human signers, otherwise one. commit_change verifies signatures before it
writes. The audit chain (lib/audit.mjs) is append-only and hash-linked, so altering any
past entry breaks verification.
This server is a working reference. The demo backend is in-memory; a production adapter
(the Xero adapter here, CONDUIT_BACKEND=xero) swaps in behind the same tools.
Publish and list
An MCP server is not "submitted to" a model. Any MCP client connects to it. To get it in front of Claude and OpenAI users you publish it and list it, then their clients can find it.
1. Publish to npm (needs your npm login; a public name claim, so do it deliberately):
cd mcp-server
npm login
npm view conduit-mcp version # confirm the name is free (E404 = free)
npm publish --access publicIf conduit-mcp is taken, set "name": "@yourscope/conduit-mcp" in package.json first,
then npm publish --access public.
2. List in the MCP Registry (registry.modelcontextprotocol.io). The io.github.iumvuyo/*
namespace in server.json is verified through GitHub, so you publish as the repo owner:
# get the mcp-publisher CLI from the modelcontextprotocol/registry releases
mcp-publisher login github # OAuth as IUMvuyo, verifies the namespace
mcp-publisher publish # reads server.json, creates the listingPublish to npm first; the registry entry references the npm package.
3. Clients. Once listed, Claude Desktop and Claude Code users add it by name; the OpenAI
Agents SDK and ChatGPT developer-mode connectors point at npx conduit-mcp. A PR to the
community list at github.com/modelcontextprotocol/servers is optional and curated.
Honest readiness. The server is real and it now ships two backends: the zero-config demo,
and the Xero accounting adapter that posts a genuine balancing ManualJournal. The remaining
gap is live credentials and a real-org shakedown (multi-currency, tracking categories, real
lock dates): the xero backend runs on a mock transport until XERO_ACCESS_TOKEN +
XERO_TENANT_ID are supplied. Publishing now is legitimate as a reference governance server
with a real (mock-by-default) adapter; a "verified against a live org" claim needs those creds
and a design partner first.
MIT licensed. Part of Conduit.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceCryptographic proof of every AI decision. An immutable, verifiable audit trail MCP server.Last updated1MIT

@vaibot/mcp-serverofficial
Flicense-qualityDmaintenanceGovernance circuit-breaker MCP server that enables AI agents to request risk-based decisions, approve or deny actions, and finalize outcomes with full audit receipts.Last updated- FlicenseAqualityBmaintenanceA self-hosted MCP server providing a governed interface for AI agents to interact with local Docker infrastructure, featuring a two-phase confirm protocol for state-changing operations and append-only audit logging.Last updated4
- Flicense-qualityCmaintenanceMCP server that enforces governance on agentic decisions with auditable evidence records, providing tools for understanding, calibrating confidence, and navigating handoffs based on policy.Last updated1
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IUMvuyo/conduit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server