zettelkasten-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZETTELKASTEN_DATABASE | No | Database connection string - either a filesystem path for SQLite (e.g., './data/db/zettelkasten.db') or a SQLAlchemy-compatible URL for PostgreSQL/MySQL/SQL Server (e.g., 'postgresql+psycopg://user:password@localhost:5432/zettelkasten') | |
| ZETTELKASTEN_LOG_LEVEL | No | Logging level for the server | INFO |
| ZETTELKASTEN_NOTES_DIR | No | The directory where note files are stored |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zk_create_noteB | Create a new Zettelkasten note. Args: title: The title of the note content: The main content of the note note_type: Type of note (fleeting, literature, permanent, structure, hub) tags: Comma-separated list of tags (optional) |
| zk_get_noteB | Retrieve a note by ID or title. Args: identifier: The ID or title of the note |
| zk_update_noteC | Update an existing note. Args: note_id: The ID of the note to update title: New title (optional) content: New content (optional) note_type: New note type (optional) tags: New comma-separated list of tags (optional) |
| zk_delete_noteC | Delete a note. Args: note_id: The ID of the note to delete |
| zk_create_linkB | Create a link between two notes. Args: source_id: ID of the source note target_id: ID of the target note link_type: Type of link (reference, extends, refines, contradicts, questions, supports, related) description: Optional description of the link bidirectional: Whether to create a link in both directions |
| zk_remove_linkB | Remove a link between two notes. Args: source_id: ID of the source note target_id: ID of the target note bidirectional: Whether to remove the link in both directions |
| zk_search_notesB | Search for notes by text, tags, or type. Args: query: Text to search for in titles and content tags: Comma-separated list of tags to filter by note_type: Type of note to filter by limit: Maximum number of results to return |
| zk_get_linked_notesC | Get notes linked to/from a note. Args: note_id: ID of the note direction: Direction of links (outgoing, incoming, both) |
| zk_get_all_tagsB | Get all tags in the Zettelkasten. |
| zk_find_similar_notesB | Find notes similar to a given note. Args: note_id: ID of the reference note threshold: Similarity threshold (0.0-1.0) limit: Maximum number of results to return |
| zk_find_central_notesA | Find notes with the most connections (incoming + outgoing links). Notes are ranked by their total number of connections, determining their centrality in the knowledge network. Due to database constraints, only one link of each type is counted between any pair of notes. |
| zk_find_orphaned_notesB | Find notes with no connections to other notes. |
| zk_list_notes_by_dateB | List notes created or updated within a date range. Args: start_date: Start date in ISO format (YYYY-MM-DD) end_date: End date in ISO format (YYYY-MM-DD) use_updated: Whether to use updated_at instead of created_at limit: Maximum number of results to return |
| zk_rebuild_indexB | Rebuild the database index from files. |
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
Each tool has a clearly distinct purpose with no ambiguity. For example, zk_create_note, zk_update_note, and zk_delete_note handle different CRUD operations, while zk_find_central_notes, zk_find_orphaned_notes, and zk_find_similar_notes target specific query types. The link management tools (zk_create_link, zk_remove_link) are separate from note operations, ensuring agents can easily differentiate between them.
All tools follow a consistent 'zk_verb_noun' pattern with snake_case throughout. The verbs are descriptive and aligned with their functions (e.g., create, delete, get, list, find, search, update, rebuild). This uniformity makes the tool set predictable and easy for agents to navigate without confusion.
With 14 tools, this server is well-scoped for managing a Zettelkasten system. It covers essential operations like note CRUD, link management, and various query types (e.g., search, similarity, centrality). Each tool serves a specific purpose without redundancy, making the count appropriate for the domain's complexity and typical use cases.
The tool set provides complete coverage for Zettelkasten workflows, including full CRUD for notes and links, comprehensive querying (by text, tags, date, similarity, centrality, orphaned status), and maintenance (rebuild_index). There are no obvious gaps; agents can create, retrieve, update, delete, and analyze notes and their relationships seamlessly, supporting the entire knowledge management lifecycle.