Voicenotes MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VN_API_TOKEN | No | Voicenotes bearer token. When set, the REST path is used directly. Never commit it. | |
| MCP_BIND_HOST | No | Host the HTTP server binds to. Default: 127.0.0.1 | |
| MCP_HTTP_PORT | No | Set to run the Streamable HTTP server (Claude.ai web). Unset = stdio. | |
| MCP_PUBLIC_URL | No | Public URL the HTTP server is reachable at (OAuth resource id). Default: http://localhost:<port> | |
| VN_CALLBACK_PORT | No | Local loopback port for the OAuth callback (stdio flow). Default: 9876 | |
| MCP_ALLOWED_ORIGINS | No | Comma-separated Origin allowlist for the HTTP transport. Default: Claude surfaces + localhost. |
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 |
|---|---|
| vn_list_notesA | List Voicenotes notes, newest first. Filter by tag and/or ISO date range. Use page for Laravel pagination, or fetch_all:true to retrieve EVERY note in one call. |
| vn_get_noteA | Get one note by id, including its full transcript and tags. |
| vn_search_notesA | Search notes by natural-language query across transcripts and titles. |
| vn_create_noteA | Create a new text note with optional tags. The transcript becomes the note body. |
| vn_update_noteA | Update a note's title, tags, and/or transcript. tags REPLACES the full list; omitting tags PRESERVES existing ones (e.g. when editing only the title/transcript). |
| vn_bulk_tag_notesA | Add tags to multiple notes at once. ADDS to existing tags (does not replace). |
| vn_list_tagsA | List all tags: id, name, keywords, pin state, and usage count. |
| vn_create_tagB | Create a tag with optional auto-tagging keywords, pin state, emoji. |
| vn_update_tagB | Update a tag's name, keywords, and/or pin state. |
| vn_delete_tagB | Delete a tag permanently. |
| vn_setup_tagsA | One-shot: create the 10 personal-OS tags with keywords. Skips existing. Use dry_run to preview. |
| vn_delete_noteA | [Group C / unconfirmed endpoint] Delete a note. Requires confirm:true to attempt. |
| vn_get_user_profileA | [Group C — not yet implemented] Get the authenticated user's profile. |
| vn_list_webhooksA | [Group C — not yet implemented] List configured webhooks. |
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 14 tools
Tools have distinct purposes overall, but vn_bulk_tag_notes and vn_update_note both modify tags on notes, with subtle differences (add vs replace). This could cause misselection without careful reading.
All tools follow a consistent vn_verb_noun pattern. Verbs like 'bulk_tag' are slightly unconventional but still adhere to the pattern.
14 tools is well-scoped for a note-taking service. It covers CRUD for notes and tags, search, bulk operations, and initial setup without being overwhelming.
Core note and tag operations are covered. Minor gap: no get_tag by id (only list). Two listed tools (vn_get_user_profile, vn_list_webhooks) are not implemented, slightly reducing completeness.