任务笑话组合服务

MCP Composer Server是一个结合任务管理和笑话服务的组合服务,提供每日任务和笑话的汇总功能。

  • by arekalov
  • Kotlin
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 arekalov/mcp-composer

使用说明

MCP编辑器服务器

MCP Composer是两个MCP服务器的管弦乐队: jobapimcp (笑话)和 simpletodoistmcp (Todoist的任务)

描述

作曲家集成了两个MCP服务器的功能,并提供了一个单一的端点来接收每日摘要,其中包括:

  • Todoist今天的任务
  • 来自JokeAPI的笑话

建筑

mcpcomposer (порт 8081)
    ↓
    ├── jobapimcp (порт 8080) - анекдоты из JokeAPI
    └── simpletodoistmcp (порт 1234) - задачи из Todoist

要求

  • Kotlin 1.9+
  • 什么 2.3+
  • 运行的服务器:
    • jobapimcp 8080端口
    • simpletodoistmcp 端口 1234

安装和启动

1.启动依赖服务器

首先运行两个MCP服务器:

# Запуск jobapimcp (терминал 1)
cd ../jobapimcp
./gradlew run

# Запуск simpletodoistmcp (терминал 2)
cd ../simpletodoistmcp
./gradlew run

2.作曲家的启动

# Из директории mcpcomposer (терминал 3)
./gradlew run

服务器将在端口8081上启动。

API终点

获取工具列表

GET http://localhost:8081/mcp/tools/list

答复:

{
  "tools": [
    {
      "name": "get_daily_summary",
      "description": "Получить дневную сводку: задачи на сегодня из Todoist + случайный анекдот из JokeAPI",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": {}
      }
    }
  ]
}

调用工具

POST http://localhost:8081/mcp/tools/call
Content-Type: application/json

{
  "name": "get_daily_summary",
  "arguments": {}
}

答复:

{
  "result": "🎯 ДНЕВНАЯ СВОДКА\n\n😄 АНЕКДОТ ДНЯ:\n{анекдот}\n\n📋 ЗАДАЧИ НА СЕГОДНЯ:\n{задачи}",
  "error": null
}

项目结构

mcpcomposer/
├── src/main/kotlin/
│   ├── Application.kt          # Главный файл приложения
│   ├── Routing.kt              # Роутинг
│   ├── clients/                # HTTP клиенты для других MCP серверов
│   │   ├── JobApiMcpClient.kt
│   │   └── TodoistMcpClient.kt
│   ├── mcp/                    # MCP протокол
│   │   └── MCPProtocol.kt
│   ├── models/                 # Модели данных
│   │   └── MCPModels.kt
│   └── service/                # Бизнес-логика
│       └── ComposerService.kt
└── src/main/resources/
    └── application.yaml        # Конфигурация (порт 8081)

与Android应用程序集成

在Android应用程序中使用作曲家 todoistreminder:

  1. 确保在 build.gradle.kts 指定正确的URL:

    buildConfigField("String", "MCP_SERVER_URL", "\"http://10.0.2.2:8081\"")
    
  2. 使用方法 mcpApi.getDailySummary() 为了获取数据

  3. 应用程序将自动显示:

    • 楼上的笑话
    • 下面的任务列表
    • 这两个文本都是通过Yandex GPT格式化的。

开发

项目装配

./gradlew build

开发运行

./gradlew run

检查工作

# Проверка статуса
curl http://localhost:8081/

# Получить список инструментов
curl http://localhost:8081/mcp/tools/list

# Вызвать get_daily_summary
curl -X POST http://localhost:8081/mcp/tools/call \
  -H "Content-Type: application/json" \
  -d '{"name": "get_daily_summary"}'

故障排除

Оибка“连接被拒绝”

确保两个依赖服务器正在运行:

  • jobapimcp 8080端口
  • simpletodoistmcp 端口 1234

未知工具错误

检查查询是否使用正确的工具名称: get_daily_summary

JSON格式错误

验证是否从字段发送JSON name 可选字段 arguments

许可证

麻省理工学院