
gomcptest: Proof of Concept for MCP with Custom Host

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
安装教程
- 克隆项目并进入项目目录。
- 使用以下命令构建所有工具:
make all
或构建单个工具:
make Bash
make Edit
make GlobTool
make GrepTool
make LS
make Replace
make View
- 配置环境变量(参考
.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
调试方式
- 导航到
host/openaiserver
目录:
cd host/openaiserver
- 设置环境变量:
export IMAGE_DIR=/path/to/your/image/directory
export GCP_PROJECT=your-gcp-project-id
export IMAGE_DIR=/tmp/images # 目录必须存在
- 运行服务器:
go run .
或
go run main.go
服务器将在配置的端口(默认:8080)上启动并监听。