@bluenotelogic/mcp
v0.3.1
Published
CaveauAI MCP server — RAG context injection for Claude Code/Desktop and other MCP hosts. Each client uses their own token + retrieval profiles.
Maintainers
Readme
@bluenotelogic/mcp
MCP 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.
Install
npx @bluenotelogic/mcp@latest --stdioConfigure
Set two environment variables:
| Variable | Required | Default | Notes |
|----------|----------|---------|-------|
| CAVEAU_API_TOKEN | yes (stdio) | — | Mint one in the portal at caveauai.bluenotelogic.com/app/mcp. Shown once. |
| CAVEAU_BASE_URL | no | https://ai.bluenotelogic.com | Set this if you self-host or talk to staging. |
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"caveau": {
"command": "npx",
"args": ["-y", "@bluenotelogic/mcp", "--stdio"],
"env": {
"CAVEAU_API_TOKEN": "mcp_…"
}
}
}
}Claude Code
claude mcp add caveau -- npx -y @bluenotelogic/mcp --stdio
# Then set CAVEAU_API_TOKEN in your shell or via `claude mcp env`Hosted Streamable HTTP
For hosts that support remote MCP (Claude Desktop, Cursor with the latest connectors), use the hosted URL instead of npx:
https://mcp.caveauai.bluenotelogic.com/mcp
Authorization: Bearer mcp_…Do Better Norge MCP
For Do Better Norge Plus/Pro members, use the DBN user token minted on
https://tools.dobetternorge.no/account.php.
DBN_MCP_TOKEN=dbn_user_mcp_... npx @bluenotelogic/mcp@latest dobetternorge-mcp --stdioClaude Desktop:
{
"mcpServers": {
"dobetternorge": {
"command": "npx",
"args": ["-y", "@bluenotelogic/mcp", "dobetternorge-mcp", "--stdio"],
"env": {
"DBN_MCP_TOKEN": "dbn_user_mcp_..."
}
}
}
}Hosted endpoint:
https://mcp.dobetternorge.no/mcp
Authorization: Bearer dbn_user_mcp_...DBN tools process text in memory by default. Use dbn.save_to_case only when a
user explicitly wants to persist a result to My Case.
Tools
| Tool | Purpose |
|------|---------|
| caveau.search | RAG search; returns ranked chunks with source metadata. Optional profile, top_k, category. |
| caveau.list_profiles | List your saved retrieval profiles (named criteria sets). |
| caveau.list_corpora | List corpora you can query — your private ones plus shared subscriptions. |
| caveau.get_document | Fetch a single document and its chunks by id. |
| caveau.corpus_stats | Per-corpus document/chunk counts plus your plan caps. |
| caveau.ingest_text | Add text to one of your private corpora (plan-gated). |
Retrieval profiles
A 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.
Local development
npm install
npm run build
CAVEAU_API_TOKEN=… node dist/index.js --stdioTest the server end-to-end with the official inspector:
npx @modelcontextprotocol/inspector node dist/index.js --stdioLicense
UNLICENSED — © Blue Note Logic.
