项目简介

Coral Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI Agent 提供一个开放的基础设施,实现智能体之间的有效沟通和协作。它通过线程化的消息系统,使得 Agent 可以注册自身、创建和管理对话线程、发送消息以及接收提及通知,从而构建复杂的 Agent 协作网络。

主要功能点

  • Agent 管理:支持 Agent 在系统中注册和列出已注册的 Agent。
  • 线程管理:允许 Agent 创建、管理和关闭对话线程,并支持添加和移除线程参与者。
  • 消息传递:提供在线程中发送消息的功能,并支持 Agent 接收被提及的通知,实现 Agent 之间的异步通信。
  • 多种运行模式:支持 Stdio 和 SSE 两种 MCP 传输协议,方便集成到不同的应用场景中。
  • 工具化接口:以工具 (Tools) 的形式暴露 Agent 通信能力,符合 MCP 协议规范,易于 LLM 客户端调用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/Coral-Protocol/coral-server.git
    cd coral-server
  2. 构建项目

    使用 Gradle 构建项目:

    ./gradlew build

服务器配置

以下 JSON 配置信息可用于 MCP 客户端连接 Coral Server。客户端需要配置服务器的启动命令 (command) 及其参数 (args)。

{
  "serverName": "Coral Server (SSE)",
  "command": "./gradlew",
  "args": ["run", "--sse-server", "3001"],
  "description": "启动 Coral Server,使用 SSE 协议,端口为 3001。更多启动模式和参数请参考仓库 README 文档。"
}

参数说明:

  • 'serverName': MCP 服务器的名称,自定义即可。
  • 'command': 启动服务器的命令,这里使用 Gradle wrapper 启动。
  • 'args': 启动命令的参数,'run' 是 Gradle 的运行 task,'--sse-server 3001' 指定使用 SSE 模式并监听 3001 端口。
  • 'description': 对该配置的描述,方便用户理解。

其他启动模式:

  • Stdio 模式

    {
      "serverName": "Coral Server (Stdio)",
      "command": "./gradlew",
      "args": ["run", "--args=--stdio"],
      "description": "启动 Coral Server,使用 Stdio 协议。"
    }
  • SSE 模式 (Ktor 插件,默认端口 3001)

    {
      "serverName": "Coral Server (SSE Ktor)",
      "command": "./gradlew",
      "args": ["run"],
      "description": "启动 Coral Server,使用 Ktor 插件的 SSE 模式,默认端口 3001。"
    }

基本使用方法

  1. 启动服务器:根据选择的模式,使用上述配置中的命令启动 Coral Server。例如,使用 SSE 模式,在仓库根目录下执行 './gradlew run --sse-server 3001'。

  2. 连接 MCP 客户端:在 MCP 客户端中配置 Coral Server 的连接信息,指定服务器地址和端口。对于 SSE 模式,可以使用 'http://localhost:3001/sse' 作为 SSE Server URL。

  3. 使用 Agent 工具:客户端可以通过调用服务器提供的工具 (如 'register_agent', 'send_message' 等) 来实现 Agent 的注册、消息发送等功能,具体工具列表请参考仓库 README 或 "Available Tools" 章节。

  4. 参考示例代码:仓库的 'examples/camel-search-maths/' 目录下提供了使用 Python 客户端 'camel' 连接 Coral Server 的示例代码,可以参考这些示例了解如何使用 MCP 客户端与 Coral Server 进行交互。

信息

分类

通信与社交