
The MCP Orchestrator Server provides task management and coordination capabilities across MCP enabled LLM instances like Claude Desktop or Cline. In simpler terms it allows for AI agents to create, share and execute tasks across instances

Features
Version 1.1.0
- Task Updates: Modify pending tasks
- Safe Deletion: Delete tasks with dependency checks
- Cycle Detection: Prevent dependency cycles
- Tool Listing: Comprehensive tool documentation
- Enhanced State Management: Improved task state transitions
Core Features
- Task creation with dependencies
- Multi-instance coordination
- Persistent task storage
- Dependency enforcement
- Task status tracking
Installation
npm install
npm run build
Usage
Create a Task
await create_task({
id: 'setup',
description: 'Initial setup'
});
Get Next Task
const task = await get_next_task({
instance_id: 'worker-1'
});
Complete Task
await complete_task({
task_id: 'setup',
instance_id: 'worker-1',
result: 'System initialized'
});
Documentation
Roadmap
Version 1.2.0
- Task priorities
- Timeouts
- Instance management
Version 1.3.0
- Task groups
- Analytics
- Dashboard
License
MIT
[
{
"description": "Create a new task",
"inputSchema": {
"properties": {
"dependencies": {
"description": "IDs of tasks that must be completed first",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "Description of the task",
"type": "string"
},
"id": {
"description": "Unique identifier for the task",
"type": "string"
}
},
"required": [
"id",
"description"
],
"type": "object"
},
"name": "create_task"
},
{
"description": "Update an existing pending task",
"inputSchema": {
"properties": {
"dependencies": {
"description": "New list of dependency task IDs",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "New description for the task",
"type": "string"
},
"task_id": {
"description": "ID of the task to update",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "update_task"
},
{
"description": "Delete a task if it has no dependents",
"inputSchema": {
"properties": {
"task_id": {
"description": "ID of the task to delete",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "delete_task"
},
{
"description": "Get the next available task",
"inputSchema": {
"properties": {
"instance_id": {
"description": "ID of the instance requesting work",
"type": "string"
}
},
"required": [
"instance_id"
],
"type": "object"
},
"name": "get_next_task"
},
{
"description": "Mark a task as completed",
"inputSchema": {
"properties": {
"instance_id": {
"description": "ID of the instance completing the task",
"type": "string"
},
"result": {
"description": "Result or output from the task",
"type": "string"
},
"task_id": {
"description": "ID of the task to complete",
"type": "string"
}
},
"required": [
"task_id",
"instance_id",
"result"
],
"type": "object"
},
"name": "complete_task"
},
{
"description": "Get status of all tasks",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_task_status"
},
{
"description": "Get details of a specific task",
"inputSchema": {
"properties": {
"task_id": {
"description": "ID of the task to get details for",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "get_task_details"
}
]