{"_id":"@dashiro/tacitus-mcp-server","_rev":"3-d2d631a86160d8fbae9e93e59a0561c5","name":"@dashiro/tacitus-mcp-server","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@dashiro/tacitus-mcp-server","version":"0.1.0","keywords":["mcp","agent-memory","pkm","knowledge-base","model-context-protocol"],"license":"MIT","_id":"@dashiro/tacitus-mcp-server@0.1.0","maintainers":[{"name":"rim81","email":"robert@docsprinting.ro"}],"bin":{"tacitus-mcp":"dist/index.js"},"dist":{"shasum":"e713a0a2e954cf60c8f72e4ef0c152aa4658b58c","tarball":"https://registry.npmjs.org/@dashiro/tacitus-mcp-server/-/tacitus-mcp-server-0.1.0.tgz","fileCount":5,"integrity":"sha512-8aiJqTqyQOpR4mVeRas0e10LF0FtjQRBKCycchp4MKJ/2+79/3wjZvIVBlLP+nhYNwuN0EfGjvgmyfI9WRxSCQ==","signatures":[{"sig":"MEQCIBlv12+z7IU9WZ7CjBiYAonl7kCYxuzlWUQcT+N9I3vOAiAhaqd4q978RqgM0gZFWAor3+XS9yaiPb/Z1sugQAs87A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137282},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"6725549584b8a0aa9959c1b9fbb08198939a35c6","scripts":{"build":"tsup","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"rim81","email":"robert@docsprinting.ro"},"_npmVersion":"10.9.2","description":"Tacitus Memory — an MCP server giving AI agents long-term memory with provenance, token budgeting, and conflict detection.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"zod":"^3.23.8","yaml":"^2.6.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tacitus-mcp-server_0.1.0_1784824218450_0.34838759058139024","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dashiro/tacitus-mcp-server","version":"0.1.1","keywords":["mcp","agent-memory","pkm","knowledge-base","model-context-protocol"],"author":{"name":"Robert Ionas"},"license":"MIT","_id":"@dashiro/tacitus-mcp-server@0.1.1","maintainers":[{"name":"rim81","email":"robert@docsprinting.ro"}],"homepage":"https://github.com/ionasrobert/tacitus-mcp-server#readme","bugs":{"url":"https://github.com/ionasrobert/tacitus-mcp-server/issues"},"bin":{"tacitus-mcp":"dist/index.js"},"dist":{"shasum":"b19841518e02f00b777f63b39f9c01fb78f5e5e6","tarball":"https://registry.npmjs.org/@dashiro/tacitus-mcp-server/-/tacitus-mcp-server-0.1.1.tgz","fileCount":5,"integrity":"sha512-ma9dVg/mdIjHnYuIF/BBh7bSUQJ8wfxRPIhW5c2HvLY49n+D/aeAB1axmOGdW5uqQ2vx2gOr0Sr1l7g+OfRLCA==","signatures":[{"sig":"MEYCIQCR9im9jf9gf1+UsfiA6nHpjIkuFRBl7saBB5ZLlvvlYAIhAIPihBkjHGSmaZCXpJBmNW2fCokRYxgQ8Tf9E2osf63B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137667},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"1658371352eba14ebda3f32c2f0a138b9dc34dad","mcpName":"io.github.ionasrobert/tacitus-mcp-server","scripts":{"build":"tsup","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"rim81","email":"robert@docsprinting.ro"},"repository":{"url":"git+https://github.com/ionasrobert/tacitus-mcp-server.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.9.2","description":"Tacitus Memory — an MCP server giving AI agents long-term memory with provenance, token budgeting, and conflict detection.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"zod":"^3.23.8","yaml":"^2.6.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tacitus-mcp-server_0.1.1_1784825523623_0.668059661768617","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dashiro/tacitus-mcp-server","mcpName":"io.github.ionasrobert/tacitus-mcp-server","version":"0.1.2","description":"Tacitus core MCP server (16 tools) - long-term agent memory with provenance, retrieval under token budgets, transactional write-back. The flagship NATIVE binary (24 tools, zero deps) ships via GitHub Releases.","type":"module","license":"MIT","keywords":["mcp","agent-memory","pkm","knowledge-base","model-context-protocol"],"bin":{"tacitus-mcp":"dist/index.js"},"main":"./dist/index.js","publishConfig":{"access":"public"},"engines":{"node":">=22"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","start":"node dist/index.js","prepublishOnly":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","yaml":"^2.6.0","zod":"^3.23.8"},"repository":{"type":"git","url":"git+https://github.com/ionasrobert/tacitus-mcp-server.git","directory":"packages/mcp-server"},"homepage":"https://github.com/ionasrobert/tacitus-mcp-server#readme","bugs":{"url":"https://github.com/ionasrobert/tacitus-mcp-server/issues"},"author":{"name":"Robert Ionas"},"_id":"@dashiro/tacitus-mcp-server@0.1.2","gitHead":"c56f245eb45789eef685e7dd298add619f3016ee","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZoeoJdL1W1dZoyfA3CZHYefIFK1HD07Sd4ojWfloy64/o/pQJC/W893Z38LKM8vBt2E4o+ktJM4ryludn9w6SQ==","shasum":"426c9266cc4da51e5647e38cd2639e0ffb92fdf2","tarball":"https://registry.npmjs.org/@dashiro/tacitus-mcp-server/-/tacitus-mcp-server-0.1.2.tgz","fileCount":5,"unpackedSize":140286,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDgGcYWiKwsj9suiLQdhOM5KVKzde4BAadAc4aPX31tFgIhAOt9pwg/qV2ZHEj3TlHSGoVmVM+HjkYlFeJupXJUwqnC"}]},"_npmUser":{"name":"rim81","email":"robert@docsprinting.ro"},"directories":{},"maintainers":[{"name":"rim81","email":"robert@docsprinting.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tacitus-mcp-server_0.1.2_1786696501552_0.4801441070216219"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T16:30:18.337Z","modified":"2026-08-14T08:35:01.905Z","0.1.0":"2026-07-23T16:30:18.593Z","0.1.1":"2026-07-23T16:52:03.793Z","0.1.2":"2026-08-14T08:35:01.736Z"},"bugs":{"url":"https://github.com/ionasrobert/tacitus-mcp-server/issues"},"author":{"name":"Robert Ionas"},"license":"MIT","homepage":"https://github.com/ionasrobert/tacitus-mcp-server#readme","keywords":["mcp","agent-memory","pkm","knowledge-base","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/ionasrobert/tacitus-mcp-server.git","directory":"packages/mcp-server"},"description":"Tacitus core MCP server (16 tools) - long-term agent memory with provenance, retrieval under token budgets, transactional write-back. The flagship NATIVE binary (24 tools, zero deps) ships via GitHub Releases.","maintainers":[{"name":"rim81","email":"robert@docsprinting.ro"}],"readme":"# @dashiro/tacitus-mcp-server\n\n**Long-term memory for your AI agents — local-first, with provenance.**\n\nSite: **[tacitus.md](https://tacitus.md)** · MIT · no telemetry, no account.\n\n> **This is the core server (16 tools).** The flagship **native binary**\n> (25 tools — adds `properties_query`, templates, tasks, `rename_note`,\n> `get_version`, plus end-to-end encrypted multi-device sync — with zero\n> runtime deps) ships for macOS/Linux/Windows via\n> [GitHub Releases](https://github.com/ionasrobert/tacitus-mcp-server/releases/latest):\n>\n> ```bash\n> curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ionasrobert/tacitus-mcp-server/releases/latest/download/tacitus-mcp-installer.sh | sh\n> ```\n>\n> Both share the same on-disk format — a vault works with either.\n> Docs: [MCP API](https://github.com/ionasrobert/tacitus-mcp-server/tree/main/docs)\n\nAn [MCP](https://modelcontextprotocol.io) server that turns any folder of\nMarkdown notes into an agent-native knowledge base. It gives AI agents\n(Claude Code, Claude Desktop, and any MCP client) three things they actually\nneed:\n\n1. **Memory with provenance** — typed, queryable long-term memory. Every fact\n   carries its source and is returned within a token budget; contradictions are\n   surfaced, not silently resolved.\n2. **Retrieval that fits the context window** — search returns ranked snippets\n   (never whole notes) under a token budget; `get_note` discloses progressively\n   (outline → frontmatter → full); the wikilink graph is a queryable API.\n3. **Safe write-back** — propose a changeset, preview the diff, commit\n   atomically, and revert by version. Read-only scope forbids mutations; every\n   write is audited.\n\nNotes stay as plain `.md` files in your folder. No cloud, no lock-in.\n\n## Quick start\n\n```bash\nnpx @dashiro/tacitus-mcp-server /path/to/your/vault\n```\n\n### Claude Code\n\n```bash\nclaude mcp add tacitus -- npx -y @dashiro/tacitus-mcp-server /path/to/your/vault\n```\n\n### Claude Desktop (`claude_desktop_config.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"tacitus\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dashiro/tacitus-mcp-server\", \"/path/to/your/vault\"]\n    }\n  }\n}\n```\n\n## Semantic search (optional neural embeddings)\n\n`search` defaults to **hybrid** mode (lexical + a deterministic, offline\nembedder that catches morphological variants). For true synonym/paraphrase\nmatching, opt into a neural embedder:\n\n```bash\nnpm i @huggingface/transformers\nTACITUS_EMBEDDER=transformers npx @dashiro/tacitus-mcp-server /path/to/vault\n```\n\nVectors are cached under `.tacitus/vectors/`. If the optional dependency or\nmodel isn't available, it falls back to the deterministic embedder automatically.\n\n## Tools\n\n| Group | Tools |\n|---|---|\n| **Memory** | `remember`, `recall`, `forget` |\n| **Retrieval** | `search`, `get_note`, `graph_query`, `list_notes` |\n| **Write-back** | `propose_changes`, `commit_changes`, `revert` |\n| **Convenience** | `create_note`, `update_note`, `link`, `tag`, `audit_log` |\n| **Meta** | `capabilities` |\n\nEvery tool validates input with a schema and returns structured, actionable\nerrors (`{ code, reason, suggestion }`) rather than stack traces.\n\n## Multi-device sync (native binary, beta)\n\nThe native binary adds CRDT sync through a relay that stores **only\nciphertext** — the vault code is the key, everything derives from it locally,\nand the relay learns exactly one thing: a 32-character vault id.\n\n```bash\ntacitus-mcp sync init --vault ~/vault     # prints the vault code\ntacitus-mcp sync run --live --vault ~/vault\n```\n\nTwo devices with the same note open co-edit at keystroke level, still\nend-to-end encrypted. The relay is one MIT Rust crate with a Docker image —\nself-host it with no limits, or use the hosted one (free at 100 MB per vault).\nProtocol and threat model:\n[docs/SYNC.md](https://github.com/ionasrobert/tacitus-mcp-server/blob/main/docs/SYNC.md).\n\n## How it stores things\n\n```\nyour-vault/\n├── notes...             ← your Markdown files (untouched format)\n└── .tacitus/\n    ├── memory/*.md      ← agent memories (Markdown + YAML frontmatter)\n    ├── history/*.json   ← version snapshots (for revert)\n    └── audit.log        ← JSONL log of every agent write\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}