@solidnumber/mcp
v1.1.1
Published
Receipt-backed ACID for AI agents. 169 agent-attraction verbs (aggregate / explain / preview / suggest / transaction / receipt / revert / subscribe + more) + 45 platform tools. Same registry projected to CLI / WebMCP / UCP / MCP stdio. AI-first.
Maintainers
Readme
@solidnumber/mcp
Model Context Protocol server for Solid# — 316 agent-attraction verbs plus 45 platform REST tools, projected through stdio for any MCP- speaking agent runtime (Claude Desktop, Cursor, Cline, Codex, Windsurf, custom).
This server is for AI agents, not humans. The 316 verbs are the product; this binary is the projection.
Install — 30 seconds
Claude Desktop / Cursor / Windsurf — one command (requires @solidnumber/cli):
solid mcp install claude # or: cursor / windsurf / clineOr add to claude_desktop_config.json directly (no CLI needed):
{
"mcpServers": {
"solidnumber": {
"command": "npx",
"args": ["-y", "@solidnumber/mcp"],
"env": { "SOLID_API_KEY": "sk_solid_…" }
}
}
}Or via claude mcp add (Claude Code):
claude mcp add solidnumber -- npx -y @solidnumber/mcpSOLID_API_KEY is optional for read verbs (falls back to a public sandbox tenant), required for writes. Get a key at https://solidnumber.com/dashboard/install-command.
npm: https://www.npmjs.com/package/@solidnumber/mcp
What an agent loading this server gets
361 tools. 316 are Solid#'s agent-attraction verbs — receipt-backed, rollback-safe, shape-typed action surface for AI agents. Twelve shapes:
| Shape | Examples | What it gives the agent |
|---|---|---|
| Aggregate | customer_full_context, payment_full_history, order_complete_fulfillment_state | Collapse 5-8 sub-queries into one tenant-scoped read |
| Explain | deal_explain_stage_change, crm_explain_contact_state, inventory_explain_stockout | Causal chain that produced a state |
| Preview | payments_preview_refund_impact, subscription_preview_tier_change, infrastructure_preview_resize | Dry-run a write before commit |
| Suggest | deal_suggest_next_action, customer_suggest_upsell, inventory_suggest_reorder | Ranked next-actions wrapped in the confidence envelope (confidence + confidence_band + reason + model_version + sample_size) |
| Transaction | transaction_start, transaction_append, transaction_commit, transaction_abort | ACID grouping over multi-step writes |
| Receipt | ucp_receipts_issue, voice_call_outbound, voice_send_sms | UCP-style attestations on side-effecting writes |
| Revert | audit_revert | Single-action undo against whitelisted audit rows |
| Subscribe | event_subscribe, event_poll, event_unsubscribe, event_list | Cursor-polling observe streams over AIAuditLog |
| Discovery / Trail / Reputation / Macro / Telemetry | agent_manifest, agent_trails_lookup, agent_reliability_scoreboard, agent_macros_execute, agent_telemetry_status | Introspection + reliability + saved-chain promotion |
…plus 45 platform REST tools (pricing / ROI / industry templates / case studies / KB / referrals) that were already in v1.0.
Verb tour — what you can do in 60 seconds
# Read a customer's full context (orders, interactions, lifecycle, tickets)
solid agent dispatch customer_full_context --args '{"customer_id": 42}' --json
# Preview a refund without executing it
solid agent dispatch payments_preview_refund_impact --args '{"transaction_id": 100}' --json
# Diagnose a managed droplet's health
solid agent dispatch infrastructure_diagnose --json
# Get ranked next-actions for a deal
solid agent dispatch deal_suggest_next_action --args '{"deal_id": 7}' --json
# Check the live verb manifest (no auth)
curl https://api.solidnumber.com/api/v1/agent/verbs?surface=mcp_stdioEvery write verb returns an audit_id. Pass it to audit_revert to undo.
Sibling transports — same registry, four projections
This MCP server is one of four sibling transports projecting the same
UNIFIED_VERB_REGISTRY. Adding a verb to the registry exposes it
through all four within minutes (5-min cache TTL on this bridge):
UNIFIED_VERB_REGISTRY (316 verbs)
│
┌──────────────┬─────────┴────────┬──────────────┐
CLI MCP stdio WebMCP UCP
solid-cli @solidnumber/mcp in-browser .well-known/ucp
(this pkg) navigator.modelContext| Transport | Who uses it | Install |
|---|---|---|
| MCP stdio | Claude Desktop, Cursor, Windsurf, Cline | npx @solidnumber/mcp |
| CLI | Claude Code, shell-running agents | npm i -g @solidnumber/cli |
| WebMCP | In-browser agents (Chrome agent mode) | Automatic — every Solid# page ships verbs |
| UCP | Buyer-agents (Gemini AI Mode, ChatGPT) | /.well-known/ucp discovery |
Parity is enforced by a backend integration test
(tests/integration/test_sibling_transport_parity.py): a verb visible
on one transport is visible on all four unless it explicitly omits the
surface in its VerbRecord.surfaces declaration.
Auth model
| Tier | What the agent needs | What it gets |
|---|---|---|
| Sandbox | nothing | Read verbs against a public demo tenant (rate-limited) |
| Authenticated | SOLID_API_KEY env var | Read + write verbs against the key's bound tenant. Write verbs go through the same consent + idempotency + audit-log path as the dashboard. |
The MCP server is a thin projection. Multi-tenant isolation, consent
gates, rate limits, and audit logging are all enforced server-side at
/api/v1/agent/{namespace}/{verb} — never in this client. The bridge
just forwards.
Receipt-backed ACID for AI agents
The reasoning loop the verb shapes support:
observe (aggregate) → explain → preview → commit (transaction/receipt)
│
↓
audit_revertAn agent invoking a write verb gets back an audit_id. Pass that id
to audit_revert and the action is undone (whitelisted handlers in
the backend; unsupported types return a structured refusal with a
machine-readable reason). Same architecture across all 316 verbs.
Live registry probe
A loaded agent can introspect the live verb manifest at any time:
GET https://api.solidnumber.com/api/v1/agent/verbs?surface=mcp_stdioReturns the canonical JSON manifest the MCP bridge fetches every 5
minutes. New verbs land in tools/list within 5 minutes of shipping
in the backend manifest — no @solidnumber/mcp republish required.
36 tool categories
CRM (contacts, deals, tasks, notes, tags) · Payments (invoices, refunds, payment links, disputes, payouts) · Voice (outbound calls, SMS, transcripts, translation) · Scheduling (appointments, Google Calendar) · CMS (pages, blog posts, brand engine) · Inventory (stock, allocation, reorder) · Infrastructure (droplet diagnose, resize, scale workers) · Subscriptions (tier upgrade/downgrade, seats, cancel) · GDPR (contact delete, data export) · Email (send, schedule, inbox read) · Analytics (web analytics, revenue reports) · Social (post create/schedule, platform management) · Integrations (connect, disconnect, status) · Agents (inter-agent messaging, mission dispatch) · Knowledge Base (create, update, search) · Workflows (trigger, list) · Audit (log access, revert) · Team (member management, campaign send) · Predict (deal-close, no-show, payment-late, target discovery) · and more.
Links
- npm: https://www.npmjs.com/package/@solidnumber/mcp
- Discovery: https://solidnumber.com/.well-known/mcp.json
- MCP endpoint: https://solidnumber.com/api/mcp
- Full verb JSON Schema:
GET https://api.solidnumber.com/api/v1/agent/verbs?surface=mcp_stdio - Docs: https://solidnumber.com/docs/mcp
- Source: https://github.com/Adam-Camp-King/solid-mcp-server
- Verb spec:
spec/— shapes, manifest, transport, receipts, consent (bundled in this repo) - Verb-shape taxonomy:
Owners-Manual/73-WebMCP-Integration/NEW-VERBS-PROPOSAL.md - Sibling parity contract:
Owners-Manual/78-Public-MCP-Server/03-SIBLING-PARITY.md
License
BSL-1.1 (converts to Apache 2.0 on 2030-04-14). Same license as
@solidnumber/cli.
Author: Adam Campbell — Solid Number Inc.
