MCP HubMCP Hub
mokafari

orchestrator-server

by: mokafari

small MCP server for orchestrating tasks across LLM instances

15created 29/12/2024
Visit
orchestration
LLM

📌Overview

Purpose: The MCP Orchestrator Server enables task management and coordination among multiple MCP enabled LLM instances, facilitating task creation, sharing, and execution by AI agents.

Overview: The MCP Orchestrator Server is designed to streamline the management of tasks across various AI instances like Claude Desktop or Cline. By providing robust features for task coordination, it significantly enhances the operational efficiency of AI agents.

Key Features:

  • Task Management: Supports task creation with dependencies, allowing for complex workflows among multiple instances.

  • Multi-instance Coordination: Facilitates seamless coordination and collaboration between different LLM instances, ensuring efficient task execution.

  • Persistent Task Storage: Stores tasks persistently to maintain state across different sessions and instances, enhancing reliability.

  • Dependency Enforcement: Ensures that tasks are executed in the correct order by enforcing dependencies, mitigating risks of execution errors.

  • Enhanced State Management: Optimizes task state transitions, making it easier to track and manage tasks effectively throughout their lifecycle.


MCP Orchestrator Server

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 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

  • API Reference
  • Quick Start Guide
  • Changelog

Roadmap

Version 1.2.0

  • Task priorities
  • Timeouts
  • Instance management

Version 1.3.0

  • Task groups
  • Analytics
  • Dashboard

License

MIT