{"_id":"@bluenotelogic/mcp","_rev":"6-d86b61c614372506126cf2dfc233d3b3","name":"@bluenotelogic/mcp","dist-tags":{"latest":"0.17.1"},"versions":{"0.2.2":{"name":"@bluenotelogic/mcp","version":"0.2.2","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"author":{"name":"Blue Note Logic"},"license":"UNLICENSED","_id":"@bluenotelogic/mcp@0.2.2","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"bin":{"caveau-mcp":"dist/index.js"},"dist":{"shasum":"561345b9624af59c748140fda5e3d9c457ef8b95","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.2.2.tgz","fileCount":47,"integrity":"sha512-jYwibFWUbmp7lZJf3pOFlyPaUHfLLn3IqJJ+2ltLFr20NXCujiAEFibjvzNeQBqX0/FMKbk0cp9v9fovSVf2NA==","signatures":[{"sig":"MEUCIQCgCNjbNkQ8L2ZsbpgwCJUpTjsabNcDfgqmKv2/77g/jgIgSSaziI1c2e1k7+malv6Pcq/lzHVtKco5KG94RtKNRuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63692},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"67e0e3b56f16aa91f06ffb3f4b6f482e7df4e53f","scripts":{"dev":"tsx watch src/index.ts --stdio","lint":"tsc --noEmit","build":"tsc","start":"node dist/index.js --stdio","start:http":"node dist/index.js --http","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"repository":{"url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp","type":"git"},"_npmVersion":"11.8.0","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.23.8","express":"^5.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.2_1778268855244_0.9934120940706523","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bluenotelogic/mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"author":{"name":"Blue Note Logic"},"license":"UNLICENSED","_id":"@bluenotelogic/mcp@0.3.0","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"bin":{"caveau-mcp":"dist/index.js"},"dist":{"shasum":"f2e8603c0a7b1b7bb3d88a5feca3b7fc13a5f022","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.3.0.tgz","fileCount":50,"integrity":"sha512-eCV+lsCyjYnF6qxZXi+MC2C+Fv2dMXFhTSv0hLnl2QvdpkkvITUgtzTVscVqqBGDCcKf3kTcwAfGrWpO3UzKmw==","signatures":[{"sig":"MEQCIGkWrDRjf5H81l96HJ98GxVefCFvDDtt6JfYWQs1cD8QAiA3pwwHAP35/3hJzZ0iWukf6n2UESuuB9sHyNkvVFJxkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"9f7d830222c734b028c725433a2eb7b5b856a0c0","scripts":{"dev":"tsx watch src/index.ts --stdio","lint":"tsc --noEmit","build":"tsc","start":"node dist/index.js --stdio","start:http":"node dist/index.js --http","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"repository":{"url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp","type":"git"},"_npmVersion":"11.8.0","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.23.8","express":"^5.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.0_1778271536886_0.8781230480441189","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bluenotelogic/mcp","version":"0.3.1","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"author":{"name":"Blue Note Logic"},"license":"UNLICENSED","_id":"@bluenotelogic/mcp@0.3.1","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"bin":{"dbn-mcp":"dist/dbn.js","caveau-mcp":"dist/index.js","dobetternorge-mcp":"dist/dobetternorge.js"},"dist":{"shasum":"521ad6f9d61b38af467f516757cf0bf174510777","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.3.1.tgz","fileCount":89,"integrity":"sha512-JevQVPZAFk01uTyFj1ihkk493/vLX0wcxf42l7+OLIYVPMef1D1yumkYHtaCmLVouw0oe9jFaolQDKhygUBAxg==","signatures":[{"sig":"MEUCIQDIYA4kskS3mI8FAwGItLoE+qB42ozOUJwA1nGAxbQOXwIgBBpEcsrb8psw+sUm+FkKYGTmvOG/pKANXiSaMCdJeio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124045},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"6a246507c80899678ded976206d71e3c6cca15a4","scripts":{"dev":"tsx watch src/index.ts --stdio","lint":"tsc --noEmit","build":"tsc","start":"node dist/index.js --stdio","start:http":"node dist/index.js --http","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"repository":{"url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp","type":"git"},"_npmVersion":"11.8.0","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.23.8","express":"^5.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.1_1779614052053_0.7022184381887309","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bluenotelogic/mcp","version":"0.3.2","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"author":{"name":"Blue Note Logic"},"license":"UNLICENSED","_id":"@bluenotelogic/mcp@0.3.2","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"bin":{"dbn-mcp":"dist/dbn.js","caveau-mcp":"dist/index.js","dobetternorge-mcp":"dist/dobetternorge.js"},"dist":{"shasum":"ba17a5cb9b7e926a9056558957f9c69692f6bf9c","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.3.2.tgz","fileCount":92,"integrity":"sha512-sl0bQikhKr9dmqmR82zlbZ5FQO5A/c/e1DsNcuacOHFuv0kbDXakxtsvcylsG9iDXhoam/WqNP9Hq/jUz63fzA==","signatures":[{"sig":"MEUCIQC1j4sp+gJNP9Je5KfPYkhEq94nQvL3s4U2DGaA6z9y9wIgFvomxouIk6dlWdaZ4lrTQMHLHe+Alwq9pA/8jxQRzOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"6a246507c80899678ded976206d71e3c6cca15a4","scripts":{"dev":"tsx watch src/index.ts --stdio","lint":"tsc --noEmit","build":"tsc","start":"node dist/index.js --stdio","start:http":"node dist/index.js --http","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"repository":{"url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp","type":"git"},"_npmVersion":"11.8.0","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.23.8","express":"^5.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.2_1780081914712_0.3291455044863638","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@bluenotelogic/mcp","version":"0.17.0","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"author":{"name":"Blue Note Logic"},"license":"Apache-2.0","_id":"@bluenotelogic/mcp@0.17.0","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"bin":{"dbn-mcp":"dist/dbn.js","caveau-mcp":"dist/index.js","trivia-mcp":"dist/trivia.js","dobetternorge-mcp":"dist/dobetternorge.js"},"dist":{"shasum":"01d471b0889aa974d729f883fab25ecbc5665548","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.17.0.tgz","fileCount":290,"integrity":"sha512-mJLRWYG928Koshz9Aiu44WO4BqOqbtKxluEbS76YsSsB8nTAtvYK8Su+6d+hT9yk7FRDGD8AM7RNRPG2+bG/SA==","signatures":[{"sig":"MEUCIQDIBfxBlw4MvT5VMKtihO2grDna2PcVgLsHRttItIRycQIgNkNzcU6dy0jtUZ3hYLB0EC76RilVyJofvqzObLfgV1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":655867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/index.ts --stdio","lint":"tsc --noEmit","test":"node --import tsx --test \"test/**/*.test.ts\"","build":"tsc","start":"node dist/index.js --stdio","test:mcp":"npx -y @modelcontextprotocol/inspector --cli node dist/index.js --stdio --method tools/list","start:http":"node dist/index.js --http","prepublishOnly":"npm run build","smoke:preferences:http":"node scripts/smoke-preferences-http.mjs","smoke:preferences:stdio":"node scripts/smoke-preferences-stdio.mjs"},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"repository":{"url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp","type":"git"},"_npmVersion":"11.8.0","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.23.8","express":"^5.2.1","nodemailer":"^6.9.16","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/express":"^5.0.6","@types/nodemailer":"^6.4.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.17.0_1786631167021_0.5723380798957205","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@bluenotelogic/mcp","version":"0.17.1","description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","type":"module","bin":{"mcp":"dist/index.js","caveau-mcp":"dist/index.js","dbn-mcp":"dist/dbn.js","dobetternorge-mcp":"dist/dobetternorge.js","trivia-mcp":"dist/trivia.js"},"main":"./dist/index.js","scripts":{"build":"tsc","dev":"tsx watch src/index.ts --stdio","start":"node dist/index.js --stdio","start:http":"node dist/index.js --http","lint":"tsc --noEmit","test":"node --import tsx --test \"test/**/*.test.ts\"","test:mcp":"npx -y @modelcontextprotocol/inspector --cli node dist/index.js --stdio --method tools/list","smoke:preferences:stdio":"node scripts/smoke-preferences-stdio.mjs","smoke:preferences:http":"node scripts/smoke-preferences-http.mjs","prepublishOnly":"npm run build"},"engines":{"node":">=20"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","express":"^5.2.1","nodemailer":"^6.9.16","zod":"^3.23.8"},"devDependencies":{"@types/express":"^5.0.6","@types/node":"^22.0.0","@types/nodemailer":"^6.4.17","tsx":"^4.19.0","typescript":"^5.6.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp"},"keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"license":"Apache-2.0","author":{"name":"Blue Note Logic"},"types":"./dist/index.d.ts","_id":"@bluenotelogic/mcp@0.17.1","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-uQ0mBfeqxSy82lNsqblsBdsGYnj99gWmQFLM7ewWj5mRHAs5qEmDcxmCwFE3SuuOsp3rid55OdqCGiBOBcA1kQ==","shasum":"03670a87018bf9643b4e2bbda6aa0733bbc39d4f","tarball":"https://registry.npmjs.org/@bluenotelogic/mcp/-/mcp-0.17.1.tgz","fileCount":290,"unpackedSize":655907,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCIEtCEAD1mklUj16XPtj15hDPvWYLlrE6SHcRx01ONJQIhAMed79iZj/4IWOO5zA8Csop+rmA2jHt3WwI/j0T5SVjb"}]},"_npmUser":{"name":"bluenotelogic","email":"dave@bluenotelogic.com"},"directories":{},"maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.17.1_1786632617192_0.6352882581319375"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T19:34:15.103Z","modified":"2026-08-13T14:50:17.607Z","0.2.2":"2026-05-08T19:34:15.397Z","0.3.0":"2026-05-08T20:18:57.029Z","0.3.1":"2026-05-24T09:14:12.194Z","0.3.2":"2026-05-29T19:11:54.879Z","0.17.0":"2026-08-13T14:26:07.205Z","0.17.1":"2026-08-13T14:50:17.417Z"},"author":{"name":"Blue Note Logic"},"license":"Apache-2.0","keywords":["mcp","model-context-protocol","rag","caveauai","claude"],"repository":{"type":"git","url":"https://git.bluenotelogic.com/daveadmin/caveau-mcp"},"description":"CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.","maintainers":[{"name":"bluenotelogic","email":"dave@bluenotelogic.com"}],"readme":"# @bluenotelogic/mcp\r\n\r\nMCP server for CaveauAI — inject corpus content into Claude Code, Claude Desktop, Cursor, Continue, or any other MCP host at runtime, scoped to your retrieval profiles. Published under Blue Note Logic's npm scope; serves the CaveauAI product.\r\n\r\n## Install\r\n\r\n```bash\r\nnpx @bluenotelogic/mcp@latest --stdio\r\n```\r\n\r\n## Configure\r\n\r\nSet two environment variables:\r\n\r\n| Variable | Required | Default | Notes |\r\n|----------|----------|---------|-------|\r\n| `CAVEAU_API_TOKEN` | yes (stdio) | — | Mint one in the portal at `caveauai.bluenotelogic.com/app/mcp`. Shown once. |\r\n| `CAVEAU_BASE_URL`  | no | `https://ai.bluenotelogic.com` | Set this if you self-host or talk to staging. |\r\n\r\n## Claude Desktop\r\n\r\nAdd to `claude_desktop_config.json`:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"caveau\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@bluenotelogic/mcp\", \"--stdio\"],\r\n      \"env\": {\r\n        \"CAVEAU_API_TOKEN\": \"mcp_…\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Claude Code\r\n\r\n```bash\r\nclaude mcp add caveau -- npx -y @bluenotelogic/mcp --stdio\r\n# Then set CAVEAU_API_TOKEN in your shell or via `claude mcp env`\r\n```\r\n\r\n## Hosted Streamable HTTP\r\n\r\nFor hosts that support remote MCP (Claude Desktop, Cursor with the latest connectors), use the hosted URL instead of npx:\r\n\r\n```\r\nhttps://mcp.caveauai.bluenotelogic.com/mcp\r\nAuthorization: Bearer mcp_…\r\n```\r\n\r\n## Do Better Norge MCP\r\n\r\nFor Do Better Norge Plus/Pro members, use the DBN user token minted on\r\n`https://tools.dobetternorge.no/account.php`.\r\n\r\n```bash\r\nDBN_MCP_TOKEN=dbn_user_mcp_... npx -y -p @bluenotelogic/mcp dobetternorge-mcp --stdio\r\n```\r\n\r\nClaude Desktop:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"dobetternorge\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"-p\", \"@bluenotelogic/mcp\", \"dobetternorge-mcp\", \"--stdio\"],\r\n      \"env\": {\r\n        \"DBN_MCP_TOKEN\": \"dbn_user_mcp_...\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nHosted endpoint:\r\n\r\n```\r\nhttps://mcp.dobetternorge.no/mcp\r\nAuthorization: Bearer dbn_user_mcp_...\r\n```\r\n\r\nDBN tools process text in memory by default. Use `dbn.save_to_case` only when a\r\nuser explicitly wants to persist a result to My Case.\r\n\r\n## Tools\r\n\r\n| Tool | Purpose |\r\n|------|---------|\r\n| `caveau.search` | RAG search; returns ranked chunks with source metadata. Optional `profile`, `top_k`, `category`. |\r\n| `caveau.list_profiles` | List your saved retrieval profiles (named criteria sets). |\r\n| `caveau.list_corpora` | List corpora you can query — your private ones plus shared subscriptions. |\r\n| `caveau.get_document` | Fetch a single document and its chunks by id. |\r\n| `caveau.corpus_stats` | Per-corpus document/chunk counts plus your plan caps. |\r\n| `caveau.ingest_text` | Add text to one of your private corpora (plan-gated). |\r\n\r\n## Retrieval profiles\r\n\r\nA profile is a saved bundle of *what to retrieve*: which corpora, which search method (vector/keyword/hybrid), top_k, recency cutoff, category and tag whitelists, embedding-model override. Build them in the portal at `caveauai.bluenotelogic.com/app/mcp` and reference them by slug from `caveau.search`.\r\n\r\n## Local development\r\n\r\n```bash\r\nnpm install\r\nnpm run build\r\nCAVEAU_API_TOKEN=… node dist/index.js --stdio\r\n```\r\n\r\nTest the server end-to-end with the official inspector:\r\n\r\n```bash\r\nnpx @modelcontextprotocol/inspector node dist/index.js --stdio\r\n```\r\n\r\n## License\r\n\r\nApache-2.0 — see [LICENSE](./LICENSE).\r\n","readmeFilename":"README.md"}