AI模型上下文交换协议

MCP协议实现多AI模型间的上下文自动传递,支持代码分析、优化建议和错误检查的协同工作流程。

  • by angrysharkstudio
  • Jupyter Notebook
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 angrysharkstudio/mcp-context-exchange-examples

使用说明

MCP上下文交换示例

此目录包含博客文章“MCP如何处理AI模型之间的上下文交换”的工作示例。

概述

此示例演示了如何使用模型上下文协议(MCP)在三个不同的AI模型之间共享上下文:

  • 克劳德:分析代码结构和架构
  • GPT-4:建议改进和优化
  • 双子座:仔细检查错误和边缘情况

每个模型都建立在前一个模型的分析之上,不需要手动复制粘贴上下文。

先决条件

  • Python 3.8或更高版本
  • API密钥用于:
    • 人类学(克劳德)
    • OpenAI(GPT-4)
    • 谷歌人工智能(双子座)

快速开始

选项1:自动设置(推荐)

窗户:

run_example.bat

Mac/Linux:

chmod +x run_example.sh
./run_example.sh

脚本会自动处理所有内容——检查Python版本、安装依赖项、验证API密钥以及运行示例。

选项2:手动设置

  1. 克隆或下载此示例目录

  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
    
  3. 配置API密钥:

    cp .env.example .env
    

    编辑 .env 并添加您的API密钥:

运行示例

基本用法

python research_assistant.py

这将分析所包含的 sample.py 使用所有三个AI模型创建文件。

分析自己的代码

python research_assistant.py your_file.py

交互式Jupyter笔记本

要获得更具互动性的可视化体验:

jupyter notebook mcp-context-exchange-demo.ipynb

发生了什么

  1. 克劳德 分析代码结构、计算类、函数并理解架构
  2. GPT-4 接收克劳德的分析,并根据该背景提出改进建议
  3. 双子座 获取之前的分析,并查找他们可能遗漏的错误或边缘情况

关键点:每个模型都会通过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.txt

API密钥错误

  • 确保您的 .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仓库: github/angrysharkstudio/mcp-context-exchange-examples

许可证

MIT许可证-有关详细信息,请参阅许可证文件。