MCP上下文交换示例
此目录包含博客文章“MCP如何处理AI模型之间的上下文交换”的工作示例。
概述
此示例演示了如何使用模型上下文协议(MCP)在三个不同的AI模型之间共享上下文:
- 克劳德:分析代码结构和架构
- GPT-4:建议改进和优化
- 双子座:仔细检查错误和边缘情况
每个模型都建立在前一个模型的分析之上,不需要手动复制粘贴上下文。
先决条件
- Python 3.8或更高版本
- API密钥用于:
- 人类学(克劳德) - OpenAI(GPT-4) - 谷歌人工智能(双子座)
快速开始
选项1:自动设置(推荐)
窗户:
run_example.batMac/Linux:
chmod +x run_example.sh
./run_example.sh脚本会自动处理所有内容——检查Python版本、安装依赖项、验证API密钥以及运行示例。
选项2:手动设置
- 克隆或下载此示例目录
- 安装依赖项:
使用UV(更快,推荐):
# Install uv first if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv pip install --system anthropic openai google-generativeai python-dotenv aiohttp tenacity使用pip:
pip install -r requirements.txt- 配置API密钥:
cp .env.example .env编辑 .env 并添加您的API密钥:
- ANTHROPIC_API_KEY - 从Anthropic控制台获取 - OPENAI_API_KEY - 从OpenAI平台获取 - GOOGLE_API_KEY - 从谷歌AI工作室获取
运行示例
基本用法
python research_assistant.py这将分析所包含的 sample.py 使用所有三个AI模型创建文件。
分析自己的代码
python research_assistant.py your_file.py交互式Jupyter笔记本
要获得更具互动性的可视化体验:
jupyter notebook mcp-context-exchange-demo.ipynb发生了什么
- 克劳德 分析代码结构、计算类、函数并理解架构
- GPT-4 接收克劳德的分析,并根据该背景提出改进建议
- 双子座 获取之前的分析,并查找他们可能遗漏的错误或边缘情况
关键点:每个模型都会通过MCP上下文服务器自动从以前的模型接收上下文。
示例输出
Claude: Analyzing code structure...
Claude: Found 1 classes and 3 functions
GPT-4: Suggesting improvements...
GPT-4: Identified optimization opportunities based on code structure
Gemini: Checking for potential issues...
Gemini: Completed comprehensive review incorporating all previous analyses
==================================================
FULL ANALYSIS RESULTS:
==================================================
Context sharing enabled: True
Each model built on previous findings:
- Claude identified: {'classes': 1, 'functions': 3, 'imports': 0}
- GPT-4 suggested: 3 improvements
- Gemini found: 2 potential issues此示例中的文件
核心Python文件
context_server.py-管理模型间上下文的MCP服务器research_assistant.py-协调三个AI模型的主要应用程序sample.py-要分析的示例Python文件(有故意的问题)pyproject.toml-项目配置和依赖关系.env.example-环境变量模板
多语言代码示例
MCP系统可以分析用任何语言编写的代码。我们包括以下示例:
PlayerController.cs-Unity C#代码存在性能问题MainActivity.kt-存在协程和空安全问题的Android Kotlin代码UserService.java-存在并发问题的企业Java代码
要分析这些文件,请执行以下操作:
# Analyze C# Unity code
python research_assistant.py PlayerController.cs
# Analyze Kotlin Android code
python research_assistant.py MainActivity.kt
# Analyze Java Enterprise code
python research_assistant.py UserService.java定制
您可以将示例修改为:
- 添加更多AI模型
- 更改每个模型关注的内容
- 将上下文存储在数据库中,而不是内存中
- 添加web界面
故障排除
导入错误
确保您已安装所有依赖项:
# Using UV
uv pip install anthropic openai google-generativeai python-dotenv aiohttp tenacity
# Using pip
pip install -r requirements.txtAPI密钥错误
- 确保您的
.env文件存在并且包含有效的API密钥 - 检查API密钥是否具有必要的权限
- 验证您对每项服务都有积分/配额
速率限制
该示例包括基本的重试逻辑,但频繁使用可能会达到速率限制。如果需要,可以考虑在API调用之间添加延迟。
Gemini模型错误
如果您看到“找不到模特/双子座专业人士”或类似内容:
- 谷歌会定期更新他们的型号名称
- 当前工作模式:
gemini-1.5-flash(免费)或gemini-1.5-pro(已付) - 查看可用型号:https://ai.google.dev/gemini-api/docs/models/gemini
- 更新中的模型名称
research_assistant.py第39行
了解更多
有关其工作原理的详细说明,请阅读完整的博客文章: MCP如何处理AI模型之间的上下文交换
贡献
发现问题或想贡献?访问我们的GitHub仓库:
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
