One npx installs the LogicPearl MCP server into Claude Desktop and Cursor, with timestamped backups of each config. Every chat then has access to three tools. The LLM decides when to call them; LogicPearl decides what they return.
The install subcommand finds each host's MCP config, saves a timestamped backup, writes the logicpearl entry, and tells you what to relaunch. Pass --dry-run first to see exactly what would change.
$ npx @logicpearl/mcp install LogicPearl MCP · install Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json · backup saved: claude_desktop_config.json.2026-04-22T18-30-01.bak ✓ added logicpearl entry Cursor ~/.cursor/mcp.json ✓ added logicpearl entry ──────────────────────────────────────────────────── ✓ Configured 2 hosts. Next: 1. Quit and relaunch the host app so it picks up the new config. 2. In a chat, try: "List the rules in the refund-eligibility artifact." 3. The host will call the logicpearl_list_rules tool.
Only want one host? --host claude or --host cursor. Want to preview first? --dry-run.
{verdict, allow, fired_rules, counterfactual_hints, bitmask, latency_ms}. Same input always yields the same bitmask.
Customers don't send JSON. The agent pattern is: the LLM plans, calls describe_artifact to learn the schema, extracts features from prose, calls evaluate, then calls list_rules only if it needs to explain. Copy-paste schemas below work with both Anthropic and OpenAI tool use.
tools: [ { name: "logicpearl_evaluate", description: "Deterministically evaluate a rule artifact.", input_schema: { type: "object", properties: { facts: { type: "object" } }, required: ["facts"] } } ]
tools: [ { type: "function", function: { name: "logicpearl_evaluate", description: "Deterministic rule evaluation.", parameters: { type: "object", properties: { facts: { type: "object" } } } } } ]
Any MCP-compatible host can launch the server directly. Add this block to your host's MCP config — most use mcpServers as the top-level key.
{
"mcpServers": {
"logicpearl": {
"command": "npx",
"args": ["-y", "@logicpearl/mcp", "start"]
}
}
}
Pass --artifact <url-or-path> after start to override the default refund-eligibility artifact with your own.
stdio transport assumes the host is trusted — the host spawns the server as a child process. Multi-tenant hosting is a v2 problem, and it needs SSE or HTTP transport anyway.
The default artifact ships with the package, but any artifact argument accepts a public https URL or a local path. A hosted registry with signature verification is planned; not here yet.
Enough for Claude Desktop, Cursor, and MCP Inspector. SSE / HTTP transport will land when there's a hosted use case. The three tool shapes won't change.
Three npx commands to get the CLI feel before plugging the MCP server into a host.
Live Wasm artifact in a browser with the governance trace view — same engine, different surface.
Source for the engine, the packages, and the examples. MIT licensed. Issues and PRs welcome.