返回市场
麦克佩斯Python示例

麦克佩斯Python示例

作者:chenchen06115 星标更新:2025-04-21

项目介绍

MCP Python 示例项目

这是一个基于MCP(模型上下文协议)的项目,集成了智谱AI和腾讯地图API,提供天气查询、地理编码和网络搜索等功能。该项目包括两种交互方式:命令行界面和Web界面。

功能

  • 🤖 由智谱AI驱动的对话系统
  • 🌤️ 腾讯地图天气查询
  • 🗺️ 地理编码查询
  • 🔍 智能网络搜索
  • 💻 同时支持命令行和Web界面
  • 🌐 支持外部网络访问

项目结构

mcp-python-demo/
├── src/
│   └── mcp_python_demo/
│       ├── __init__.py
│       ├── server.py
│       ├── client.py
│       ├── web_client.py
│       └── main.py
├── images/
├── pyproject.toml
├── .env
├── .env.example
├── .gitignore
└── README.md

快速开始

环境要求

  • Python >= 3.10
  • UV(推荐)或PIP

安装

  1. 克隆项目:
git clone https://github.com/chenchen0611/mcp-python-demo.git
cd mcp-python-demo
  1. 使用UV安装依赖:
uv venv
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate  # Windows
uv pip install -e .

配置

  1. 创建.env文件并配置必要的环境变量:
# 智谱AI配置
ZHIPU_API_KEY="your-zhipu-api-key"
ZHIPU_MODEL="glm-4-plus"
ZHIPU_BASE_URL="https://open.bigmodel.cn/api/paas/v4/"

# 腾讯地图API配置
TENCENT_MAP_API_KEY="your-tencent-map-api-key"
TENCENT_MAP_API_BASE="https://apis.map.qq.com/ws/"

运行

Web界面(推荐)

cd src/mcp_python_demo
streamlit run web_client.py

访问以下地址之一:

  • 本地访问:http://localhost:8501
  • 局域网访问:http://[你的本地IP]: 8501
  • 外部网络访问:http://[你的公网IP]: 8501
页面配置
  • 直接进入'server.py'并点击'连接' 配置
  • 创建一个新的终端,运行以下命令,然后在网页上输入http://127.0.0.1:8000
    cd src/mcp_python_demo
    uv run server.py
    
    配置

命令行界面

cd src/mcp_python_demo
# 使用本地服务器
uv run client.py --agent server.py

# 或使用远程服务器
uv run server.py
uv run client.py --agent http://127.0.0.1:8000

配置

可用工具

1. 天气查询

async def query_weather(adcode: str, search_type: str = "now") -> str:
    """获取中国城市天气信息"""

2. 地理编码查询

async def query_adcode(region_name: str) -> str:
    """获取行政区划代码"""

3. 在线搜索

async def web_search(search_query: str, search_engine: str = "search_std") -> str:
    """使用智谱AI进行网络搜索"""

开发说明

添加新工具

  1. server.py中使用@mcp.tool()装饰器添加新工具:
@mcp.tool()
async def your_tool(param1: str, param2: str = "default") -> str:
    """工具描述"""
    # 实现逻辑
    return result
  1. 工具将自动在客户端可用

环境变量

  • 所有敏感信息和配置应存储在.env文件中
  • 不要提交.env文件到版本控制系统
  • 参考.env.example进行配置

常见问题

  1. 连接错误

    • 检查服务器地址是否正确
    • 确认所有环境变量已正确配置
    • 确保服务器正在运行且端口可访问
  2. API调用失败

    • 验证API密钥是否有效
    • 检查网络连接
    • 确认API调用频率是否超出限制
  3. 无法访问Web UI

    • 检查防火墙设置
    • 确认端口是否开放
    • 验证服务器IP地址是否正确

致谢

本项目基于以下开源项目: