基本能力
产品定位
Cortex 是一个用于构建 MCP 服务器的 Golang 框架,旨在标准化 LLM 与应用程序之间的上下文交互。
核心功能
- MCP 协议支持:完整实现 MCP 规范,支持 stdio 和 SSE 传输。
- 工具管理:提供工具创建和注册功能,支持参数验证和动态调用。
- 资源暴露:支持通过资源(Resources)向 LLM 提供只读数据。
- 提示模板:支持定义可重用的提示模板(Prompts)。
- 多协议支持:可同时运行 STDIO 和 HTTP/SSE 服务器。
- 插件系统:支持通过插件扩展服务器功能。
适用场景
- LLM 集成:为 LLM 提供上下文和工具调用能力。
- 命令行工具:通过 STDIO 与 LLM 交互的命令行应用。
- Web 服务:通过 HTTP/SSE 提供实时交互的 Web 应用。
- 插件开发:为现有系统添加 LLM 交互能力的插件。
工具列表
- echo:回显输入消息的工具。
- array_example:演示数组参数处理的工具。
- calculator:执行基本数学运算的工具。
- weather:天气相关的工具(通过 Provider 提供)。
- database:数据库操作的工具(通过 Provider 提供)。
常见问题解答
- 日志输出:使用 STDIO 时,必须将日志输出到 stderr 以保持 stdout 的 JSON-RPC 协议干净。
- 多协议运行:可以通过 goroutines 同时运行多种协议服务器。
- 测试工具:提供了
test-call.sh
脚本用于测试 STDIO 服务器。
使用教程
使用依赖
安装前需要确保已安装 Golang 环境。
安装教程
bash
go get github.com/FreePeak/cortex
调试方式
- STDIO 调试:使用
test-call.sh
脚本发送测试请求。
bash
./test-call.sh echo '{"message":"Hello, World!"}' - HTTP/SSE 调试:通过 HTTP 客户端发送请求到 SSE 端点。
- 日志查看:所有调试信息会输出到 stderr。