gomcptest: Proof of Concept for MCP with Custom Host

gomcptest: Proof of Concept for MCP with Custom Host

site icon
2025.04.18 29
Go代理系统测试代码审查数据分析自动化文档生成开发效率
gomcptest 是一个概念验证(POC)项目,旨在展示如何通过自定义主机实现模型上下文协议(MCP),以便与代理系统进行交互。该项目的主要目标是简化代理系统的测试过程,支持多种代理功能,如代码安全扫描、代码审查、数据分析和自动化文档生成等。
View on GitHub

Overview

基本能力

产品定位

gomcptest 是一个用于测试和迭代代理系统的工具,特别适用于开发和研究代理功能的场景。

核心功能

  • OpenAI 兼容性:API 设计兼容 OpenAI v1 聊天完成格式。
  • Google Gemini 集成:通过 VertexAI API 与 Google Gemini 模型交互。
  • 流式响应支持:服务器支持流式响应。
  • 函数调用:允许 Gemini 调用外部函数并将结果整合到聊天响应中。
  • MCP 服务器交互:展示与假设的 MCP 服务器进行工具执行的交互。
  • 单聊天会话:应用程序使用单聊天会话,新对话不会触发新会话。

适用场景

  • 代码安全扫描代理
  • 代码审查代理
  • 数据分析代理
  • 自动化文档生成代理

工具列表

  • Bash:执行 bash 命令
  • Edit:编辑文件内容
  • GlobTool:查找匹配 glob 模式的文件
  • GrepTool:使用正则表达式搜索文件内容
  • LS:列出目录内容
  • Replace:替换整个文件内容
  • View:查看文件内容

常见问题解答

⚠️ 警告:这些工具可以执行命令并修改系统文件,建议在 chroot 或容器环境中使用以防止潜在的系统损坏。

使用教程

使用依赖

  • Go >= 1.21
  • 访问 Google Cloud Platform 上的 Vertex AI API
  • github.com/mark3labs/mcp-go

安装教程

  1. 克隆项目并进入项目目录。
  2. 使用以下命令构建所有工具:
make all

或构建单个工具:

make Bash
make Edit
make GlobTool
make GrepTool
make LS
make Replace
make View
  1. 配置环境变量(参考 .envrc 文件):
export GCP_PROJECT=your-project-id
export GCP_REGION=your-region
export GEMINI_MODELS=gemini-2.0-flash
export IMAGEN_MODELS=imagen-3.0-generate-002
export IMAGE_DIR=/tmp/images

调试方式

  1. 导航到 host/openaiserver 目录:
cd host/openaiserver
  1. 设置环境变量:
export IMAGE_DIR=/path/to/your/image/directory
export GCP_PROJECT=your-gcp-project-id
export IMAGE_DIR=/tmp/images # 目录必须存在
  1. 运行服务器:
go run .

go run main.go

服务器将在配置的端口(默认:8080)上启动并监听。

许可证

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