MCP Server
ACMI ships as a Model Context Protocol (MCP) server with 14 tools, running over stdio transport. Works with Claude Desktop, Cursor, Cline, Windsurf, and any MCP-compatible client.
Setup Guide
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"acmi": {
"command": "node",
"args": ["/path/to/.openclaw/skills/acmi/mcp-server.mjs"],
"env": {
"UPSTASH_REDIS_REST_URL": "your-url",
"UPSTASH_REDIS_REST_TOKEN": "your-token"
}
}
}
}
Cursor / Cline / Windsurf
Same pattern — add to your MCP settings with command: "node", args: ["path/to/mcp-server.mjs"], and the two env vars. Restart your client after editing.
Tool Reference (14 Tools)
1. acmi_profile
Create or update an entity's hard state (name, stage, specs).
Params: namespace id profile (JSON string)
2. acmi_signal
Update AI-synthesized soft state (sentiment, priorities, scores). Mutable, changes frequently.
Params: namespace id signals (JSON string)
3. acmi_event
The workhorse. Log a timestamped event to the timeline. Follows Communication Standard v1.1.
Params: namespace id source summary kind (optional) correlationId (optional)
4. acmi_get
Fetch complete entity context: profile + signals + last 10 timeline events.
Params: namespace id
5. acmi_list
List all entity IDs in a namespace.
Params: namespace
6. acmi_work_create
Create a cross-session project, task, or idea.
Params: id profile (JSON string)
7. acmi_work_event
Log progress on a work item. Optionally bind to a session ID.
Params: id source summary sessionId (optional)
8. acmi_work_signal
Update work item signals (progress, blockers, metrics).
Params: id signals (JSON string)
9. acmi_work_get
Read a work item's full context: profile + signals + timeline (last 50) + sessions.
Params: id
10. acmi_work_list
List all work item IDs.
Params: none
11. acmi_cat
Multi-stream merge view. Combines timeline events from multiple entities, sorted by timestamp. Supports time filtering.
Params: keys (string array) since (e.g. "24h", "7d") limit
12. acmi_spawn
Log an agent session start. Records when an agent boots, with model and session info.
Params: agentId sessionId (optional) modelId (optional)
13. acmi_bootstrap
One-shot agent context bundle. Fetches everything a fresh session needs: profile, signals, active threads, rollup, recent timeline, and spawns.
Params: agentId
14. acmi_active
Track agent thread engagement. Add/remove threads or list current active threads.
Params: agentId action ("add"|"remove"|"list") threadKey role
Package Config
{
"name": "@madezmedia/acmi-mcp-server",
"version": "1.0.0",
"type": "module",
"main": "mcp-server.mjs",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.29.0",
"zod": "^3.24.0"
}
}
Example: Multi-Agent Coordination
# Agent 1 claims a task acmi_event("thread", "agent-coordination", "claude-engineer", "Claiming README rewrite for batch execution", { kind: "coord-claim", correlationId: "lock-readme-1745947200000" }) # Agent 2 sees the claim and defers acmi_cat(["thread:agent-coordination"], { since: "10m" }) # → sees coord-claim from claude-engineer → defers # Agent 1 completes the task acmi_event("thread", "agent-coordination", "claude-engineer", "[done] README.md v1.2 — 320 lines", { kind: "coord-release", correlationId: "lock-readme-1745947200000" })