Skip to main content
Glama
SekusRevo

Chinese Tourism Spots MCP Server

by SekusRevo

旅游智能助手 MCP 项目

项目概述

这是一个基于 MCP(Model Context Protocol)协议的旅游智能助手系统。它集成了多个功能模块,旨在帮助用户高效地完成旅游规划、景点查询、路线规划、天气查询、图片生成以及小红书内容发布等一系列操作。

功能模块

本项目包含以下五个核心 MCP 服务器模块,每个模块都提供了一组特定的工具(Tool)供调用。

1. 🏛️ 景点数据读取服务器 (crawler/places_read_mcp.py)

功能: 负责读取和管理本地存储的景点数据,支持按省份、城市、关键词等多种条件进行查询。

可用工具

描述

get_spots_by_province

获取指定省份的所有景点信息。

get_spots_by_city

获取指定城市的所有景点信息。

get_all_provinces

获取所有有数据的省份列表。

get_cities_in_province

获取指定省份下的所有城市列表。

search_spots_by_keyword

根据关键词搜索景点。

数据存储: 景点数据以 JSON 格式存储,文件结构遵循 省份/城市/景点.json 的组织方式。

2. 🎨 图片生成服务器 (middleware/generate_mcp.py)

功能: 调用 Nano Banana API 生成旅游攻略长图(竖版海报),特别支持四行格式的详细图片描述,适用于小红书等平台。

可用工具

描述

travel_image_prompt_guide

生成旅游攻略长图的提示词框架。

generate_image_nano_banana

调用 API 生成图片。

特色:

  • 自动生成一日游攻略长图(竖版海报)。

  • 支持早、中、晚三个时段的景点展示。

  • 自动保存生成的图片到本地。

3. 📱 小红书发布服务器 (publisher/publish_mcp.py)

功能: 自动化发布旅游内容到小红书平台,支持图文笔记和视频笔记的发布。

可用工具

描述

publish_xiaohongshu_video

发布视频笔记到小红书。

publish_xiaohongshu_images

发布图文笔记到小红书。

generate_xiaohongshu_content

根据景点信息生成小红书笔记内容(标题、正文、话题)。

batch_publish_xiaohongshu

批量发布小红书笔记。

依赖: 需要已登录的浏览器会话(如通过 Selenium 维护)。

4. 🗺️ 路径规划服务器 (middleware/route_planning_mcp.py)

功能: 基于高德地图 API 实现路径规划功能,支持多种出行方式,并支持多点路径规划。

可用工具

描述

route_planning

路径规划(支持驾车、步行、骑行、电动车、公交)。

search_places

搜索地点。

multi_point_route

多点路径规划。

支持出行方式: 驾车 (driving)、步行 (walking)、骑行 (bicycling)、电动车 (electrobike)、公交 (transit)。

5. 🌤️ 天气查询服务器 (crawler/weather_mcp.py)

功能: 基于高德地图 API 查询指定地点的实时天气和天气预报信息。

可用工具

描述

get_current_weather

查询实时天气。

get_weather_forecast

查询天气预报。

get_complete_weather

查询完整天气信息(实时+预报)。

search_city_weather

搜索城市并查询天气。

快速开始

环境要求

  • Python 3.8+

  • 高德地图 API Key(用于路径规划和天气查询)

  • Nano Banana API Key(用于图片生成)

安装依赖

使用 pip 安装所需的 Python 库:

pip install mcp fastmcp httpx pydantic selenium

配置步骤

1. 获取 API Key

  • 高德地图 API Key: 访问 高德开放平台 注册并获取。

  • Nano Banana API Key: 访问 acedata.cloud 注册并获取(需在 middleware/generate_mcp.py 中修改 token 变量)。

2. 配置 Cline MCP 设置

将以下 JSON 配置内容保存为 cline_mcp_settings.json 文件,并放置在 Cline 的配置目录中。

注意: 请根据您的系统环境修改 commandargscwd 中的路径,以及 env 中的 API Key。

{ "mcpServers": { "amap-route-planning": { "autoApprove": ["multi_point_route", "route_planning", "search_places"], "disabled": false, "timeout": 600, "type": "stdio", "command": "你的Python解释器路径", "args": ["你的项目路径\\middleware\\route_planning_mcp.py"], "cwd": "你的项目路径", "env": { "AMAP_API_KEY": "你的高德地图API_Key" } }, "amap-weather": { "autoApprove": ["get_current_weather", "get_weather_forecast", "get_complete_weather", "search_city_weather"], "disabled": false, "timeout": 300, "type": "stdio", "command": "你的Python解释器路径", "args": ["你的项目路径\\crawler\\weather_mcp.py"], "cwd": "你的项目路径", "env": { "AMAP_API_KEY": "你的高德地图API_Key" } }, "places_read": { "autoApprove": ["get_spots_by_province", "get_spots_by_city", "get_all_provinces", "get_cities_in_province", "search_spots_by_keyword"], "disabled": false, "timeout": 300, "type": "stdio", "command": "你的Python解释器路径", "args": ["你的项目路径\\crawler\\places_read_mcp.py"], "cwd": "你的项目路径" }, "image-generator": { "autoApprove": ["generate_image_nano_banana"], "disabled": false, "timeout": 300, "type": "stdio", "command": "你的Python解释器路径", "args": ["你的项目路径\\middleware\\generate_mcp.py"], "cwd": "你的项目路径" }, "xiaohongshu-publisher": { "autoApprove": ["publish_xiaohongshu_video", "publish_xiaohongshu_images", "generate_xiaohongshu_content", "batch_publish_xiaohongshu"], "disabled": false, "timeout": 300, "type": "stdio", "command": "你的Python解释器路径", "args": ["你的项目路径\\publisher\\publish_mcp.py"], "cwd": "你的项目路径" } } }

