可持续旅游人工智能代理-MCP服务器
用于可持续旅行路线规划和环境影响分析的模型上下文协议(MCP)服务器实现。该服务器为人工智能代理提供了计算环保旅行路线、碳足迹、成本节约和健康效益的工具。
特性
🌱 核心能力
- 可持续路线规划:步行和公共交通相结合的混合模式交通
- 碳足迹分析:不同运输方式的实时二氧化碳排放量计算
- 成本效益分析:比较可持续运输和传统运输的成本
- 健康影响跟踪:计算燃烧的卡路里、行走的步数和健康益处
- 个性化推荐:基于用户偏好和限制的交通建议
🚀 MCP工具可用
calculate_sustainable_route-创建环保的多模式路线calculate_carbon_footprint-按运输方式分析环境影响calculate_health_benefits-追踪健身和健康福利get_transport_recommendations-获取个性化的交通建议
📚 MCP资源
sustainable-travel-guide-全面的可持续旅游实践指南carbon-calculator-data-排放系数和计算方法
建筑
服务器实现了项目需求中描述的架构:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ User Client │───▶│ MCP Server │───▶│ Calculation │
│ (AI Agent) │ │ (SSE Transport) │ │ Engine │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Route & Impact │
│ Analysis │
└──────────────────┘安装
先决条件
- Python 3.10或更高版本
- 虚拟环境(推荐)
设置
- 克隆或下载项目:
cd sustainableAI- 激活虚拟环境:
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate- 安装依赖项:
pip install -r requirements.txt用法
启动服务器
开发模式(带自动重新加载)
python server.py生产模式
uvicorn server:app --host 0.0.0.0 --port 8000使用MCP CLI(建议用于开发)
mcp dev server.py服务器配置
服务器运行在 http://localhost:8000 默认情况下,使用SSE(服务器发送事件)传输。
环境变量:
MCP_SERVER_PORT:服务器端口(默认值:8000)MCP_TRANSPORT_TYPE:运输类型-sse(默认)或streamable_http
示例用法
1.计算可持续路线
# Tool call example
result = calculate_sustainable_route(
origin_lat=28.6139,
origin_lon=77.2090,
origin_address="India Gate, New Delhi",
dest_lat=28.5355,
dest_lon=77.3910,
dest_address="Noida Sector 62",
user_weight_kg=70.0,
car_fuel_efficiency=15.0,
fuel_price_per_liter=100.0
)响应:
{
"success": true,
"route": {
"segments": [
{
"mode": "walking",
"distance_km": 1.0,
"duration_minutes": 12.0,
"cost_inr": 0.0,
"carbon_emissions_kg": 0.0,
"description": "Walk 1.0 km from India Gate, New Delhi"
},
{
"mode": "metro",
"distance_km": 23.5,
"duration_minutes": 56.4,
"cost_inr": 70.5,
"carbon_emissions_kg": 0.964,
"description": "Take metro for 23.5 km"
}
],
"total_distance_km": 24.5,
"total_duration_minutes": 68.4,
"total_cost_inr": 70.5,
"steps_walked": 1300,
"calories_burned": 70.0,
"money_saved_vs_car": 125.5,
"carbon_saved_vs_car": 4.181
}
}2.获取交通建议
recommendations = get_transport_recommendations(
distance_km=5.0,
time_available_minutes=60.0,
budget_inr=50.0,
prioritize="environment"
)3.计算碳足迹
footprint = calculate_carbon_footprint(
transport_mode="bus",
distance_km=10.0
)与AI代理集成
Claude桌面集成
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"sustainable-travel": {
"command": "python",
"args": ["path/to/sustainableAI/server.py"],
"env": {
"MCP_TRANSPORT_TYPE": "sse"
}
}
}
}自定义MCP客户端
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def use_sustainable_travel_agent():
server_params = StdioServerParameters(
command="python",
args=["server.py"]
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# Initialize the session
await session.initialize()
# Call tools
result = await session.call_tool(
"calculate_sustainable_route",
{
"origin_lat": 28.6139,
"origin_lon": 77.2090,
"origin_address": "India Gate",
"dest_lat": 28.5355,
"dest_lon": 77.3910,
"dest_address": "Noida"
}
)
print(result)api参考
工具
calculate_sustainable_route
计算两点之间的环保多式联运路线。
参数:
origin_lat(浮动):原点纬度origin_lon(float):原点经度origin_address(str):源地址描述dest_lat(浮动):目的地纬度dest_lon(float):目的地经度dest_address(str):目标地址描述user_weight_kg(浮动,可选):用于计算卡路里的用户体重(默认值:70.0)car_fuel_efficiency(浮动,可选):汽车燃油效率,单位为公里/升(默认值:15.0)fuel_price_per_liter(浮动,可选):燃料价格,单位为印度卢比/升(默认值:100.0)
calculate_carbon_footprint
分析特定运输方式和距离的碳排放量。
参数:
transport_mode(str):交通方式(“步行”、“公共汽车”、“地铁”、“汽车”)distance_km(浮动):距离(单位:公里)
calculate_health_benefits
计算步行对健康的益处。
参数:
walking_distance_km(浮动):步行距离(公里)user_weight_kg(浮动,可选):用户重量,单位为kg(默认值:70.0)
get_transport_recommendations
根据约束条件提供个性化的交通建议。
参数:
distance_km(浮动):行程距离time_available_minutes(浮动):行程可用时间budget_inr(浮动):预算(印度卢比)prioritize(str,可选):优先级(“环境”、“成本”、“时间”、“健康”)
资源
sustainable-travel-guide
可持续旅行实践的综合指南,包括交通方式比较和提示。
carbon-calculator-data
包含排放因子、计算方法和环境背景的JSON数据。
排放系数
| 运输方式 | 二氧化碳排放量(kg/km) | 成本(INR/km) | 速度(km/h) |
|---|---|---|---|
| 步行 | 0.000 | 0.00 | 5 |
| 公交车 | 0.089 | 2.00 | 25 |
| 地铁 | 0.041 | 3.00 | 25 |
| 汽车 | 0.210 | 8.00 | 30 |
发展
运行测试
# Install test dependencies
pip install pytest pytest-asyncio
# Run tests
pytest tests/编码结构
sustainableAI/
├── server.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── .venv/ # Virtual environment贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 检查 MCP文件
- 查看 Python SDK示例
- 在此存储库中打开问题
致谢
- 与 模型上下文协议Python SDK
- 基于IPCC指南的排放系数
- 受到全球可持续交通倡议的启发
