README
🚀 gomcptest: 自定义主机实现MCP的概念验证项目
本项目是一个概念验证(POC),展示了如何借助自定义构建的主机实现模型上下文协议(MCP),并与代理化系统进行交互。代码为从头编写,有助于清晰理解底层机制。
查看实验网站上的自动生成文档:https://owulveryck.github.io/gomcptest/
🚀 快速开始
此项目是一个概念验证(POC),展示如何通过自定义构建的主机来实现模型上下文协议(MCP)并与代理化系统进行交互。代码从头开始编写,旨在提供对底层机制的清晰理解。
✨ 主要特性
该项目的主要目标是通过Model Context Protocol(MCP)实现代码库的安全性、可维护性和效率。例如:
dispatch_agent可以专门化为扫描代码库中的安全漏洞。- 创建代码审查代理,用于分析拉取请求中潜在的问题。
- 构建数据分析代理,处理并可视化复杂数据集。
- 开发自动生成文档的代理,根据代码生成全面的文档。
这些专业的代理可以通过此存储库提供的工具轻松测试和迭代。
📦 安装指南
先决条件
- Go语言 >= 1.21版本。
- 对Google Cloud Platform(GCP) Vertex AI API的访问权限。
github.com/mark3labs/mcp-go。
工具使用gcloud auth login配置的默认GCP登录凭证。
构建工具
要构建项目,请运行以下命令:
go mod tidy
make build
📚 详细文档
项目结构
host/openaiserver:实现一个自定义主机,模拟OpenAI API,使用Google Gemini和函数调用。这是POC的核心。tools:包含多个与MCP兼容的工具,可与主机交互:dispatch-agent:用于处理代理化系统的功能。transformer:实现类似于GPT - 3的文本生成模型。image-generator:使用Imagen系列模型生成图像。
功能说明
| 主机 | 端点 | 描述 |
|------------|---------------------------|--------------------------------|
| OpenAI | api/v1/chat/completions | 模拟OpenAI API,支持文本交互式聊天和函数调用 |
| GPT - 3 | api/v1/gpt-3 | 提供与GPT - 3兼容的接口 |
| 图像生成器 | api/v1/image-generator | 使用Imagen系列模型生成图像 |
配置说明
全局配置
| 变量 | 描述 | 默认值 | 是否必填 |
|--------|--------------|--------|----------|
| PORT | 服务器监听端口 | 8080 | 否 |
| LOG_LEVEL | 日志级别(DEBUG, INFO, WARN, ERROR) | INFO | 否 |
| IMAGE_DIR | 存储图像的目录 | | 是 |
GCP配置
| 变量 | 描述 | 默认值 | 是否必填 |
|----------------|--------------------------------|----------------------------|----------|
| GCP_PROJECT | Google Cloud Project ID | | 是 |
| GEMINI_MODELS | 逗号分隔的Gemini模型列表 | gemini-1.5-pro,gemini-2.0-flash | 否 |
| GCP_REGION | Google Cloud Region | us-central1 | 否 |
| IMAGEN_MODELS | 逗号分隔的Imagen模型列表 | | 否 |
| IMAGE_DIR | 存储图像的目录 | | 是 |
⚠️ 注意事项
⚠️ 重要提示
此项目是一个概念验证,存在一定的限制。
💡 使用建议
代码按现状提供,仅用于教育目的,以理解如何实现MCP与自定义主机。
Scan to join WeChat group