Model Context Protocol (MCP)
Give agents real-time access to your project memory through the Model Context Protocol.
What is the vem MCP Server?
The vem-mcp server allows AI clients (like Claude Desktop or Cursor) to call tools that read and write directly to your local.vem/ files and search the cloud index.
Start the server with npx:
npx vem-mcpAvailable Tools
get_active_tasks
Retrieve a list of tasks that are not yet complete.
add_task
Create a new task in project memory with optional validation steps.
complete_task
Mark a task as done with evidence, reasoning, and agent signature.
update_task
Update a task's status (start, block, unblock), priority, or other fields.
get_context
Fetch high-level project context and architectural decisions.
search_memory
Perform semantic search over tasks and documentation via the cloud API.
add_decision
Record an architectural decision (ADR) with optional task linking.
get_changelog
Read recent changelog entries to understand what work has been done.
list_agent_sessions
List recent Copilot CLI agent sessions for the current repository. Call this at the start of a session to see what previous sessions worked on — including their summaries, intents, and first user messages.
Task Lifecycle with update_task
Use update_task to manage task status throughout the development lifecycle:
in-progress- Start working on a taskblocked- Mark as blocked (reasoning required)todo- Unblock a task
// Start working on a task
{
"id": "TASK-003",
"status": "in-progress",
"reasoning": "Beginning implementation"
}
// Block a task
{
"id": "TASK-003",
"status": "blocked",
"reasoning": "Waiting for API endpoint",
"blocked_by": ["TASK-001"]
}Task validation + actor fields
When creating tasks via MCP, you can define validation_steps (for example, pnpm build or pnpm test). Agents must confirm those steps when completing the task.
When marking tasks done, always include an actor field so the UI can attribute the completion to the correct agent.
{
"id": "TASK-123",
"status": "done",
"evidence": ["pnpm build"],
"validation_steps": ["pnpm build"],
"actor": "Claude Desktop"
}Recording Decisions with add_decision
Use add_decision to record architectural decisions (ADRs) directly from agents. Link decisions to tasks to track what motivated or implements them.
{
"title": "Use Zod for validation",
"context": "Need runtime type checking for API inputs",
"decision": "Chose Zod over Yup for better TypeScript inference",
"related_tasks": ["TASK-042", "TASK-043"]
}Decisions are stored in .vem/decisions/ with timestamp-based filenames for chronological ordering.
Reading Recent Changes with get_changelog
Use get_changelog to understand what work has been done recently without searching through git history.
{
"limit": 10 // Optional, defaults to 10, max 50
}Returns recent changelog entries sorted by date descending, helping agents avoid duplicate work and understand project progress.
Claude Desktop Setup
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"vem": {
"command": "npx",
"args": ["-y", "vem-mcp"],
"env": {
"VEM_API_URL": "https://api.vem.dev"
}
}
}
}