使用说明
MCP(模型上下文协议)
该项目演示了如何使用模型上下文协议(Model Context Protocol),这是一种将AI模型与外部工具和资源交互的协议。
什么是MCP?
Model Context Protocol(MCP)是Anthropic开发的一种开放协议,允许AI模型安全地与外部工具、API和资源通信。MCP提供了一种标准化的方法来扩展AI模型的功能。
MCP架构
MCP由三个主要组成部分组成:
- MCP客户端 -想要使用工具的AI模型或应用程序
- MCP服务器 -提供工具和资源访问的服务器
- MCP传输 -客户端和服务器之间的通信机制(STDIO、HTTP、WebSocket等)
项目结构
├── mcp_server.js # MCP сервер с инструментами (калькулятор, погода)
├── mcp_client.js # MCP клиент для тестирования
├── weather_agent.js # ИИ агент для мониторинга погоды
├── env.example # Пример конфигурации агента
├── package.json # Зависимости и скрипты
└── README.md # Документация
发射
建立依赖关系
npm install
启动演示(客户端+服务器)
npm start
仅运行服务器
npm run server
启动天气代理
npm run agent
要使代理运行,必须配置环境变量(请参阅env.example)
独立启动组件
默认情况下,代理自动启动MCP服务器。但是,您可以独立运行它们:
选项1:自动启动(默认)
# Агент сам запустит MCP сервер
npm run agent
备选办法2:独立发射
# В первом терминале запускаем MCP сервер
npm run server
# Во втором терминале запускаем агента (с WEATHER_AGENT_SPAWN_MCP=false)
WEATHER_AGENT_SPAWN_MCP=false npm run agent
这使得:
- 停止代理而不停止MCP服务器
- 将多个代理连接到一个MCP服务器
- 将MCP服务器用于其他目的
代码中发生了什么
MCP服务器(MCP_Server.js)
- 使用三个工具创建MCP服务器:
calculator_add-数字加法calculator_multiply-数字乘法get_weather-获取天气
- 处理请求
tools/list和tools/call
MCP客户端(MCP_Client.js)
- 启动MCP服务器作为子进程
- 通过STDIO传输连接到服务器
- 获取可用工具列表
- 测试工具
天气代理(Weather_Agent.js)
- 支持不同LLM的天气监控AI代理
- 支持的提供商:YandexGPT(默认)、Claude、OpenAI
- 自动启动MCP服务器获取天气数据
- 每30分钟检查一次天气,并显示对控制台的更改
- 使用LLM分析天气变化
执行结果
Запуск MCP сервера...
Подключение к MCP серверу...
✅ Подключение к MCP серверу установлено
Получение списка инструментов...
📋 Доступные инструменты:
========================
1. calculator_add
Описание: Складывает два числа
Параметры: {
"a": {
"type": "number"
},
"b": {
"type": "number"
}
}
2. calculator_multiply
Описание: Умножает два числа
Параметры: {
"a": {
"type": "number"
},
"b": {
"type": "number"
}
}
3. get_weather
Описание: Получает погоду для указанного города
Параметры: {
"city": {
"type": "string"
}
}
Тестирование инструментов:
🧪 Тестирование инструмента: calculator_add
✅ Результат: Результат: 15
🧪 Тестирование инструмента: calculator_multiply
✅ Результат: Результат: 42
🧪 Тестирование инструмента: get_weather
✅ Результат: Погода в Москва: солнечно, +25°C
安装和使用Weather Agent
配置
- 复制配置示例:
cp env.example .env
- 在.env文件中配置环境变量:
# Город для мониторинга
WEATHER_AGENT_CITY=Москва
# Интервал проверки (в миллисекундах, 30 минут = 1800000)
WEATHER_AGENT_INTERVAL=1800000
# Выбор LLM провайдера (yandexgpt/claude/openai)
WEATHER_AGENT_LLM=yandexgpt
# Режим работы MCP сервера
# true - агент запускает MCP сервер автоматически (по умолчанию)
# false - агент подключается к уже запущенному MCP серверу
WEATHER_AGENT_SPAWN_MCP=true
# Ключи API для выбранного провайдера
YANDEX_API_KEY=your_yandex_api_key
YANDEX_FOLDER_ID=your_yandex_folder_id
# или
CLAUDE_API_KEY=your_claude_api_key
# или
OPENAI_API_KEY=your_openai_api_key
启动代理
# Загрузите переменные окружения
source .env
# Запустите агента
npm run agent
工作特点
- 组件独立性: MCP服务器和代理可以一起或单独工作
- 灵活启动: 自动启动MCP服务器或连接到现有服务器
- 多代理: 一个MCP服务器可以同时为多个代理提供服务
- LLM分析: 当天气变化时,代理使用选定的LLM进行分析
- 灵活配置: 所有设置都通过环境变量配置
MCP的关键概念
1.工具(tools)
工具是AI可以调用的功能。每个工具都有:
- 名称
- 描述(description)
- 输入参数图(Inputschema)
2.运输(Transport)
MCP支持多种传输方式:
- 工作室 -通过标准I/O流(非常适合本地工具)
- HTTP/WebSocket -用于网络连接
- 流式HTTP -用于数据流
3.来文
MCP使用JSON-RPC 2.0进行通信:
- 请求:
tools/list,tools/call,resources/list等等。D.其他事项 - 答案:结构化的结果数据
去哪里玩MCP
📚 正式文件
🔧 销售
- python:
pip install mcp - Node.js:
npm install @modelcontextprotocol/sdk - 去:正式实现
🚀 使用示例
- 克劳德桌面版 支持MCP以增强功能
- AI-IDE -与各种开发工具集成
- 自动化 -连接到API、数据库、文件系统
🎯 下一步学习
- 查看规格 了解JSON-RPC消息格式
- 尝试不同的交通工具 -HTTP、WebSocket
- 创建您的服务器 实现与真实API的集成
- 查看现有服务器 GitHub,Slack,文件系统
- 与AI集成 -连接到Claude、GPT或其他型号
🌟 高级主题
- 资源(Resources) -访问文件、数据库
- Prompts(Prompts) -动态系统应用程序
- 采样(Sampling) -定制AI响应
- 安全 -限制和沙盒
MCP为创建强大的AI应用程序提供了新的可能性,可以访问外部资源!
