@madezmedia/acmi-mcp
v2.0.0
Published
MCP Server for ACMI — Agentic Context Memory Interface. 18 tools for persistent agent memory, timeline events, and multi-tenant coordination. v2.0 adds native Redis support and tenant prefixes.
Downloads
470
Maintainers
Readme
@madezmedia/acmi-mcp
MCP server for ACMI (Agentic Context Memory Interface) — persistent Profile/Signals/Timeline memory for AI agents.
18 tools. v2.0 adds native Redis + multi-tenant support.
What is ACMI?
ACMI gives AI agents three memory slots:
Profile → who (identity, role, configuration) — stable
Signals → now (current state, priorities) — mutable KV
Timeline → then (everything that happened, in order) — append-only eventsEvery agent, project, thread, work item, or user has these three slots. Stored in Redis.
Quick start
With Upstash (v1.x compatible)
UPSTASH_REDIS_REST_URL=https://your-redis.upstash.io \
UPSTASH_REDIS_REST_TOKEN=*** \
acmi-mcpWith self-hosted Redis (v2.0 new)
ACMI_REDIS_HOST=redis.example.com \
ACMI_REDIS_PORT=6379 \
ACMI_REDIS_PASSWORD=*** \
ACMI_DEFAULT_TENANT=madez \
ACMI_ALLOWED_TENANTS=madez,client:duane,client:suzanne \
acmi-mcpTools
| Tool | Description |
|---|---|
| acmi_profile | Create or update an entity profile (JSON) |
| acmi_signal | Update mutable signals for an entity |
| acmi_event | Append a timestamped event to a timeline |
| acmi_get | Fetch profile + signals + recent timeline |
| acmi_list | List all entity IDs in a namespace |
| acmi_cat | Multi-stream event merge (sorted by time) |
| acmi_bootstrap | One-shot context bundle (profile + signals + rollup) |
| acmi_spawn | Log a session spawn event |
| acmi_active | Track thread engagement |
| acmi_rollup_set | Write the latest session rollup |
| acmi_work_create | Create a work item |
| acmi_work_event | Add event to work item timeline |
| acmi_work_signal | Update work item signals |
| acmi_work_get | Fetch work item context |
| acmi_work_list | List all work item IDs |
| acmi_delete | Delete a key (with dry-run + protected paths) |
| acmi_tenant_list | List all visible tenants (v2.0) |
Multi-tenant
Keys can be namespaced by tenant: acmi:<tenant>:<namespace>:<id>:<slot>. Set ACMI_DEFAULT_TENANT to auto-prefix all writes. Set ACMI_ALLOWED_TENANTS to a comma-separated list to enforce isolation.
The v1.x unprefixed pattern (acmi:<namespace>:<id>) still works — v2.0 just defaults the tenant to madez.
Protocol
This server implements ACMI Communication Standard v1.1. Event envelope:
source: "agent:<id>"(not bare ID)kind: one ofmilestone-shipped, decision, handoff-ack, coord-note, heartbeat, ...correlationId:<camelCase>-<msEpoch>for chain trackingsummary: starts with[kind-tag @recipient] ...
License
MIT
