简单的MCP演示(离线)
描述: 这个项目展示了一个离线的MCP(模型上下文协议)代理,它能够从模拟数据库中回答一般性查询,并提供基于工具的响应,如天气信息——而无需使用任何API密钥或互联网服务。其目标是理解和展示MCP在人工智能系统中的工作流程及其重要性。
特点/功能
通用查询:使用mock_database.json回答问题
工具查询(天气):通过本地MCP服务器返回模拟天气信息
完全离线、模块化且自包含
使用Python + FastAPI实现客户端-服务器交互
文件结构 mcps_project/(可译为:“MCPS项目/”或根据具体上下文,可能指“多项目协作系统/”等,但“mcps”具体含义需依据上下文确定) │ ├─ agent_host.py # 处理用户输入并管理查询 ├─ mcp_client.py # 向MCP服务器发送请求 ├─ mcp_server.py # 提供工具响应的FastAPI服务器 ├─ mock_database.json # 通用知识的离线数据库
它是如何工作的
用户在 agent_host.py 中输入查询
代理检测到查询类型:
通用查询 → 搜索 mock_database.json
工具查询 → 通过 MCPClient 向 MCP 服务器发送请求
MCP服务器处理请求并返回响应
代理将结果打印返回给用户
设置并运行
安装依赖项:
使用 pip 安装 fastapi、uvicorn 和 requests
启动MCP服务器:
使用 Python 模块运行 uvicorn,指定模块为 mcp_server,应用名为 app,并启用自动重载功能:python -m uvicorn mcp_server:app --reload
在新的终端中,启动代理:
运行 python agent_host.py
尝试示例查询:
班加罗尔的天气 什么是MCP 搜索人工智能(AI) 告诉我关于Python的事
退出:
退出
亮点
基于MCP的智能体架构的完全离线演示
展示了人工智能代理如何在本地与工具和数据库进行交互
易于通过添加新工具或数据库条目进行扩展
