Cvm: Stateful Programable Task Engine
@LadislavSopko
About Cvm: Stateful Programable Task Engine
Stop Claude from losing track. CVM is a passive state machine that Claude queries for tasks, maintaining perfect execution flow across complex operations.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"cvm": {
"command": "npx",
"args": [
"cvm-server@latest"
],
"env": {
"CVM_STORAGE_TYPE": "file",
"CVM_DATA_DIR": ".cvm"
}
}
}
}Tools
13Overview
What is Cvm: Stateful Programable Task Engine?
Cvm: Stateful Programable Task Engine is a passive MCP server that acts as a state machine. It holds program state for Claude, allowing Claude to process tasks one at a time without losing context. It is designed for developers and users who need reliable execution of complex, multi-step workflows with real loops and conditions.
How to use Cvm: Stateful Programable Task Engine?
Install via npx cvm-server@latest and add it to Claude’s .mcp.json. Write a program using CVM’s TypeScript-like language, then load it with load(), start execution with start(), and have Claude pull tasks via getTask() and submit results via submitTask(). No additional runtime is required beyond Node.js.
Key features of Cvm: Stateful Programable Task Engine
- Passive state machine – never pushes tasks to Claude
- Claude pulls tasks one at a time via
getTask() - Maintains variables, execution position, loops, and conditions
- Supports arrays, objects, string/array operations, and file listing
- Uses
CC(prompt)to create tasks without calling Claude directly
Use cases of Cvm: Stateful Programable Task Engine
- Document analysis pipelines over hundreds of files
- Data extraction from multiple sources with systematic processing
- Report generation that collects summaries before producing a final report
- Any workflow requiring loops, conditions, and AI processing without state loss
FAQ from Cvm: Stateful Programable Task Engine
How is CVM different from traditional context-based approaches?
Traditional approaches rely on Claude’s context to maintain state, which fails for complex flows. CVM keeps state externally, so Claude sees only one task at a time and never loses track of variables or execution position.
How does the CC() function work?
CC(prompt) creates a task with the given prompt, pauses program execution, and waits for Claude to retrieve the task via getTask(). When Claude submits a result via submitTask(), execution resumes with that result.
Is CVM active or passive?
CVM is completely passive. It never initiates communication with Claude; it only responds when Claude calls its MCP tools. Claude drives all interactions.
What language does CVM execute?
CVM runs a TypeScript-like language that supports variables, arrays, objects, loops, conditions, CC(), fs.listFiles(), console.log(), and JSON.stringify/parse.
Where does program state live?
All state (variables, execution position, loop counters, complex data structures) is maintained inside CVM, not in Claude’s context. This ensures state persists between tasks.
More Productivity MCP servers

Time
modelcontextprotocolModel Context Protocol Servers
MCP Google Calendar Server
markelaugust74A Model Context Protocol (MCP) server implementation for Google Calendar integration. Create and manage calendar events directly through Claude or other AI assistants.
Todoist MCP Server
greirsonMCP server that connects Claude to Todoist for natural language task and project management with bulk operations
mcp-server-macos-use
mediar-aiAI agent that controls computer with OS-level tools, MCP compatible, works with any model
🚀 TaskMaster: Todoist MCP for Cursor AI
mingolladanieleA lightweight Model Context Protocol (MCP) server that enables natural language interaction with your Todoist tasks directly from your IDE. Built with simplicity and maintainability in mind.
Comments