路径修改说明:

路径类型

Windows 示例

macOS/Linux 示例

Python 解释器路径

E:\APP\Anaconda22\envs\mcp\python.exe

/path/to/your/python3

项目路径

E:\PostGraduate\courses\yingxiang\Finaltask\MCPProject

/path/to/your/MCPProject

3. 数据准备

创建景点数据目录结构 data/,并按照 省份/城市/景点.json 的结构组织数据。

data/ ├── 江苏省/ │ ├── 苏州市/ │ │ ├── 拙政园.json │ │ └── 虎丘.json │ └── 南京市/ │ └── 中山陵.json └── 浙江省/ └── 杭州市/ └── 西湖.json

景点数据格式示例(JSON):

{ "name": "西湖", "province": "浙江省", "city": "杭州市", "description": "杭州西湖风景名胜区,著名的淡水湖泊,中国十大风景名胜之一。", "rating": 4.8, "address": "杭州市西湖区", "tags": ["湖泊", "风景区", "文化遗产"], "recommended_hours": 3, "是否免费": true }

使用示例

以下是使用各个模块工具的 Python 示例代码:

1. 查询景点信息

# 查询苏州的景点 spots = get_spots_by_city("江苏省", "苏州市") print(f"找到 {spots['count']} 个景点")

2. 生成旅游攻略图片

# 生成苏州一日游攻略图片 prompt_guide = travel_image_prompt_guide("苏州", "晴天 20度") # 根据提示词生成图片 result = generate_image_nano_banana( prompt=prompt_guide, width=1024, height=2048 )

3. 路径规划

# 从拙政园到虎丘的驾车路线 route = route_planning( origin="拙政园", destination="虎丘", route_type="driving", city="苏州市" )

4. 天气查询

# 查询苏州实时天气 weather = get_current_weather("苏州市")

5. 发布到小红书

# 1. 生成小红书内容 content = generate_xiaohongshu_content( province="江苏省", city="苏州市", style="旅游攻略" ) # 2. 发布图文笔记 publish_xiaohongshu_images( file_path="generated_images/苏州旅游攻略.png", title=content["title"], content=content["content"], topics=content["topics"] )

配置说明

Cline 配置文件位置

cline_mcp_settings.json 文件应放置在以下目录(以 VS Code 为例):

操作系统

路径

Windows

%APPDATA%\Code\User\globalStorage\codeium.codeium\config\cline_mcp_settings.json

macOS

~/Library/Application Support/Code/User/globalStorage/codeium.codeium/config/cline_mcp_settings.json

Linux

~/.config/Code/User/globalStorage/codeium.codeium/config/cline_mcp_settings.json

环境变量配置

在运行 MCP 服务器之前,建议设置以下环境变量:

# 设置高德地图 API Key export AMAP_API_KEY="你的高德地图API_Key" # 设置 Python 路径(如果需要) export PYTHONPATH="你的项目路径:$PYTHONPATH"

注意事项

  • API 限制: 高德地图 API 和 Nano Banana API 都有每日调用次数或使用限制,请注意遵守服务商的使用条款。

  • 小红书发布:

    • 需要已登录的浏览器会话。

    • 需要安装 Chrome 浏览器和对应版本的 ChromeDriver。

    • 首次使用需要手动登录小红书账号。

  • 数据安全:

    • API Key 等敏感信息切勿提交到版本控制系统(如 Git)。

    • 建议使用环境变量或配置文件来管理敏感信息。

  • 路径问题:

    • Windows 系统路径使用反斜杠 \ 或双反斜杠 \\

    • macOS/Linux 系统路径使用正斜杠 /

故障排除

  1. MCP 服务器无法启动:

    • 检查 cline_mcp_settings.json 中配置的 Python 解释器路径是否正确。

    • 确保已通过 pip install 安装了所有依赖包。

    • 检查配置文件中的项目路径 (cwdargs) 是否存在。

  2. API 调用失败:

    • 检查 API Key 是否有效,并确保已正确配置在环境变量或配置文件中。

    • 检查网络连接是否正常。

    • 查看 API 服务商的状态页面,确认服务是否可用。

  3. 小红书发布失败:

    • 检查是否已成功登录小红书账号。

    • 检查 ChromeDriver 版本是否与您安装的 Chrome 浏览器版本匹配。

    • 检查待发布的文件路径是否正确。

项目结构

MCPProject/ ├── data/ # 景点数据目录 ├── generated_images/ # 生成的图片 ├── cline_mcp_settings.json # Cline 配置文件 ├── publisher/ # 发布相关 MCP │ └── publish_mcp.py # 小红书发布服务器 ├── crawler/ # 读取/抓取类 MCP(本项目:读取本地数据/天气) │ ├── places_read_mcp.py # 景点读取服务器 │ └── weather_mcp.py # 天气查询服务器 ├── middleware/ # 通用中间层/工具代码 │ ├── upload_utils.py # 小红书上传/发布相关工具 │ └── web_utils.py # Selenium/浏览器工具 │ ├── generate_mcp.py # 图片生成服务器 │ └── route_planning_mcp.py # 路径规划服务器 └── README.md # 项目说明文档

许可证

本项目仅供学习和研究使用,请遵守相关 API 服务商的使用条款。

贡献

欢迎通过提交 Issue 和 Pull Request 来改进和完善本项目。

支持

如果您在使用过程中遇到问题,请:

  1. 仔细查阅本 README 文档。

  2. 检查配置文件中的路径和 API Key 是否正确。

  3. 查看各个 MCP 服务器的日志输出以获取详细错误信息。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SekusRevo/MCPProject'

If you have feedback or need assistance with the MCP directory API, please join our Discord server