Cortex

Cortex

site icon
2025.04.01 10
GoLLM 集成命令行工具Web 服务插件开发开发效率
Cortex 是一个基于 Golang 的 MCP(Model Context Protocol)服务器框架,用于构建声明式的 MCP 服务器。它实现了完整的 MCP 规范,支持通过标准传输方式(如 stdio 和 Server-Sent Events)与 LLM(大型语言模型)交互。Cortex 提供了丰富的功能,包括工具管理、资源暴露、提示模板等,帮助开发者高效构建与 LLM 交互的服务。
View on GitHub

Overview

基本能力

产品定位

Cortex 是一个用于构建 MCP 服务器的 Golang 框架,旨在标准化 LLM 与应用程序之间的上下文交互。

核心功能

  1. MCP 协议支持:完整实现 MCP 规范,支持 stdio 和 SSE 传输。
  2. 工具管理:提供工具创建和注册功能,支持参数验证和动态调用。
  3. 资源暴露:支持通过资源(Resources)向 LLM 提供只读数据。
  4. 提示模板:支持定义可重用的提示模板(Prompts)。
  5. 多协议支持:可同时运行 STDIO 和 HTTP/SSE 服务器。
  6. 插件系统:支持通过插件扩展服务器功能。

适用场景

  1. LLM 集成:为 LLM 提供上下文和工具调用能力。
  2. 命令行工具:通过 STDIO 与 LLM 交互的命令行应用。
  3. Web 服务:通过 HTTP/SSE 提供实时交互的 Web 应用。
  4. 插件开发:为现有系统添加 LLM 交互能力的插件。

工具列表

  1. echo:回显输入消息的工具。
  2. array_example:演示数组参数处理的工具。
  3. calculator:执行基本数学运算的工具。
  4. weather:天气相关的工具(通过 Provider 提供)。
  5. database:数据库操作的工具(通过 Provider 提供)。

常见问题解答

  1. 日志输出:使用 STDIO 时,必须将日志输出到 stderr 以保持 stdout 的 JSON-RPC 协议干净。
  2. 多协议运行:可以通过 goroutines 同时运行多种协议服务器。
  3. 测试工具:提供了 test-call.sh 脚本用于测试 STDIO 服务器。

使用教程

使用依赖

安装前需要确保已安装 Golang 环境。

安装教程

go get github.com/FreePeak/cortex

调试方式

  1. STDIO 调试:使用 test-call.sh 脚本发送测试请求。 bash ./test-call.sh echo '{"message":"Hello, World!"}'
  2. HTTP/SSE 调试:通过 HTTP 客户端发送请求到 SSE 端点。
  3. 日志查看:所有调试信息会输出到 stderr。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。