Wiring Pulse into an MCP Client
Audience: Pulse internals contributors and integrators wiring the
pulse mcp server into an MCP-aware client (Claude Desktop, Claude
Code, any custom MCP host).
Pulse ships an embedded MCP server that exposes the public facade
through one tool per facade method plus the skills, examples, errors,
import and label tools (the manifest’s mcp_tools block is the live
list — never count it by hand) and two resource schemes (pulse://*.pulse, pulse-skill://*).
Wiring it into a client is a three-step process: build, configure,
restart.
1. Build the binary
make build
The resulting bin/pulse must be on the client’s PATH (or
referenced by absolute path in the client’s configuration).
2. Configure the client
Add an mcpServers.pulse entry to the client’s configuration file
(claude_desktop_config.json for Claude Desktop, ~/.claude.json
for Claude Code) running pulse mcp and exporting PULSE_DATA_DIR:
{
"mcpServers": {
"pulse": {
"command": "/abs/path/to/bin/pulse",
"args": ["mcp"],
"env": {
"PULSE_DATA_DIR": "/abs/path/to/your/cohorts"
}
}
}
}
The --bind-on-open flag (default true) controls whether successful
pulse_inspect calls trigger registration of session-scoped tool
variants whose JSON Schemas constrain field-name parameters to the
cohort’s actual fields. Pass --bind-on-open=false for clients that
bind themselves:
{
"command": "/abs/path/to/bin/pulse",
"args": ["mcp", "--bind-on-open=false"]
}
3. Restart the client
After the client reloads its MCP configuration the Pulse tools
(pulse_inspect, pulse_predict, pulse_process, …) and resources
(pulse://*.pulse, pulse-skill://*) appear in the tool / resource
list.
Schema-bound enums
The full configuration recipe — including the schema-bound enums
section that describes the inspect trigger, the multi-file limitation
(latest inspect wins), and the transport-support caveat (bind-on-inspect
works on the single stdio session via post-serve AddTool /
RemoveTools; there is no per-session override for a shared HTTP
server) — lives in Adding an MCP tool.
Verification
bin/pulse mcp --help
bin/pulse manifest --json | jq .data.mcp_tools
If the client supports an MCP tool inspector, point it at the
configured server and confirm it exposes every tool the manifest’s
mcp_tools block lists, plus the two resource schemes.