项目简介
Caramba 是一个基于 Go 语言构建的 Agent 框架,它遵循 “一切皆为 io” 的哲学,旨在通过统一的 I/O 接口轻松连接各种组件。除了作为一个 Agent 框架,Caramba 也可以作为一个 MCP (Model Context Protocol) 服务器运行,将框架内建的工具集提供给 MCP 客户端使用。
主要功能点
- 资源管理和数据访问: Caramba 通过其框架,可以托管和管理各种资源,并为 LLM 提供数据访问能力。(虽然仓库信息没有明确列出资源管理,但agent framework 通常具备数据处理能力,可以推断其具备资源管理潜力)
- 工具注册和执行: Caramba 框架内建了丰富的工具集,包括浏览器、文件编辑器、环境工具(终端交互)、GitHub、Azure DevOps 和 Trengo 等工具,这些工具可以通过 MCP 协议暴露给 LLM 客户端调用,扩展 LLM 的能力边界。
- 支持 Prompt 模板: 虽然仓库信息没有明确提及 Prompt 模板功能,但作为一个 Agent 框架和 MCP 服务器,可以推断 Caramba 支持 Prompt 模板的定义和使用,以便客户端定制 LLM 交互模式。(需要进一步代码审计确认,但基于 MCP 服务器的定义推断存在此功能)
- JSON-RPC 通信: Caramba MCP 服务器通过标准的 JSON-RPC 协议与客户端进行通信,接收客户端的请求并返回响应,符合 MCP 协议规范。
- 多种传输协议支持: README 文档中虽然没有明确提及支持多种传输协议,但 Go 语言开发的服务器通常容易支持 Stdio, SSE, WebSocket 等多种协议,考虑到 MCP 服务器的通用性,Caramba 可能支持多种传输协议。(需要进一步代码审计确认)
安装步骤
- 安装 Go 环境: 确保您的系统已安装 Go 1.21 或更高版本。
- 获取仓库代码: 使用 'go get' 命令获取 Caramba 仓库:
go get github.com/theapemachine/caramba - 构建二进制文件: 在仓库根目录下,执行 'go build' 命令编译 Caramba 项目,生成可执行文件 'caramba'。
服务器配置
MCP 客户端需要配置 Caramba MCP 服务器的启动命令和相关参数,以便建立连接。以下是一个 JSON 格式的配置示例,您可以将其添加到 MCP 客户端的配置文件中(例如 Claude 的配置文件):
"mcpServers": { "caramba": { "command": "/path/to/caramba mcp", // Caramba MCP 服务器的启动命令,请替换为实际的 caramba 可执行文件路径 "args": [], // 启动参数,当前示例为空 "env": { // 环境变量配置(可选) "PATH": "It seems Claude does not have access to the ENV, so you can set your PATH this way", // Claude 访问环境变量可能存在问题,如果需要设置 PATH,可以在这里配置 "AZURE_DEVOPS_ORG": "<your azure devops org>", // Azure DevOps 组织名称 (可选,如果使用 Azure DevOps 工具) "AZURE_DEVOPS_ORG_URL": "<your azure devops org url>", // Azure DevOps 组织 URL (可选,如果使用 Azure DevOps 工具) "AZDO_PAT": "<your azure devops personal access token>",// Azure DevOps 个人访问令牌 (可选,如果使用 Azure DevOps 工具) "AZURE_DEVOPS_PROJECT": "<your azure devops project>", // Azure DevOps 项目名称 (可选,如果使用 Azure DevOps 工具) "SLACK_DEFAULT_CHANNEL": "<your slack channel id>", // Slack 默认频道 ID (可选,如果使用 Slack 工具,仓库中未提及 Slack 工具,此处配置可能无效) "SLACK_BOT_TOKEN": "<your slack bot token>", // Slack Bot Token (可选,如果使用 Slack 工具,仓库中未提及 Slack 工具,此处配置可能无效) "GITHUB_PAT": "<your github personal access token>", // GitHub 个人访问令牌 (可选,如果使用 GitHub 工具) "OPENAI_API_KEY": "<your OpenAI key>" // OpenAI API 密钥 (可选,如果 Caramba 内部使用了 OpenAI 功能,当前仓库信息中 examples 示例使用了 OpenAI) } } }
配置说明:
- 'server name': 'caramba' - 您可以在 MCP 客户端中自定义服务器名称。
- 'command': '/path/to/caramba mcp' - 请务必将 '/path/to/caramba' 替换为您实际的 'caramba' 可执行文件路径。 这是 MCP 客户端连接 Caramba MCP 服务器的关键。
- 'args': '[]' - 启动参数列表,当前示例中为空,您可以根据 Caramba MCP 服务器的实际需求添加启动参数。(仓库信息中未提供额外的启动参数)
- 'env': 环境变量配置,用于配置 Caramba MCP 服务器运行时需要的环境变量,例如 API 密钥、访问令牌等。 这些环境变量是可选的,仅当您需要使用 Caramba 提供的特定工具(如 Azure DevOps, GitHub, OpenAI 等)时才需要配置。 请根据您实际使用的工具和服务配置相应的环境变量。
基本使用方法
- 启动 Caramba MCP 服务器: 在终端中,导航到 Caramba 仓库根目录或 'caramba' 可执行文件所在目录,运行以下命令启动 MCP 服务器:
./caramba mcp - 配置 MCP 客户端: 根据您的 MCP 客户端(例如 Claude),配置 Caramba MCP 服务器的连接信息,将上述 JSON 配置示例添加到客户端的配置文件中,并确保 'command' 路径正确。
- 在 MCP 客户端中使用工具: 一旦 MCP 客户端成功连接到 Caramba MCP 服务器,您就可以在客户端中调用 Caramba 提供的工具了。具体的工具调用方式取决于 MCP 客户端的实现和 Caramba 提供的工具功能。 您可以参考 Caramba 仓库的文档或示例代码,了解如何使用 Caramba 提供的各种工具。
注意: Caramba MCP 服务器的具体功能和使用方法可能需要参考其更详细的文档 (如 'docs/mcp.md') 和示例代码。 上述使用说明是基于仓库 README.md 和 MCP 服务器的通用特性推断而来,实际使用时请以 Caramba 官方文档为准。
信息
分类
AI与计算