返回市场
全迹-MCP服务器

全迹-MCP服务器

作者:srinath15106 星标更新:2025-06-20

项目介绍

AllTrails MCP Server

这是一个提供访问AllTrails数据的模型上下文协议(MCP)服务器,允许您通过Claude Desktop搜索徒步路线并获取详细的路线信息。

特性

  • 🥾 按国家公园搜索路线
  • 📍 获取详细的路线信息,包括难度、长度、海拔增益和描述
  • 🏔️ 全面的路线数据,来自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(必需):从AllTrails URL中的部分(/trail/之后的部分)

安装选项

选项1:使用虚拟环境(推荐)

这种方法可以隔离依赖项,防止与其他Python项目冲突。

1. 克隆仓库

git clone <your-repo-url>
cd alltrails_mcp

2. 创建虚拟环境

python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate  # 在Windows上:alltrails_m_venv\Scripts\activate

3. 安装依赖项

pip install -r requirements.txt

4. 验证安装

测试服务器是否无错误启动:

python3 server.py

你应该看到服务器正常启动而不会崩溃。按Ctrl+C停止。

前提条件

  • Python 3.8或更高版本
  • 此服务器可与任何兼容MCP的客户端一起使用。我使用的是带有Pro订阅的Claude Desktop。
  • macOS(已测试)或其他类Unix系统

选项2:使用系统Python

如果你不想使用虚拟环境,你可以全局安装依赖项。

1. 克隆仓库

git clone <your-repo-url>
cd alltrails_mcp

2. 全局安装依赖项

pip install -r requirements.txt

3. 验证安装

测试服务器是否无错误启动:

python3 server.py

你应该看到服务器正常启动而不会崩溃。按Ctrl+C停止。

Claude Desktop配置

1. 查找Claude Desktop配置

找到你的Claude Desktop配置文件:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%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.txt

5. 重启Claude Desktop

完全退出并重新启动Claude Desktop以使更改生效。

使用示例

一旦配置完成,你可以在Claude Desktop中使用这些命令:

搜索路线

按公园名称:

查找大雾山国家公园的路线

按位置:

优胜美地最好的徒步路线是什么?

具有特定标准:

给我展示黄石公园中难度适中的路线

直接使用公园别名:

在us/california/yosemite-national-park搜索路线

针对特定活动:

查找锡安国家公园的家庭友好型路线

获取路线详情

按路线名称:

获取Alum Cave Trail to Mount LeConte的详情

使用路线别名:

获取us/tennessee/alum-cave-trail-to-mount-leconte的详情

用于规划目的:

我需要关于Rainbow Falls Trail的详细信息,包括难度和海拔

组合查询

搜索并获取详情:

查找大峡谷国家公园中最受欢迎的路线,并给我最热门的一条的详情

比较路线:

搜索大雾山脉的路线,并告诉我哪些最适合初学者

旅行规划:

我将在黄石公园待三天。找一些混合的简单和中等难度且有好风景的路线

自然语言示例

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

故障排除

服务器无法连接

  1. 检查日志:

    tail -f ~/Library/Logs/Claude/mcp.log
    
  2. 验证配置文件:

    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
  3. 手动测试服务器:

    cd /path/to/your/alltrails_mcp
    source alltrails_mcp_venv/bin/activate
    python3 server.py
    

常见问题

  • “连接关闭”错误:通常表示Python路径或虚拟环境问题
  • 路径配置问题:确保配置中的所有路径都是绝对且正确的
  • 导入错误:确保所有依赖项都安装在正确的Python环境中(虚拟环境 vs 系统Python)
  • Python路径错误:使用which python3which python来验证正确的Python可执行路径

调试模式

为了详细调试,请查看MCP日志:

# macOS
tail -f ~/Library/Logs/Claude/mcp.log

# 服务器还会将调试信息输出到stderr

项目结构

alltrails_mcp/
├── app/
│   └── alltrails_scraper.py    # AllTrails抓取逻辑
├── examples/
│   └── claude_desktop_config.json  # Claude Desktop示例配置文件
├── server.py                   # MCP服务器实现
├── requirements.txt            # Python依赖项
├── alltrails_mcp_venv/         # 虚拟环境
└── README.md                   # 本文件
└── .gitignore                  # Git忽略文件

工作原理

  1. MCP协议:使用模型上下文协议与Claude Desktop通信
  2. 网络抓取:使用BeautifulSoup抓取AllTrails网站上的路线数据
  3. 数据处理:格式化并返回结构化的路线信息
  4. 工具集成:暴露工具供Claude调用来搜索和检索路线数据

许可证

MIT许可证

版权所有 (c) 2025 Srinath Srinivasan

致谢


注意:此工具抓取AllTrails公开的数据。请负责任地使用,并遵守AllTrails的服务条款。