Acmi Mcp

io.github.madezmediaPublished by GitHub account madezmediav1.4.0Updated Oct 24, 2026

Persistent agent memory via ACMI — Profile/Signals/Timeline. 16 tools on Upstash Redis.

VerifiedStreamable HTTPWeb executableDatabasesKnowledge & Memory

Overview

AI-generated overview

An MCP server that gives assistants persistent, shared agent memory — a Profile, Signals and a Timeline — stored in Upstash Redis.

What you can do
Store and read an entity's Profile: stable identity, preferences and configuration facts, keyed by entity ID such as user or agent namespaces. Set and check Signals: mutable current state, blockers and next actions, with freshness checks before acting. Append and read the Timeline: an append-only event log with source, kind, correlationId and summary fields. Coordinate multiple agents through the fleet comms protocol: pre/post events, wake-directives, handoff acknowledgements and linked follow-up events.
When to use it
Worth adding when several assistants or agents need to share context across sessions — remembering who a user is, what is currently in progress, and what happened before — rather than starting each conversation cold.
Requirements
A remote endpoint or the local npm package run over stdio. OAuth authentication is required. An Upstash Redis instance, configured with the UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN environment variables.
Before you install
The Upstash Redis token is read-write, so the assistant can change or overwrite stored memory. The Timeline is meant to be append-only, but nothing prevents writes to existing records. Stored profiles and signals may contain personal or operational details, and they live in a third-party Upstash Redis instance. Multi-agent coordination depends on agents following the event conventions correctly.

Installation

In SourceWeft

  1. Open Acmi Mcp in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.madezmedia%2Facmi-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "acmi": {
      "type": "http",
      "url": "https://server.smithery.ai/@madezmediapartners/acmi-mcp/mcp"
    }
  }
}

README

[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:

text
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

bash
npm install @madezmedia/acmi

Quick start

ts
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

ts
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!,  }));
AdapterUse caseEdge-compatible
@madezmedia/acmi/adapters/in-memorytests, examples, local devn/a
@madezmedia/acmi/adapters/upstashVercel, Workers, edge runtimesyes
@madezmedia/acmi/adapters/redisself-hosted Redis / Nodeno

Fleet protocol

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

json
{  "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

Source: README.md at commit f3422c7

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.4.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts