orchestrator-mcp-server

lioarce01/orchestrator-mcp-server

3.2

If you are the rightful owner of orchestrator-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Orchestrator Server is a central hub designed to coordinate tasks between multiple specialized MCP services, such as Trello and GitHub.

MCP Orchestrator Server

A MCP server that acts as the central orchestrator to coordinate tasks between multiple specialized MCP services (Trello, GitHub, etc.).

šŸš€ Installation and Setup

1. Install dependencies

npm install

2. Configure MCP services

Make sure your Trello and GitHub MCP servers are running:

# Terminal 1 - Trello MCP Server (port 3001)
docker run -p 3001:3001 trello-mcp-server

# Terminal 2 - GitHub MCP Server (port 3002)
docker run -p 3002:3002 github-mcp-server

3. Run the orchestrator

# Development mode
npm run dev

# Production mode
npm run build && npm start

šŸŽÆ Available Tools

planDevelopmentFeature

Automatically creates necessary resources for a new feature:

  • "Backlog" list in Trello (if it doesn't exist)
  • Card with the feature name
  • feature/feature-name branch in GitHub

Parameters:

  • featureName: Name of the feature
  • trelloBoard: Trello board ID or name
  • githubRepo: GitHub repository (owner/repo format)
  • baseBranch: Base branch (default: main)
  • description: Optional description

executeMultiServiceTask

Executes custom tasks across multiple MCP services.

Parameters:

  • tasks: Array of tasks in the following format:

    {
      "service": "trello|github",
      "method": "createList|createCard|createBranch|etc",
      "params": {
        /* method-specific parameters */
      }
    }
    

šŸ“‹ Usage Examples

Example 1: Full feature planning

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "planDevelopmentFeature",
    "arguments": {
      "featureName": "Google Login",
      "trelloBoard": "my-project-board-id",
      "githubRepo": "myuser/myproject",
      "baseBranch": "main",
      "description": "Implement OAuth2 authentication with Google"
    }
  }
}

Expected result:

  • āœ… "Backlog" list created in Trello
  • āœ… "Google Login" card added to the list
  • āœ… Branch feature/google-login created from main

Example 2: Custom multi-service tasks

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "executeMultiServiceTask",
    "arguments": {
      "tasks": [
        {
          "service": "trello",
          "method": "createList",
          "params": {
            "boardId": "board123",
            "name": "Sprint 1"
          }
        },
        {
          "service": "github",
          "method": "createBranch",
          "params": {
            "repo": "myuser/myproject",
            "branchName": "hotfix/critical-bug",
            "baseBranch": "main"
          }
        }
      ]
    }
  }
}

šŸ”§ Architecture

[AI Agent / User]
       ↓
[MCP Orchestrator] ← Central coordination
       ↓
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Trello MCP        │   GitHub MCP       │ (GitHub MCP not implemented yet)
│  (port 3001)       │   (port 3002)      │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Workflow:

  1. Reception: The orchestrator receives a high-level instruction
  2. Analysis: It determines which services and methods to invoke
  3. Delegation: Sends JSON-RPC requests to the respective MCP servers
  4. Coordination: Collects results and handles errors
  5. Response: Returns a unified summary of all operations

šŸ› ļø Extensibility

To add new MCP services, modify the registerDefaultServers() method:

this.registeredServers.set("slack", {
  name: "slack",
  baseUrl: "http://localhost:3003",
  endpoints: {
    sendMessage: "/mcp",
    createChannel: "/mcp",
  },
});

šŸ› Error Handling

The orchestrator includes robust error handling:

  • Network failures: Automatic timeouts and retries
  • Unavailable services: Continues with available services
  • Validation errors: Reports which parameter failed
  • Partial responses: Indicates which operations succeeded

šŸ“ Logs and Debugging

Results include detailed debugging info:

{
  "summary": "Development feature planning completed: 3/3 tasks successful",
  "results": [
    {
      "service": "trello",
      "method": "createList",
      "success": true,
      "result": { "id": "list123", "name": "Backlog" }
    }
  ],
  "timestamp": "2025-01-15T10:30:00.000Z"
}

šŸ¤ Integration with AI Agents

This orchestrator is designed to work with AI agents like Claude. The agent can:

  1. Interpret natural language instructions
  2. Translate them into structured JSON-RPC calls
  3. Send them to the orchestrator
  4. Interpret and present results to the user

Example agent prompt:

"Create a task to implement Google login. I want it added to Trello in the 'MyProject' board and also create the branch in GitHub under 'user/myapp'"

The agent would translate this into a planDevelopmentFeature call with the appropriate parameters.