Skip to main content
Glama

devvault-mcp

The bridge between a user's DevVault and their coding agent.

Status: scaffold only. The tools here depend on endpoints that land in Phases 1–3.5 (see ../CONTEXT-ENGINE.md). This folder exists to hold the deployment decision and repo shape until then.

This becomes its own git repo.


Two transports, one codebase

This is the part worth understanding before deploying anything.

An MCP server for a local coding agent is not a hosted service — Claude Code spawns it as a subprocess on the user's own machine and talks to it over stdio. Deploying that to EC2 would produce a process with nothing to talk to.

But the same tool definitions can also be served over HTTP, and that one deploys exactly like the FastAPI and Django services. So: one codebase, two entry points.

stdio

HTTP

Runs on

the user's machine, via npx

our EC2, alongside FastAPI/Django

Distributed by

npm publish — npx pulls it on first run

Docker image + CI/CD

User setup

paste config + token into .mcp.json

paste a URL, authorise

Token lives

on the user's machine only

server-side (OAuth)

Laptop + coding agent

✅

✅

claude.ai web / mobile

❌

✅

Ship order

first — no hosting required

second — but required for web/mobile

HTTP is not just nicer onboarding. The bind loop is meaningless on a phone — there is no repo to write into — but capture is not: someone researching in the mobile app should be able to file it into their vault, and only a remote connector can reach them. (A paste-a-transcript box in the DevVault web app is the no-MCP path to the same outcome; see CONTEXT-ENGINE.md decision 2b.)

src/
  tools/        shared tool definitions (transport-agnostic)
  ledger.ts     session dedup + token budget
  client.ts     typed DevVault API client (Bearer dvp_...)
  bin/stdio.ts  entry point: StdioServerTransport
  bin/http.ts   entry point: StreamableHTTPServerTransport

Related MCP server: Memento Vault

Local configuration (stdio)

{
  "mcpServers": {
    "devvault": {
      "command": "npx",
      "args": ["-y", "@devvault-mcp/server"],
      "env": {
        "DEVVAULT_URL": "https://anshbackend.upyourbusiness.tech",
        "DEVVAULT_TOKEN": "dvp_..."   // Settings -> Connected Agents
      }
    }
  }
}

The token never reaches Anthropic. This process runs locally, reads DEVVAULT_TOKEN from its own environment, and calls the DevVault API directly.

Tools

Tool

Loop

Backing endpoint

Phase

devvault_context(task | @collection)

bind

POST /api/v1/context/route

3.5

devvault_search(query)

bind

GET /api/v1/context/search

3.5

devvault_get_container(slug, depth)

bind

GET /api/v1/containers/{id}/export.md

done (1a)

devvault_save_research(tree)

capture

POST /api/v1/containers/import

1

devvault_append(slug, content)

capture

POST /api/v1/containers/import (mode=append)

1

Tool descriptions are load-bearing: they are what teach the agent to pass a short task description rather than the user's raw prompt, and to re-call when the task shifts domain. Treat them as code, not documentation.

Deployment (HTTP transport)

Mirrors the existing services: GitHub Actions → build and push image → SCP config → SSH deploy on EC2 → health check. Dockerfile and workflow land with Phase 4.

Prerequisites

  • A DevVault access token — Settings → Connected Agents (Phase 0, shipped). Scopes: containers:read for the bind loop, containers:write for capture.

Available Tools

6 tools
devvault_contextLoad coding context from DevVaultA

Call this BEFORE writing any code. Returns the user's own rules and conventions for the area you are working in, plus a list of deeper reference material you can pull in on demand. Pass task: one short sentence describing what you are building (e.g. 'build a Node.js REST API for user auth'). Do NOT paste the user's full prompt — a long query retrieves badly. If the user named a collection with @, pass it as collection instead; an explicit name always wins over inference. Call this again whenever the work shifts to a different area (frontend → backend, say). If it returns nothing, the user has no context saved for this area: say so rather than inventing conventions.

Inputs: task, collection.

devvault_get_containerRead one DevVault container in fullA

Fetch a container's complete content when the rules you were given are not enough. Use the id from a search result or the manifest.

Inputs: container_id (required), depth.

devvault_list_collectionsList the user's DevVault collectionsA

Show which collections exist, with their descriptions. Useful when the user refers to a collection you cannot resolve, or when deciding where to save research.

Inputs: no named parameters.

devvault_save_researchSave research into DevVaultA

File the current conversation's findings into the user's vault as structured containers, so neither of you has to re-derive them next time. You decide the structure: group by topic, one topic per container, and nest sub-topics as children. Write real titles. Constraints are enforced server-side and anything over them is repaired automatically (long paragraphs split, extra blocks spill into continuation containers, deep nesting is flattened and linked) — the response tells you exactly what was adjusted, so report that to the user. Always set external_key on every container: re-running the same research then updates in place instead of duplicating. Supplying agent_rules alongside the research is worth doing — it saves a future session from re-reading the prose.

Inputs: containers (required), mode, parent_id, collection_name, +1 more.

devvault_write_rulesCache a rule extraction back onto a containerA

After reading a container whose result said it has no cached rules, distil it and save the result here so no future session has to re-derive it. IMPORTANT: extract EVERY actionable rule in the container, not only the ones relevant to what you are building right now — these rules are reused for unrelated tasks, and a narrow extraction is worse than none. One imperative rule per line. Drop background and explanation; keep code examples and links. Rules a user wrote by hand are never overwritten.

Inputs: rules (required), container_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 6 tools

    Disambiguation4/5

    Each tool has a distinct role in the retrieval/writing workflow, and the descriptions clarify when to use each one. devvault_search and devvault_get_container both retrieve content but are differentiated by search-by-vocabulary versus fetching by ID, so only mild ambiguity exists.

    Naming Consistency4/5

    All tools share the devvault_ prefix and use snake_case, with a mostly verb_noun pattern like search, get_container, write_rules, list_collections, and save_research. devvault_context is the one exception, using a noun instead of an action verb.

    Tool Count5/5

    Six tools is a well-scoped size for a personal knowledge vault MCP server. Each tool serves a clear part of the workflow with no obvious redundancy.

    Completeness4/5

    The surface covers context retrieval, research search, full container fetching, rule writing, collection listing, and saving research. Minor gaps exist around explicit deletion or collection creation, but save_research updates in place and the core workflows are otherwise covered.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI memory persistence and secure credential management via vault tools for MCP-compatible clients like Claude Desktop, Cursor, and VS Code.
      12
      13 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides persistent knowledge capture and retrieval for coding agents. Enables searching the vault, storing notes, capturing sessions, and reading notes via MCP tools.
      13
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP-compatible AI coding agents to retrieve shared skills, project architecture maps, vault secret statuses, handoff checkpoints, external MCP definitions, and code audit results on demand across multiple IDEs. It reduces context tokens and supports secure, cross-agent task continuity.
      MIT