AllTrails MCP服务器

⚠️ 已弃用-项目已存档
此项目已被弃用,不再可用。
日期: 2026年1月25日\ 原因: 该项目违反了AllTrails的服务条款,未经授权抓取了他们的网站。
应AllTrails首席技术官的要求,所有抓取功能均已禁用。此存储库仅出于历史目的而维护,并保留GitHub星号,但 代码不再有效,不应使用.
发生了什么事?
AllTrails就这个存储库联系了我,并引用了以下内容:
- 违反服务条款的未经授权的抓取/数据提取
- 潜在的知识产权侵犯
- 未经许可重新分发受版权保护的内容
替代方案
如果您需要追踪数据,请:
- 使用 AllTrails官方网站
- 关于API访问,请直接联系AllTrails
- 尊重网站服务条款和版权
______________________________________________________________________
原始描述(供历史参考)
一个模型上下文协议(MCP)服务器,~~提供对AllTrails数据的访问~~ \[已弃用-不再可用\].
特性
- 🥾 搜索路径 国家公园
- 📍 获取详细的轨迹信息 包括难度、长度、仰角增益和描述
- 🏔️ 全面的追踪数据 来自AllTrails,包括评级、路线类型和摘要
- 🤖 无缝客户端集成 通过MCP协议
技术规格
协议支持
- 协议版本:MCP 1.9.4
- 沟通:标准输入/输出(stdio)
- 能力:工具
- 服务器名称:alltrails mcp
- 服务器版本: 0.1.0
可用工具
search_trails
使用AllTrails数据搜索特定国家公园的步道。
参数:
park(必填):公园蛞蝓格式us/state/park-name(例如。,us/tennessee/great-smoky-mountains-national-park)
get_trail_details
通过AllTrails slug获取特定轨迹的详细信息。
参数:
slug(必填):来自AllTrails URL的Trail slug(后面的部分/trail/)
安装选项
选项1:使用虚拟环境(推荐)
这种方法隔离了依赖关系,并防止了与其他Python项目的冲突。
1.克隆存储库
git clone
cd alltrails_mcp2.创建虚拟环境
python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate # On Windows: alltrails_mcp_venv\Scripts\activate3.安装依赖项
pip install -r requirements.txt4.验证安装
测试服务器是否正常启动:
python3 server.py您应该看到服务器启动时没有崩溃。按Ctrl+C停止。
先决条件
- Python 3.8或更高版本
- 此服务器可以与任何兼容MCP的客户端一起使用。我使用带有专业版订阅的Claude Desktop。
- macOS(测试版)或其他类Unix系统
______________________________________________________________________
选项2:使用Python系统
如果您不想使用虚拟环境,可以全局安装依赖项。
1.克隆存储库
git clone
cd alltrails_mcp2.全局安装依赖项
pip install -r requirements.txt3.验证安装
测试服务器是否正常启动:
python3 server.py您应该看到服务器启动时没有崩溃。按Ctrl+C停止。
______________________________________________________________________
选项3:使用Docker
这种方法在隔离的容器中运行服务器。
1.塑造形象
docker build -t alltrails-mcp .2.运行容器
docker run -i --rm alltrails-mcp3.与克劳德桌面一起使用
对于基于Docker的部署,您可以配置Claude Desktop使用容器化服务器:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "docker",
"args": ["run", "-i", "--rm", "alltrails-mcp"]
}
}
}Claude桌面配置
1.找到Claude桌面配置
查找您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
如果它不存在,请在上述目录中创建一个名为claude_desktop_config.json的json文件。
2.添加MCP服务器配置
将以下内容添加到您的 claude_desktop_config.json 文件:
选项A:使用虚拟环境(推荐)
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/path/to/your/alltrails_mcp/alltrails_mcp_venv/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}选项B:使用Python系统
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}或者使用绝对Python路径:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/usr/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}重要提示: 替换 /path/to/your/alltrails_mcp 使用项目目录的实际绝对路径。
其他MCP客户端
对于其他兼容MCP的客户端,请参阅其服务器配置文档。服务器实现了标准的MCP协议,并且应该与任何兼容的客户端一起工作。
服务器命令: python3 server.py\ 沟通: 标准输入/输出(stdio)\ 协议版本: MCP 1.9.4
3.找到你的Python路径
对于虚拟环境用户:
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3对于Python系统用户:
which python3在配置中使用输出路径。
4.安装依赖项
如果使用虚拟环境:
从步骤3开始,依赖项已安装在您的虚拟环境中。
如果使用Python系统:
全局安装依赖项:
pip install -r requirements.txt5.重新启动克劳德桌面
完全退出并重新启动Claude Desktop以使更改生效。
用法示例
配置后,您可以在Claude Desktop中使用这些命令:
搜索踪迹
按公园名称:
Find trails in Great Smoky Mountains National Park按地点:
What are the best hiking trails in Yosemite?根据具体标准:
Show me moderate difficulty trails in Yellowstone直接使用公园蛞蝓:
Search for trails in us/california/yosemite-national-park具体活动:
Find family-friendly trails in Zion National Park获取路线详细信息
按路径名称:
Get details for Alum Cave Trail to Mount LeConte使用轨迹蛞蝓:
Get details for trail us/tennessee/alum-cave-trail-to-mount-leconte出于规划目的:
I need detailed information about Rainbow Falls Trail including difficulty and elevation组合查询
搜索并获取详细信息:
Find the most popular trails in Grand Canyon National Park and give me details about the top rated one比较轨迹:
Search for trails in Great Smoky Mountains and tell me which ones are best for beginners旅行计划:
I'm visiting Yellowstone for 3 days. Find me a mix of easy and moderate trails with good views自然语言示例
MCP服务器使用自然语言,因此您可以提出以下问题:
- “大雾山有哪些不错的徒步旅行?”
- “在田纳西州给我找一条有瀑布的挑战性小径”
- “我想徒步登上360度全景的山顶”
- “给我看看适合摄影的小径”
- “在国家公园寻找适合狗的小径”
- “Charlies Bunion步道的难度是多少?”
普通公园蛞蝓
- 大烟山:
us/tennessee/great-smoky-mountains-national-park - 约塞米蒂:
us/california/yosemite-national-park - 黄石公园:
us/wyoming/yellowstone-national-park - 大峡谷:
us/arizona/grand-canyon-national-park - 锡安:
us/utah/zion-national-park
故障排除
服务器未连接
- 检查日志:
tail -f ~/Library/Logs/Claude/mcp.log- 验证您的配置文件:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json- 手动测试服务器:
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
python3 server.py常见问题
- “连接已关闭”错误:通常表示Python路径或虚拟环境问题
路径配置问题:检查配置中的所有路径是否绝对正确
- 导入错误:确保所有依赖项都安装在正确的Python环境中(虚拟环境vs系统Python)
- Python路径错误:使用
which python3或which python验证正确的Python可执行路径
调试模式
有关详细的调试,请检查MCP日志:
# macOS
tail -f ~/Library/Logs/Claude/mcp.log
# The server also outputs debug information to stderr发展
运行测试
使用pytest运行测试套件:
pytest代码检查
使用ruff格式化和检查代码:
ruff check .
ruff format .项目结构
alltrails_mcp/
├── app/
│ └── alltrails_scraper.py # AllTrails scraping logic
├── examples/
│ └── claude_desktop_config.json # Example configuration file for Claude Desktop
├── tests/ # Test suite
│ ├── conftest.py # Test fixtures
│ └── test_scraper.py # Scraper tests
├── server.py # MCP server implementation
├── requirements.txt # Python dependencies
├── pyproject.toml # Project configuration (Ruff, Pytest)
├── alltrails_mcp_venv/ # Virtual environment
├── README.md # This file
└── .gitignore # Git ignore file运作原理
- MCP协议:使用模型上下文协议与Claude Desktop通信
- 网络爬取:使用BeautifulSoup抓取AllTrails网站的足迹数据
- 数据处理:以结构化格式格式化和返回追踪信息
- 工具集成:公开克劳德可以调用的工具来搜索和检索踪迹数据
许可证
MIT许可证
版权所有(c)2025斯里纳特·斯里尼瓦桑
致谢
______________________________________________________________________
⚠️ 重要通知
截至2026年1月25日,该项目已停用且无法运行。
抓取功能违反了AllTrails的服务条款,并应其要求被完全禁用。此存储库仅用于历史/教育目的。
未经网站所有者明确书面许可,请勿尝试使用、分叉或复制此代码来抓取AllTrails或任何其他网站。
遵守服务条款。尊重版权。在可用的情况下使用官方API。
