Cursor Plan Executor
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cursor Plan ExecutorInitialize a plan to build a React component and add tests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cursor Plan Executor
A Model Context Protocol (MCP) server for Cursor that helps manage and execute task plans with SQLite3 database management tools.
Features
Plan Management: Complete CRUD operations for task plan steps
SQLite3 Database: Persistent storage for plan management
Status Tracking: Track completion status of plan steps
Execution Data: Store progress notes and results for each step
Workflow Tools: Streamlined tools for plan execution workflow
Related MCP server: Tiny TODO MCP
Database Schema
The server includes a SQLite3 database with the following table:
CREATE TABLE plan (
step INTEGER PRIMARY KEY AUTOINCREMENT,
instructions VARCHAR(10000) NOT NULL,
status TINYINT DEFAULT 0 CHECK (status IN (0, 1)),
execution_data TEXT
);Installation
Global Installation (Recommended for Cursor integration)
npm install -g .Local Development
npm install
npm run buildUsage
As a Global Command
After installing globally, you can run:
cursor-plan-executorWith npx
npx cursor-plan-executorDirect Execution
node dist/index.jsCursor Integration
Configuration
Add the following to your Cursor settings:
{
"mcp": {
"servers": {
"cursor-plan-executor": {
"command": "cursor-plan-executor",
"args": [],
"env": {}
}
}
}
}Or use the alternative format:
{
"mcpServers": {
"cursor-plan-executor": {
"command": "cursor-plan-executor",
"args": [],
"env": {}
}
}
}Available Tools
initialize_plan
Initialize a new task with your plan. Call this tool whenever you start a new task and already have the plan for it. Define all separate steps in the plan. Do not initialize a plan twice, as once initialized it will delete all previous plan data. Create the plan for the whole task.
Parameters:
plan_steps(required): Array of plan steps (instructions) for the task
Example Usage:
{
"name": "initialize_plan",
"arguments": {
"plan_steps": [
"Create a new React component",
"Add state management",
"Implement the UI",
"Add tests",
"Deploy the component"
]
}
}show_all_steps
Show all plan steps in a readable format with status indicators.
Parameters: None
Example Usage:
{
"name": "show_all_steps",
"arguments": {}
}Response:
All Plan Steps:
1. ⏳ PENDING - Create a new React component
2. ✅ DONE - Add state management
Execution Data: Redux store configured successfully
3. ⏳ PENDING - Implement the UIget_next_step
Get the next pending step that you should follow.
Parameters: None
Example Usage:
{
"name": "get_next_step",
"arguments": {}
}Response:
Next step to follow: 1 - Create a new React componentget_current_validation_criteria
Get the validation criteria for the currently unfinished task. This will list the validation criteria for the next pending step.
Parameters: None
Example Usage:
{
"name": "get_current_validation_criteria",
"arguments": {}
}Response:
Current unfinished task:
Step 1 - Create a new React component
Validation Criteria: Component should have proper TypeScript types and error handlingResponse (when no validation criteria):
Current unfinished task:
Step 1 - Create a new React component
No validation criteria specified for this step.mark_current_step_done
Mark the current (next pending) step as done.
Parameters: None
Example Usage:
{
"name": "mark_current_step_done",
"arguments": {}
}Response:
Step 1 marked as done: Create a new React componentmark_step_as_not_done
Mark a specific step as not done (pending). Call this tool when you need to revert a completed step back to pending status.
Parameters:
step(required): Step number to mark as not done
Example Usage:
{
"name": "mark_step_as_not_done",
"arguments": {
"step": 2
}
}update_step_data
Update the instructions for a specific step by step ID.
Parameters:
step(required): Step number to updateinstructions(required): New instructions for the step
Example Usage:
{
"name": "update_step_data",
"arguments": {
"step": 1,
"instructions": "Create a new React component with TypeScript"
}
}update_step_execution_data
Update the execution data for a plan step (useful for tracking progress and notes).
Parameters:
step(required): Step number to updateexecution_data(required): Execution data to store (progress notes, results, etc.)
Example Usage:
{
"name": "update_step_execution_data",
"arguments": {
"step": 1,
"execution_data": "Component created successfully with proper TypeScript types"
}
}get_plan_step
Get a specific plan step by step number with full details.
Parameters:
step(required): Step number to retrieve
Example Usage:
{
"name": "get_plan_step",
"arguments": {
"step": 1
}
}delete_plan_step
Delete a plan step by step number.
Parameters:
step(required): Step number to delete
Example Usage:
{
"name": "delete_plan_step",
"arguments": {
"step": 1
}
}clear_all_plan_steps
Clear all plan steps from the database (use with caution).
Parameters: None
Example Usage:
{
"name": "clear_all_plan_steps",
"arguments": {}
}Typical Workflow
Initialize Plan: Use
initialize_planto set up your complete task planReview Steps: Use
show_all_stepsto see the current statusGet Next Step: Use
get_next_stepto see what to do nextComplete Step: Use
mark_current_step_donewhen finished with a stepAdd Notes: Use
update_step_execution_datato add progress notes (optional)Repeat: Continue steps 3-5 until all steps are complete
Development
Prerequisites
Node.js 18 or higher
npm
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shanaka95/cursor-mem-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server