mcp-trove
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TROVE_PATH | Yes | Path to the trove vault root directory | |
| TROVE_KEY_PATH | No | Path to the private key file (AGE-SECRET-KEY-1...). If not set, falls back to key_path in trove.toml or ~/.config/trove/key |
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": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| trove_initA | Scaffold the trove vault at TROVE_PATH: create directories, generate or register the age keypair, write trove.toml, .gitignore, CONVENTIONS.md and a pre-commit safety hook. Idempotent. Returns paths created, the recipient, and a key-backup warning. |
| trove_add_snippetA | Save a plaintext snippet as Markdown with frontmatter under snippets///.md, then rebuild the index. Provide body_markdown already segmented (prose outside fences, code in fenced blocks). |
| trove_add_secretA | Save an encrypted secret under secrets//.age plus a cleartext metadata sidecar (title, tags, dates — never values). Encrypts in memory with age; plaintext never touches disk. Requires recipients in trove.toml. |
| trove_get_secretA | Decrypt a secret and return its fields. Requires the private key at the configured key path. Values are returned to you, never written to disk. |
| trove_update_secretA | Update an existing secret without re-supplying it whole: set/remove fields, change notes or tags, then re-encrypt. Decryption needs the private key; re-encryption needs recipients. Preserves the created date. |
| trove_searchA | Search the vault. Full-text over snippets; metadata-only over secrets (title/tags/category, never values). Filter by tags and kind. |
| trove_listA | List all entries (snippets and secrets) with their tags and paths. |
| trove_indexA | Regenerate INDEX.md from current frontmatter and secret metadata. |
| trove_removeA | Remove an entry by name and rebuild the index. For secrets, both the encrypted payload and its metadata sidecar are deleted. |
| trove_doctorA | Read-only health and safety audit: missing key, no recipients, cleartext under secrets/, orphan payload/metadata, broken frontmatter, a private key in the tree, missing pre-commit hook. Returns findings with severity and fix. |
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 10 tools
Each tool targets a distinct operation or resource category (secrets, snippets, vault management). There is no overlap or ambiguity between tools like trove_add_secret and trove_get_secret, or trove_list and trove_search.
All tool names follow a consistent verb_noun pattern with snake_case, prefixed by 'trove_'. Examples: trove_add_secret, trove_get_secret, trove_list, trove_search, trove_doctor. No mixed conventions.
With 10 tools, the server covers initialization, secrets management (CRUD), snippet management (add/remove), indexing, listing, searching, and auditing. The scope is well-defined and each tool earns its place.
Secrets have full lifecycle (add, get, update, remove), but snippets lack explicit get and update tools. While trove_search provides full-text access over snippets, the absence of dedicated read and update operations for snippets is a notable gap.