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., "@Todo for AI MCP ServerList all pending tasks for the Website Redesign project"
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.
Todo for AI MCP Server
中文版本 | English
A Model Context Protocol (MCP) server that provides AI assistants with access to the Todo for AI task management system. This allows AI assistants to retrieve tasks, get project information, create new tasks, and submit task feedback through a standardized interface.
🚀 Try it now: Visit https://todo4ai.org/ to experience our product!
Features
🔍 Get Project Tasks: Retrieve pending tasks for a specific project with status filtering
📋 Get Task Details: Fetch detailed information about individual tasks with project context
➕ Create Tasks: Create new tasks with full metadata support
✅ Submit Feedback: Update task status and provide completion feedback
📊 Project Information: Get comprehensive project statistics and recent tasks
🔄 Automatic Retry: Built-in retry mechanism for network failures
📝 Comprehensive Logging: Detailed logging with configurable levels
⚙️ Flexible Configuration: Environment variables and config file support
🛡️ Type Safety: Full TypeScript support with strict type checking
🚀 Performance: Optimized build with incremental compilation
🌐 HTTP Transport: Modern HTTP-based communication using Streamable HTTP protocol
🔒 Security: DNS rebinding protection, CORS support, and origin validation
📡 Real-time: Server-Sent Events (SSE) support for real-time communication
🔄 Session Management: Automatic session handling with timeout and cleanup
Installation
From npm (Recommended)
From Source
Configuration
Transport Type
The MCP server uses HTTP Transport: Modern HTTP-based communication with Server-Sent Events (SSE) support for real-time communication.
Environment Variables
Create a .env file or set environment variables:
Configuration File
Alternatively, create a config.json file:
Usage
Command Line
HTTP Transport
Configuration Options
The MCP server supports configuration through both command line arguments and environment variables, with the following priority order:
Priority: Command Line Arguments > Environment Variables > Defaults
Configuration | CLI Argument | Environment Variable | Default |
API Base URL |
|
|
|
API Token |
|
| Required |
API Timeout |
|
|
|
Log Level |
|
|
|
| HTTP Port | --http-port | TODO_HTTP_PORT | 3000 |
| HTTP Host | --http-host | TODO_HTTP_HOST | 127.0.0.1 |
| Session Timeout | --session-timeout | TODO_SESSION_TIMEOUT | 300000 (ms) |
| DNS Protection | --dns-protection | TODO_DNS_PROTECTION | true (for http) |
| Allowed Origins | --allowed-origins | TODO_ALLOWED_ORIGINS | http://localhost:*,https://localhost:* |
| Max Connections | --max-connections | TODO_MAX_CONNECTIONS | 100 |
Additional Options:
Option | CLI Argument | Description |
Help |
| Show help message and exit |
Version |
| Show version information and exit |
Examples:
HTTP Transport Usage
When using HTTP transport, the MCP server runs as a standalone HTTP server that can be accessed via REST API and Server-Sent Events (SSE).
Starting HTTP Server
HTTP Endpoints
GET /health: Health check endpoint
POST /mcp: Client-to-server communication (JSON-RPC)
GET /mcp: Server-to-client notifications (SSE)
DELETE /mcp: Session termination
Session Management
HTTP transport uses session-based communication:
Initialize: Send an
initializerequest to create a new sessionSession ID: Server returns a session ID in the
Mcp-Session-IdheaderSubsequent requests: Include the session ID in all future requests
Cleanup: Sessions automatically expire after the configured timeout
Example HTTP Client Usage
IDE Integration
Claude Desktop
Note: Claude Desktop currently supports Stdio transport. For HTTP transport support, you'll need to start the server separately and use a custom MCP client that supports HTTP transport.
Traditional Stdio configuration (if supported):
Alternative with environment variables:
For local development (custom API base URL):
HTTP transport setup:
Start the HTTP server separately:
The server will be available at
http://127.0.0.1:3000/mcpfor custom MCP clients that support HTTP transport.
Cursor IDE
Add to your Cursor configuration:
Local Development
For development with local Todo for AI server:
Available Tools
1. get_project_tasks_by_name
Get all pending tasks for a project by name.
Parameters:
project_name(string, required): Name of the projectstatus_filter(array, optional): Filter by task status (default: ["todo", "in_progress", "review"])
Example:
2. get_task_by_id
Get detailed information about a specific task.
Parameters:
task_id(integer, required): ID of the task to retrieve
Example:
3. create_task
Create a new task in the specified project.
Parameters:
project_id(integer, required): ID of the projecttitle(string, required): Task titlecontent(string, optional): Task content/descriptionstatus(string, optional): Initial status (default: "todo")priority(string, optional): Task priority (default: "medium")due_date(string, optional): Due date in YYYY-MM-DD formatassignee(string, optional): Person assigned to the tasktags(array, optional): Tags associated with the taskis_ai_task(boolean, optional): Whether this is an AI task (default: true)ai_identifier(string, optional): AI identifier (default: "MCP Client")
Example:
4. submit_task_feedback
Submit feedback and update status for a task.
Parameters:
task_id(integer, required): ID of the taskproject_name(string, required): Name of the projectfeedback_content(string, required): Feedback descriptionstatus(string, required): New status ("in_progress", "review", "done", "cancelled")ai_identifier(string, optional): AI identifier (default: "MCP Client")
Example:
5. get_project_info
Get detailed project information including statistics and recent tasks.
Parameters:
project_id(integer, optional): ID of the project to retrieveproject_name(string, optional): Name of the project to retrieve
Note: Either project_id or project_name must be provided.
Example:
Development
Prerequisites
Node.js 18+
npm or yarn
Todo for AI backend server running
Setup
Project Structure
Troubleshooting
Common Issues
Connection Failed
Ensure Todo for AI backend is running
Check
TODO_API_BASE_URLis correctVerify network connectivity
Authentication Errors
Check if API token is required
Verify
TODO_API_TOKENis set correctly
Tool Not Found
Ensure MCP server is properly registered in IDE
Check IDE configuration syntax
Restart IDE after configuration changes
Debug Mode
Enable debug logging:
Health Check
Test connection to Todo API:
License
MIT License - see LICENSE file for details.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Submit a pull request
Support
For issues and questions:
Create an issue on GitHub
Check the troubleshooting section
Review the logs with debug mode enabled
🌟 Ready to supercharge your AI workflow? Visit https://todo4ai.org/ and experience the power of AI-driven task management!