Skip to main content
Glama
coolsheng

meeting-memory-mcp

by coolsheng
README.md
# meeting-memory-mcp

A local-first MCP server that gives Claude memory across your meeting transcripts.

Most "AI meeting notes" tools summarize one meeting at a time and forget everything once
the chat window closes. This server stores transcripts locally (SQLite, full-text search)
and lets Claude maintain a living, human-readable markdown wiki of decisions, open
commitments, and contradictions across meetings — so the next time you talk to Claude
about a project or a client, it already remembers what happened last time.

Everything stays on your machine. No transcript or summary is ever sent anywhere except
to the LLM you're already chatting with (Claude).

## How it works

1. You paste a transcript into Claude and say "log this meeting."
2. Claude calls `add_meeting` to store it, then `search_meetings` to pull up anything
   related from past meetings.
3. Claude reasons over both (in its own context — this server does no LLM calls itself)
   and calls `write_wiki_page` to update a markdown page for that topic/client/project
   with the latest decisions, status, and any contradictions it noticed.
4. Next time, Claude calls `read_wiki_page` first to recall context before you even
   mention details.

The wiki pages are plain markdown files on disk (`~/.meeting-memory-mcp/wiki/` by
default) — you can open, edit, or read them yourself anytime, no app required.

## Tools

| Tool | Purpose |
|---|---|
| `add_meeting` | Store a new transcript |
| `search_meetings` | Full-text search across all past transcripts |
| `get_meeting` | Fetch a full transcript by id |
| `list_meetings` | List all stored meetings |
| `write_wiki_page` | Create/update a durable markdown memory page |
| `read_wiki_page` | Read a memory page |
| `list_wiki_pages` | List all memory pages |

## Setup

Requires [uv](https://docs.astral.sh/uv/).

```bash
git clone <this repo>
cd meeting-memory-mcp
uv sync
```

### Claude Desktop / Claude Code

Add to your MCP config (`claude_desktop_config.json` or `.mcp.json`):

```json
{
  "mcpServers": {
    "meeting-memory": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/meeting-memory-mcp", "run", "meeting-memory-mcp"]
    }
  }
}
```

Restart Claude. Then just say: *"Here's a transcript from today's call, log it and let
me know if it conflicts with anything we discussed before."*

### Where data is stored

Defaults to `~/.meeting-memory-mcp/`. Override with the `MEETING_MEMORY_DIR` environment
variable (e.g. to keep separate memory per client or sync the folder via your own
backup tool).

## Why this exists

Every meeting-notes tool on the market summarizes a single meeting well. None of them
help a non-technical user notice "you committed to this three meetings ago and it never
came up again," because that requires reasoning across history, not just one transcript.
This server doesn't do that reasoning itself — it gives Claude the storage and retrieval
it needs to do it, and a human-readable place to keep what it learns.

## License

MIT

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

Tools clearly separate meeting operations (add_meeting, get_meeting, list_meetings, search_meetings) from wiki operations (write_wiki_page, read_wiki_page, list_wiki_pages). Within each domain, each tool serves a distinct purpose with no overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (add_meeting, get_meeting, list_meetings, search_meetings, write_wiki_page, read_wiki_page, list_wiki_pages). No deviations or mixing of conventions.

Tool Count5/5

7 tools is a well-scoped set covering two domains (meetings and wiki). Each tool provides essential functionality without unnecessary redundancy, fitting the server's purpose of storing and retrieving meeting transcripts and wiki summaries.

Completeness4/5

The tool surface covers core CRUD operations for meetings (add, get, list, search) and wiki (write, read, list). Missing delete and update for meetings, and delete for wiki, but these are minor gaps; agents can work around by writing new wiki pages or relying on search.

Maintenance

ActivityInactive
ResponsivenessNo issues