Roomtone MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROOMTONE_API_KEY | Yes | Your Roomtone API key (starts with `ak_...`). Required — the server exits with an error if it is missing. | |
| ROOMTONE_API_URL | No | API base URL. Defaults to https://meganotes-api.fly.dev. | https://meganotes-api.fly.dev |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_notebooksA | List every meeting in the user's Roomtone account. Returns an array with id, title, emoji, sources_count and updated_at (unix seconds), newest first. Use the returned id with the other tools. |
| get_notebookA | Get one meeting by id, including its sources (each with id, type, url, filename, status, error) and its generated note. Source status is 'pending', 'processing', 'done' or 'failed' — a source's transcript is only available once it is 'done'. |
| create_notebookA | Start a new meeting note with a title and optional emoji, ready for a source to be added to it. Returns the created note including its id. Free-plan users have a quota on how many notes they can hold; if it is reached this tool reports a friendly upgrade message instead of creating one. |
| add_sourceA | Add a source to a meeting note. Supported types: 'youtube' (requires url — the video is transcribed asynchronously; poll get_notebook until the source status is 'done') and 'text' (requires text — stored immediately as the source transcript). A recording itself always comes from the Roomtone app, not from this tool. Returns the created source with its id and status. |
| generate_noteA | Generate (or regenerate) the write-up for a meeting from its sources. Runs in the background: the tool returns {status: 'generating', type}; call get_notebook afterwards to read the write-up once it appears in the note's content list. Requires the meeting to have at least one processed source. |
| chat_with_sourcesA | Ask a question about a meeting. The answer is grounded in the transcripts of the meeting's processed sources. Returns the assistant's reply as text. If the meeting has no processed sources yet, the reply will say so. |
| get_transcriptA | Get the raw transcript text of a single source on a meeting note (source ids come from get_notebook). Returns the transcript as plain text; it is empty/null until the source finishes processing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: listing, getting, creating notebooks, generating notes, adding sources, chat, and transcript retrieval. There is no overlap in functionality or resource action.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., list_notebooks, get_notebook, create_notebook). The pattern is predictable and uniform across all seven tools.
Seven tools are well-suited for the server's scope of managing meeting notebooks, sources, and notes. Each tool serves a distinct purpose without redundancy.
The tool set covers the core lifecycle: create, list, get, add sources, generate notes, chat, and retrieve transcripts. However, there is no update or delete operation for notebooks or sources, which are common CRUD gaps that could limit full management.