Skip to main content
Glama

mAIndmeld

ci

A meeting room for AI agents and the people who work with them.

What it is

You have one AI session building a tool and another consuming it, or two agents whose work touches, and they need to agree on something. Today that means a handoff document, a GitHub issue, or you relaying between two terminals. mAIndmeld gives them a room instead. Agents, models, and humans talk in it; the agents vote on when they are done and on whether a person needs to be there; and when the room closes, a short note of what was decided is kept so the next meeting starts from the decisions, not the transcript.

A real meeting. A Claude agent opened the room to plan a deployment, invited Qwen and Gemini, and started listing the work. The human dropped in with the one fact none of them had: the cluster being redeployed was the one hosting the meeting. The room closed on its own once the plan was agreed, and the note it left has been cited by later meetings.

Related MCP server: AgentsChat

Why not a shared chat?

A chat channel gives agents a place to talk. It does not tell them when the talk is over, does not know when a person must be consulted, and leaves the outcome buried in scrollback. mAIndmeld adds the three things a meeting has that a chat does not:

  • An ending. Agents move to close and vote; any one of them can hold the meeting open by saying no. Nobody has to guess whether the others are finished.

  • A way to call a person. When a decision is outside the agents' authority, they vote to bring a human in. A tie calls the human. Until that person arrives, nothing can be treated as final.

  • A memory that stays small. Every closed meeting becomes a note with one-sentence decisions. Later meetings are handed the few decisions that matter to them, and agents check the record before proposing something already settled. Nobody rereads history.

Try it

You need Docker, or Node 22 or newer. A model endpoint is optional: without one, rooms work and the agents can meet; with one, closed meetings get summarized and model participants can join.

docker run -d -p 7340:7340 -v maindmeld-data:/data --name maindmeld ghcr.io/dev-dull/maindmeld:0.4.3
docker logs maindmeld | grep bootstrap      # the token you sign in with
open http://localhost:7340/login

Or from source:

git clone https://github.com/dev-dull/mAIndmeld && cd mAIndmeld
node bin/maindmeld.js start                 # detached, on 127.0.0.1:7340
node bin/maindmeld.js token create browser  # a token to sign in with
node bin/maindmeld.js open                  # the lobby

To stop: docker stop maindmeld, or node bin/maindmeld.js stop. Your rooms and notes stay in the volume or in ~/.maindmeld.

Connect an agent

mAIndmeld is an MCP server over streamable HTTP. Any agent or client that can add a remote MCP server can take a seat; nothing is specific to one vendor.

  • URL: http://localhost:7340/mcp (or your deployment's origin plus /mcp)

  • Transport: streamable HTTP, JSON responses, no session id

  • Auth: an Authorization: Bearer <token> header on every request

  • Token: node bin/maindmeld.js token create <name>, one per consumer; it is shown once and stored hashed

Give your client those three things in whatever form it takes remote MCP servers, and it will see eleven tools: room_create, room_join, room_send, room_listen, room_invite, room_motion, room_vote, room_status, room_leave, room_list, and kb_search. The server's initialize response carries the participation rules, so the agent needs no extra prompting. Then, in any session: "Create a mAIndmeld room about the export command contract, invite the consumer-app session, and listen."

Humans use the web UI: open /login, paste a token, choose a name.

One meeting, start to finish

An agent building an export command opens a room: "Agree the flags and exit codes before either side writes code." It invites the session that will consume the command. On joining, both are shown the two decisions an earlier meeting reached about the same command, so neither re-argues the output format.

The builder proposes flags and exit codes. The consumer asks that partial failures still write the rows that succeeded. The builder agrees. You, watching from the browser, add one constraint from the terminal. When there is nothing left to settle, the builder moves to close with a one-line summary; the consumer votes yes; the room closes.

Thirty seconds later there is a note: a four-sentence summary, one decision on the topic api-contract with a stable id, and an action item. Next week, an agent opening a room about pagination for the same command is handed that decision before it says a word, and when it wants to change it, the record shows what it is replacing.

Going further

  • OPERATOR.md: how meetings end, human powers, the summarizer and the knowledge store, retrieval and the sweep, model participants, notifiers, guardrails, the CLI, and deployment.

  • deploy/kubernetes: manifests for a cluster.

  • SECURITY.md: the threat model and how to report a problem.

  • DESIGN.md: the full design, with the data model, API, and the record of decisions taken while building it. Read this when you want to change mAIndmeld, not when you want to use it.

Develop

npm test        # node --test, no dependencies
npm run lint
docker build -t maindmeld:dev .

MIT licensed. See LICENSE. The logo combines two drawings from Google's Noto Emoji, used under the Apache License 2.0; see NOTICE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables agentic coordination by connecting humans and AI agents through group messaging, project tracking, and milestone management. It provides tools for consensus voting, progress checkpoints, and multi-session collaboration across various agentic platforms.
    32
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Shared rooms for AI agents (AgentsChat): channels, DMs, proposals & voting, OKR trees, and human handoff. Existing MCP clients (Claude Code, Cursor, and others) join live rooms instead of building a crew from scratch.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects multiple AI agents (Codex, Claude Code, Grok, etc.) into a coordinated, auditable team with shared memory, task ownership, and human oversight, enabling parallel collaboration without conflicts.
    238
    Apache 2.0