veyra-snippets
v1.0.0
Published
Code snippet manager with language tags and search for AI agents. Reads free, writes require Veyra.
Downloads
129
Maintainers
Readme
veyra-snippets
A persistent code snippet manager MCP tool for AI agents, with language filtering, tag search, and full-text code search. Reads are always free. Write operations require Veyra commit mode authorization.
Overview
veyra-snippets gives AI agents a reliable code library backed by SQLite. Agents can freely browse and search snippets. Saving, updating, and deleting snippets is protected by Veyra commit mode — ensuring intentional, accountable writes.
Installation
npm install
npm run buildSnippets are stored at ~/.veyra-snippets/data.db, created automatically on first run.
MCP Configuration (Claude Desktop)
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"veyra-snippets": {
"command": "node",
"args": ["/absolute/path/to/veyra-snippets/dist/index.js"]
}
}
}Tools
| Tool | Input | Class | Price |
|------|-------|-------|-------|
| list_snippets | { language?, tag? } | — | FREE |
| get_snippet | { id } | — | FREE |
| search_snippets | { query } | — | FREE |
| save_snippet | { title, code, language, tags?, veyra_token? } | A | €0.005 |
| update_snippet | { id, code?, title?, veyra_token? } | A | €0.005 |
| delete_snippet | { id, veyra_token? } | B | €0.02 |
Examples
Read (no token needed)
// List all snippets
{ "tool": "list_snippets", "arguments": {} }
// List TypeScript snippets
{ "tool": "list_snippets", "arguments": { "language": "typescript" } }
// List snippets by tag
{ "tool": "list_snippets", "arguments": { "tag": "auth" } }
// Get a specific snippet
{ "tool": "get_snippet", "arguments": { "id": "1712345678-abc1234" } }
// Search across title, code, language, and tags
{ "tool": "search_snippets", "arguments": { "query": "debounce" } }Write (Veyra token required)
// Save a new snippet
{
"tool": "save_snippet",
"arguments": {
"title": "Debounce utility",
"code": "function debounce(fn, ms) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => fn(...args), ms);\n };\n}",
"language": "javascript",
"tags": "utility,performance",
"veyra_token": "vt_..."
}
}
// Update snippet code
{
"tool": "update_snippet",
"arguments": {
"id": "1712345678-abc1234",
"code": "// updated code here",
"veyra_token": "vt_..."
}
}
// Delete a snippet
{
"tool": "delete_snippet",
"arguments": {
"id": "1712345678-abc1234",
"veyra_token": "vt_..."
}
}Error response when token is missing
{
"error": "VeyraCommitRequired",
"message": "Write operations require Veyra commit mode.",
"currentMode": "open",
"requiredMode": "commit",
"transitionStrategy": "authorize_then_retry_with_x_veyra_token",
"provider": "veyra",
"authorize_endpoint": "https://api.veyra.to/v1/authorize-action",
"docs_url": "https://veyra.to"
}How Veyra Works
Veyra is a commit-mode authorization layer for AI agents. When an agent attempts a write operation:
- The agent calls the tool without a
veyra_tokenand receives aVeyraCommitRequirederror with anauthorize_endpoint. - The agent (or the user on its behalf) calls the authorize endpoint to obtain a token.
- The agent retries the tool call with
veyra_tokenset. veyra-snippetsverifies the token via@veyrahq/sdk-nodebefore executing the write.
See veyra.to for full documentation.
License
MIT
