phoenix1028/shenzhouzhuanche-mcp-server
3.2
If you are the rightful owner of shenzhouzhuanche-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This is a Shenzhou Special Car MCP server built using the latest MCP Python SDK 1.12.0, utilizing the streamable-http transport protocol.
Tools
7
Resources
0
Prompts
0
神州专车MCP服务器
这是一个基于最新MCP Python SDK 1.12.0构建的神州专车服务MCP服务器,使用streamable-http传输协议。
功能特性
- ✅ 创建专车订单 (
create_order
) - ✅ 取消专车订单 (
cancel_order
) - ✅ 修改上车地点 (
update_pickup_location
) - ✅ 修改下车地点 (
update_dropoff_location
) - ✅ 获取司机真实电话 (
get_driver_phone
) - ✅ 获取城市服务信息 (
get_city_services
) - ✅ 价格预估 (
estimate_price
) - ✅ 多种OAuth2认证模式支持
- ✅ 自动Token管理和刷新
- ✅ 异步API调用
- ✅ 完整的类型注解
系统要求
- Python 3.10+
- MCP Python SDK 1.12.0+
- uv包管理器(推荐)
安装
方法1: 使用uv (推荐)
# 如果还没有安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 克隆或进入项目目录
cd shenzhouzhuanche-mcp-server
# uv会自动根据pyproject.toml安装依赖
uv sync
方法2: 使用pip
pip install "mcp>=1.12.0" "requests>=2.31.0" "aiohttp>=3.8.0" "uvicorn>=0.24.0" "pydantic>=2.0.0"
认证配置
神州专车MCP支持多种认证方式,按优先级自动选择:
1. 环境变量配置(推荐)
# 密码模式认证(企业账号)
export SHENZHOU_USERNAME="your_username"
export SHENZHOU_PASSWORD="your_password"
# 是否启用交互式授权
export SHENZHOU_INTERACTIVE="false"
2. 认证优先级
- 已保存Token - 优先使用本地保存的有效token
- 密码模式 - 如果配置了用户名密码,自动使用密码模式认证
- 授权码模式 - 如果启用交互模式,提供授权URL供用户手动授权
🚀 快速开始
最简单的启动方式:
# 1. 安装uv(如果未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 进入项目目录
cd shenzhouzhuanche-mcp-server
# 3. 一键启动(自动安装依赖和启动服务器)
uv run python server.py
带认证配置的启动:
# 设置认证信息(可选)
export SHENZHOU_USERNAME="your_username"
export SHENZHOU_PASSWORD="your_password"
# 启动服务器
uv run python server.py
运行方式
方法1: 使用uv直接启动(推荐)
# 进入项目目录
cd shenzhouzhuanche-mcp-server
# 使用uv直接启动(会自动安装依赖)
uv run python server.py
方法2: 使用启动脚本
# 使用原始启动脚本
./start_http_server.sh
# 或使用改进版启动脚本
./start.sh
启动后效果
服务器启动后会显示:
- 🚗 服务器运行在
http://127.0.0.1:8000
- 📋 可用的7个MCP工具
- 📦 可用的2个MCP资源
- 🔐 当前认证配置状态
- 按
Ctrl+C
停止服务器
MCP工具说明
1. create_order - 创建专车订单
创建一个新的神州专车订单。
参数:
passenger_mobile
(str): 乘客手机号start_lat
(float): 上车地点纬度start_lng
(float): 上车地点经度start_name
(str): 上车地点名称start_address
(str): 上车地点详细地址end_lat
(float): 下车地点纬度end_lng
(float): 下车地点经度end_name
(str): 下车地点名称end_address
(str): 下车地点详细地址passenger_name
(str, 可选): 乘客姓名,默认"乘客"service_id
(int, 可选): 服务类型ID,默认14(立即叫车)car_group_id
(int, 可选): 车型ID,默认2(公务车型)
返回: JSON格式的订单创建结果,包含订单ID
2. cancel_order - 取消专车订单
取消一个已创建的专车订单。
参数:
order_id
(str): 订单IDforce
(bool, 可选): 是否强制取消,默认Falsereason
(str, 可选): 取消原因,默认"用户取消"reason_id
(int, 可选): 取消原因ID,默认1
3. update_pickup_location - 修改上车地点
修改订单的上车地点。
参数:
order_id
(str): 订单IDlatitude
(float): 新上车地点纬度longitude
(float): 新上车地点经度name
(str): 新上车地点名称address
(str): 新上车地点详细地址
4. update_dropoff_location - 修改下车地点
修改订单的下车地点。
参数:
order_id
(str): 订单IDlatitude
(float): 新下车地点纬度longitude
(float): 新下车地点经度name
(str): 新下车地点名称address
(str): 新下车地点详细地址
5. get_driver_phone - 获取司机真实电话
获取订单对应司机的真实电话号码。
参数:
order_id
(str): 订单IDptn_order_id
(str, 可选): 第三方订单ID
返回: 包含司机电话的响应
6. get_city_services - 获取城市服务信息
获取神州专车支持的城市及服务信息。
返回: 城市服务信息列表
7. estimate_price - 价格预估
预估行程价格。
参数:
start_lat
(float): 出发地纬度start_lng
(float): 出发地经度end_lat
(float): 目的地纬度end_lng
(float): 目的地经度service_id
(int, 可选): 服务类型ID,默认14car_group_id
(int, 可选): 车型ID,默认2
MCP资源
shenzhou://config - 配置信息
访问神州专车服务的配置信息(不包含敏感数据)。
shenzhou://token-status - Token状态
获取当前认证Token的状态信息。
开发和调试
运行测试套件
# 基础功能测试
uv run python test_server.py
# 如果配置了密码认证,会自动测试完整订单流程
export SHENZHOU_USERNAME="test_username"
export SHENZHOU_PASSWORD="test_password"
uv run python test_server.py
类型检查
# 安装mypy
uv add --dev mypy
# 运行类型检查
uv run mypy *.py
代码格式化
# 安装ruff
uv add --dev ruff
# 运行代码检查
uv run ruff check .
# 自动修复
uv run ruff check --fix .
项目结构
shenzhouzhuanche-mcp-server/
├── pyproject.toml # 项目配置和依赖
├── server.py # MCP服务器主文件
├── config.py # 配置管理
├── models.py # 数据模型定义
├── auth_manager.py # 认证管理器
├── shenzhou_client.py # 神州专车API客户端
├── token_manager.py # Token生命周期管理
├── test_server.py # 测试套件
├── start_http_server.sh # 启动脚本
└── README.md # 项目文档
API权限说明
不同认证模式有不同的API访问权限:
功能类别 | 客户端模式 | 授权码模式 | 密码模式 |
---|---|---|---|
基础查询API | ✅ | ✅ | ✅ |
订单创建 | ❌ | ✅ | ✅ |
订单修改 | ❌ | ✅ | ✅ |
地点修改 | ❌ | ✅ | ✅ |
司机信息查询 | ✅ | ✅ | ✅ |
注意事项
- ⚠️ 订单创建权限: 只有用户授权或企业账号的token才能创建订单
- 🔄 Token管理: 系统会自动管理token生命周期和刷新
- 🧪 测试环境: 当前配置使用沙盒环境,不会产生实际费用
- 📱 手机号要求: 创建订单需要提供有效的手机号
- 📍 地理坐标: 所有位置参数使用WGS84坐标系
版本信息
- MCP Python SDK: >=1.12.0
- 传输协议: streamable-http (生产推荐)
- Python要求: >=3.10
- 包管理器: uv (推荐)
许可证
MIT License