Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
madezmedia avatar

Acmi Mcp

  • 3 repo stars
  • Updated July 23, 2026
  • madezmedia/acmi

> The coordination backbone for AI agent fleets.

About

> The coordination backbone for AI agent fleets. Three Redis keys - Profile, Signals, Timeline. [![npm](https://img.shields.io/npm/v/@madezmedia/acmi.svg)](https://www.npmjs.com/package/@madezmedia/acmi) [![Protocol v1.5](https://img.shields.io/badge/Protocol-v1.5-2d4a3e)](./SPEC.md) [![MCP v1.5.0](https://img.shields.io/badge/MCP-v1.5.0-2d4a3e)](./mcp/README.md) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE) [![Node.js](https://img.shields.io/badge/Node.js-18+-339933?logo=node.js&logoColor=white)](https://nodejs.org)

  • [![npm](https://img.shields.io/npm/v/@madezmedia/acmi.svg)](https://www.npmjs.com/package/@madezmedia/acmi)
  • [![Protocol v1.5](https://img.shields.io/badge/Protocol-v1.5-2d4a3e)](./SPEC.md)
  • [![MCP v1.5.0](https://img.shields.io/badge/MCP-v1.5.0-2d4a3e)](./mcp/README.md)
  • [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)
  • [![Node.js](https://img.shields.io/badge/Node.js-18+-339933?logo=node.js&logoColor=white)](https://nodejs.org)

Acmi Mcp by the numbers

  • Exposes 17 verified tools (MCP introspection)
  • Data as of Jul 24, 2026 (Skillselion catalog sync)
terminal
claude mcp add --env UPSTASH_REDIS_REST_URL=YOUR_UPSTASH_REDIS_REST_URL --env UPSTASH_REDIS_REST_TOKEN=YOUR_UPSTASH_REDIS_REST_TOKEN acmi-mcp -- npx -y @madezmedia/acmi-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars3
Package@madezmedia/acmi-mcp
TransportSTDIO, HTTP
AuthRequired
Tools17
Last updatedJuly 23, 2026
Repositorymadezmedia/acmi

How do agents access ACMI - Agentic Context Memory Interface capabilities without custom integration code?

> The coordination backbone for AI agent fleets. Three Redis keys - Profile, Signals, Timeline.

Who is it for?

Developers wiring ACMI - Agentic Context Memory Interface into Cursor, Claude Desktop, or other MCP clients.

Skip if: Teams that need features outside the documented ACMI - Agentic Context Memory Interface tool surface.

What you get

Configured MCP host can call ACMI - Agentic Context Memory Interface tools with schemas from the server README.

  • 16-tool ACMI memory surface exposed to your agent
  • Redis-backed profiles, signals, and timeline records
  • Stdio or remote MCP registration at v1.4.0

By the numbers

  • [object Object]
At a glance

Acmi Mcp capabilities & compatibility

Capabilities
[![npm](https://img.shields.io/npm/v/@madezmedia · [![protocol v1.5](https://img.shields.io/badge/p · [![mcp v1.5.0](https://img.shields.io/badge/mcp · [![license: mit](https://img.shields.io/badge/li
Use cases
api development · orchestration
Runs
Local or remote
Pricing
Bring your own API key

Tools 17

Public tool metadata - what this server can do for an agent.

acmi_profile3 params

Create or update an entity profile in ACMI. Stores arbitrary JSON profile data for an entity (agent, thread, project, etc.).

  • idstringEntity ID within the namespace
  • profilestringJSON string of profile data to store
  • namespacestringACMI namespace (e.g. 'agent', 'thread', 'sales')
acmi_signal3 params

Update AI signals for an entity. Signals are mutable KV state (mood, priorities, scores, etc.) that changes frequently.

  • idstringEntity ID
  • signalsstringJSON string of signal data to store
  • namespacestringACMI namespace
acmi_event6 params

Log a timeline event for an entity. The workhorse tool — records timestamped events with source, kind, correlationId, and summary. Follows ACMI Communication Standard v1.1.

  • idstringEntity ID
  • kindstringEvent kind (e.g. 'handoff-complete', 'step-done', 'decision')
  • sourcestringSource of the event (agent name, system, etc.)
  • summarystringHuman-readable event summary
  • namespacestringACMI namespace (e.g. 'thread', 'agent', 'work')
  • correlationIdstringCorrelation ID for tracking across agents/sessions (camelCase)
acmi_get2 params

Fetch complete entity context: profile + signals + recent timeline events (last 10).

  • idstringEntity ID
  • namespacestringACMI namespace
acmi_list1 param

List all entity IDs in a namespace.

  • namespacestringACMI namespace to list
acmi_work_create2 params

Create a new work item (cross-session project, task, or idea).

  • idstringUnique work item ID
  • profilestringJSON string of work item profile (title, owner, status, etc.)
acmi_work_event4 params

Log a progress event on a work item.

  • idstringWork item ID
  • sourcestringSource of the event
  • summarystringEvent summary
  • sessionIdstringOptional session ID to associate
acmi_work_signal2 params

Update signals for a work item (progress, blockers, metrics, etc.).

  • idstringWork item ID
  • signalsstringJSON string of signal data
acmi_work_get1 param

Read a work item's full context: profile, signals, timeline (last 50), and sessions.

  • idstringWork item ID
acmi_work_list

List all work item IDs.

acmi_cat3 params

Multi-stream event merge view. Combines timeline events from multiple entities, sorted by timestamp. Supports --since filtering.

  • keysarrayTimeline keys to merge. Use 'thread:name', 'agent:name', or full 'acmi:...:timeline' keys.
  • limitnumberMax events to return. Default: 50.
  • sincestringTime window filter (e.g. '24h', '7d', '30m'). Default: all time.
acmi_spawn3 params

Log an agent session spawn event. Records when an agent starts a new session.

  • agentIdstringAgent ID that spawned
  • modelIdstringModel ID used for the session
  • sessionIdstringSession ID
acmi_bootstrap1 param

One-shot agent context bundle. Fetches everything a fresh agent session needs: profile, signals, active threads, rollup, recent timeline, and spawns.

  • agentIdstringAgent ID to bootstrap
acmi_active4 params

Track agent thread engagement. Add/remove threads or list current active threads for an agent.

  • rolestringRole in thread (e.g. 'participant', 'lead'). Default: 'participant'
  • actionstringAction: add a thread, remove a thread, or list all active threads
  • agentIdstringAgent ID
  • threadKeystringThread key (required for add/remove)
acmi_rollup_set2 params

Set the latest rollup snapshot for an agent (acmi:agent:<id>:rollup:latest). Pairs with acmi_bootstrap which reads it.

  • rollupstringJSON string of rollup data (cross-session summary, decisions, blockers, etc.)
  • agentIdstringAgent ID
acmi_delete2 params

Delete an ACMI key. Refuses protected paths (acmi:registry:*, acmi:notion-sync:*) and any non-acmi:* key. Defaults to dry-run; pass confirm=true to actually delete.

  • keystringFull ACMI key to delete (must start with 'acmi:')
  • confirmbooleanMust be true to actually delete; otherwise returns dry-run preview. Default: false (dry-run).
acmi_search_semantic2 params

Perform semantic search across fleet coordination history. Finds relevant past events, decisions, and work items based on natural language queries. Returns original ACMI correlationIds for linking.

  • limitnumberNumber of results to return. Default: 5.
  • querystringNatural language search query (e.g. 'previous decisions about SSE timeouts')
README.md

ACMI v1.5 banner

ACMI - Agentic Context Memory Interface

npm Protocol v1.5 MCP v1.5.0 License: MIT Node.js Conformance: 36/36

The coordination backbone for AI agent fleets. Three Redis keys - Profile, Signals, Timeline.

ACMI is the open protocol for persistent agent context. Version v1.5 formalizes Fleet Comms Protocol: atomic pre/post events, wake-directives, handoff-ack chains, and correlation-aware timelines that make multi-agent work auditable instead of anecdotal.

Every entity stores exactly three things an LLM needs to make decisions:

Profile  -> who   (identity, preferences, stable facts)
Signals  -> now   (current state, blockers, next action)
Timeline -> then  (append-only event log from every source)

The shape is intentionally small:

  • Profile: stable identity and configuration.
  • Signals: mutable state and synthesized working memory.
  • Timeline: immutable history, ordered by time.

This repo ships the public ACMI package, the MCP server subpackage, and the docs that keep the fleet aligned:

  • @madezmedia/acmi - the TypeScript SDK, CLI, and conformance suite.
  • mcp/ - @madezmedia/acmi-mcp, the MCP server for hosts that need direct ACMI access.
  • SPEC.md - canonical protocol spec.
  • CHANGELOG.md - release history, including the v1.5.0 fleet-comms update.
  • docs/ - operator guide, cheatsheet, and protocol notes.

What v1.5 adds

The v1.5.0 release aligns the fleet around a shared event language:

  • atomic commit pre/post events
  • roundtable coordination and wake-directives
  • source, kind, correlationId, summary event envelope discipline
  • signal freshness checks before action
  • agent:<id> source naming across the fleet

Install

npm install @madezmedia/acmi

Quick start

import { createAcmi } from "@madezmedia/acmi";
import { InMemoryAdapter } from "@madezmedia/acmi/adapters/in-memory";

const acmi = createAcmi(new InMemoryAdapter());

await acmi.profile.set("user:mikey", {
  name: "Michael Shaw",
  role: "operator",
  location: "Charlotte, NC, USA",
});

await acmi.signals.set("user:mikey", "current_focus", "ACMI v1.5 fleet sync");

await acmi.timeline.append("user:mikey", {
  ts: Date.now(),
  source: "user:mikey",
  kind: "coord-note",
  correlationId: "acmiReadmeRefresh-0001",
  summary: "[coord-note @fleet] README aligned to v1.5 and local assets.",
});

Production adapters

import { createAcmi } from "@madezmedia/acmi";
import { UpstashAdapter } from "@madezmedia/acmi/adapters/upstash";

const acmi = createAcmi(
  new UpstashAdapter({
    url: process.env.UPSTASH_REDIS_REST_URL!,
    token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  })
);
Adapter Use case Edge-compatible
@madezmedia/acmi/adapters/in-memory tests, examples, local dev n/a
@madezmedia/acmi/adapters/upstash Vercel, Workers, edge runtimes yes
@madezmedia/acmi/adapters/redis self-hosted Redis / Node no

Fleet protocol

ACMI v1.5 uses a shared event format so every significant action can be traced:

{
  "ts": 1780000000000,
  "source": "agent:codex",
  "kind": "handoff-ack",
  "correlationId": "codexGrantDraft-1780000000000",
  "summary": "[handoff-ack @ops-center] Draft ready for review."
}

Rules that matter in practice:

  • use [kind-tag @recipient] in summaries
  • keep source prefixed with agent:, user:, or system:
  • link follow-up events with parentCorrelationId
  • keep the timeline append-only
  • verify signals before acting when the workflow depends on current state

Related surfaces

The fleet

ACMI is used across the Mad EZ Media fleet as the common context layer for:

  • ops-center - orchestration and routing
  • bentley - comms and governance
  • codex - coding and implementation support
  • hermes - deep scans and guardian checks
  • android-worker - mobile bridge and notifications

License

MIT - Copyright Michael Shaw / Mad EZ Media

Recommended MCP Servers

How it compares

Redis-backed structured agent memory MCP, not a generic vector DB plugin or in-repo documentation skill.

FAQ

What does ACMI - Agentic Context Memory Interface do?

> The coordination backbone for AI agent fleets.

When should I use ACMI - Agentic Context Memory Interface?

> The coordination backbone for AI agent fleets. Three Redis keys - Profile, Signals, Timeline.

Is ACMI - Agentic Context Memory Interface safe to install?

Review the Security Audits panel on this page before installing in production.

Developer Toolsintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.