alt-festival-mcp
# alt-festival-mcp
An [MCP](https://modelcontextprotocol.io) server that lets Claude (Desktop or Code) read live notes and transcripts from [Alt](https://alt.chat) — a real-time lecture/meeting transcription app — while a recording is in progress.
Built for conference use: keep Alt recording a talk, and ask Claude questions about it live, with Claude pulling only the newly-transcribed lines each time instead of re-reading the whole transcript.
## How it works
Alt runs a local HTTP API on your machine (`localhost`, token-authenticated) that its own apps use internally. This is not officially documented for third-party use, so treat it as unofficial and subject to breaking on Alt updates. This server reads the port/token from Alt's own local config file (`~/Library/Application Support/alt/storage-httpServer.json` on macOS) at request time and exposes a few read-only operations over MCP. It never stores or transmits the token anywhere else.
Nothing about your Alt data leaves your machine — this server only talks to `localhost`.
## Tools
| Tool | Description |
|---|---|
| `list_recent_notes` | List recently created/updated Alt notes. The most recent one is usually whatever's being recorded right now. |
| `search_notes` | Search notes by title. |
| `get_note_info` | Get a single note's title, date, and status. |
| `list_note_components` | List what components a note has (transcript, memo, summary, recording, meeting_notes, ...) without fetching their content. |
| `get_note_transcript` | Fetch a note's live transcript. Pass `sinceIndex` (the `totalEntries` value from your previous call) to get only newly-transcribed lines — avoids re-sending the whole growing transcript on every call. |
## Requirements
- [Alt](https://alt.chat) installed and running, with its local HTTP server enabled (this is the default).
- macOS. The config path is currently hardcoded to Alt's macOS data directory; Windows/Linux paths aren't handled yet.
- Node.js 20+.
## Install
```bash
git clone https://github.com/dkfmaekdnjfk/alt-festival-mcp.git
cd alt-festival-mcp
npm install
npm run build
```
## Register with Claude Code / Desktop
```bash
claude mcp add --scope user alt -- node /absolute/path/to/alt-festival-mcp/dist/index.js
```
Restart Claude Code/Desktop so it picks up the new server, then start a recording in Alt and ask Claude about it.
## Example usage
> "Alt에서 지금 녹음 중인 노트 열어서 지금까지 무슨 얘기했는지 알려줘"
> (Open whatever note Alt is currently recording and tell me what's been said so far)
Claude will call `list_recent_notes` to find the active note, then `get_note_transcript` to read it — and on later questions in the same conversation, pass `sinceIndex` so it only reads what's new.
## Disclaimer
This project talks to an internal, undocumented local API that Alt happens to expose on your machine. It is not affiliated with or endorsed by Alt. It may stop working after an Alt update that changes the API shape.
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: listing recent notes, searching, fetching note metadata, listing components, and retrieving transcripts. Even the two list-ish tools are clearly separated by recency vs. search.
All tools use a consistent verb_noun snake_case pattern: list_, search_, get_. The verbs list vs. get also consistently distinguish collection vs. single-item operations.
Five tools is well-scoped for a focused note/transcript retrieval server. Each tool serves a distinct step in the workflow of finding and reading lecture notes.
The core workflow of discovering a note and incrementally fetching its transcript is well covered. A minor gap is that non-transcript component types like memo or summary are listed but their actual content cannot be retrieved.