项目简介
Coral Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI Agent 提供一个开放的基础设施,实现智能体之间的有效沟通和协作。它通过线程化的消息系统,使得 Agent 可以注册自身、创建和管理对话线程、发送消息以及接收提及通知,从而构建复杂的 Agent 协作网络。
主要功能点
- Agent 管理:支持 Agent 在系统中注册和列出已注册的 Agent。
- 线程管理:允许 Agent 创建、管理和关闭对话线程,并支持添加和移除线程参与者。
- 消息传递:提供在线程中发送消息的功能,并支持 Agent 接收被提及的通知,实现 Agent 之间的异步通信。
- 多种运行模式:支持 Stdio 和 SSE 两种 MCP 传输协议,方便集成到不同的应用场景中。
- 工具化接口:以工具 (Tools) 的形式暴露 Agent 通信能力,符合 MCP 协议规范,易于 LLM 客户端调用。
安装步骤
-
克隆仓库
git clone https://github.com/Coral-Protocol/coral-server.git cd coral-server -
构建项目
使用 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。" }
基本使用方法
-
启动服务器:根据选择的模式,使用上述配置中的命令启动 Coral Server。例如,使用 SSE 模式,在仓库根目录下执行 './gradlew run --sse-server 3001'。
-
连接 MCP 客户端:在 MCP 客户端中配置 Coral Server 的连接信息,指定服务器地址和端口。对于 SSE 模式,可以使用 'http://localhost:3001/sse' 作为 SSE Server URL。
-
使用 Agent 工具:客户端可以通过调用服务器提供的工具 (如 'register_agent', 'send_message' 等) 来实现 Agent 的注册、消息发送等功能,具体工具列表请参考仓库 README 或 "Available Tools" 章节。
-
参考示例代码:仓库的 'examples/camel-search-maths/' 目录下提供了使用 Python 客户端 'camel' 连接 Coral Server 的示例代码,可以参考这些示例了解如何使用 MCP 客户端与 Coral Server 进行交互。
信息
分类
通信与社交