{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5xzupa9djm4b","handle":"srinath-srinivasan-alltrails-mcp","url":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp","links":{"self":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp/record.json","html":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp","markdown":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp/record.md","api":"https://wellknown.network/api/v1/agents/srinath-srinivasan-alltrails-mcp","status":"https://wellknown.network/api/v1/agents/srinath-srinivasan-alltrails-mcp/status","claim":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp/claim.json","badge":"https://wellknown.network/agents/srinath-srinivasan-alltrails-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:srinath-srinivasan-alltrails-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"alltrails-mcp","summary":"A Model Context Protocol (MCP) server for accessing AllTrails hiking trail data","description":"# AllTrails MCP Client\n\nA Model Context Protocol (MCP) server and Python package for searching hiking trails from AllTrails.com. Includes smart caching to avoid rate limiting.\n\n## ⚠️ Important: Rate Limiting\n\n**AllTrails.com implements CAPTCHA and rate limiting.** This package includes a caching system to minimize requests:\n\n- ✅ **Cache-first**: Stores up to 15 trails per park for 7 days\n- 🔄 **Automatic refresh**: Updates cache after expiration\n- 💾 **SQLite storage**: Local database (`trails_cache.db`)\n- 🚫 **Use sparingly**: Best for personal, low-volume usage\n\n## Features\n\n- 🥾 Search trails by US National Park (all 63 parks supported)\n- 📍 Get detailed trail information\n- 💾 Smart caching system (7-day cache)\n- 🤖 MCP server for Claude Desktop integration\n- 🛠️ CLI tools for quick searches\n- 🐍 Python API for programmatic access\n\n## Installation\n\n### From PyPI (when published)\n```bash\npip install alltrails-mcp\n```\n\n### Development Install\n```bash\ngit clone https://github.com/dbrown540/alltrails-mcp-client.git\ncd alltrails-mcp-client\npip install -e .\n```\n\n## Quick Start\n\n### Python API\n```python\nfrom alltrails_mcp import NationalPark, search_trails_with_cache\n\n# Search with automatic caching\ntrails = search_trails_with_cache(NationalPark.YOSEMITE.value)\n\nfor trail in trails[:5]:\n    print(f\"{trail['name']} - {trail['difficulty']} - {trail['length']}\")\n```\n\n### CLI\n```bash\n# Search trails\nalltrails-search search us/california/yosemite-national-park --limit 5\n\n# Get trail details\nalltrails-search details us/california/half-dome-trail\n\n# Show cache info and location\nalltrails-search cache\n\n# Clear the cache\nalltrails-search cache --clear\n\n# View current configuration\nalltrails-search config\n\n# Set cache expiration to 14 days\nalltrails-search config --set-cache-days 14\n```\n\n### MCP Server (Claude Desktop)\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"alltrails\": {\n      \"command\": \"/path/to/.venv/bin/py…","publisher":{"name":"Srinath Srinivasan","url":null},"homepage":"https://github.com/dbrown540/alltrails-mcp-client","repository":"https://github.com/dbrown540/alltrails-mcp-client","version":"0.1.6","license":null,"protocols":["mcp"],"tags":["alltrails","hiking","trails","mcp","model-context-protocol","scraper"],"pricing":null,"endpoints":[{"url":"pypi:alltrails-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.web-scraping","name":"Web Scraping","confidence":1,"provenance":"declared"},{"slug":"data.database","name":"Databases","confidence":0.802,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["data","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"alltrails-mcp","registry":"pypi","observedAt":"2026-09-09T09:24:44.282Z","publishedAt":"2025-12-03T03:38:55.864978Z","latestVersion":"0.1.6"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"alltrails-mcp","url":"https://pypi.org/project/alltrails-mcp/","firstSeenAt":"2026-09-09T09:22:31.131Z","fetchedAt":"2026-09-09T09:22:31.131Z","normalizedAt":"2026-09-09T09:22:31.131Z"}]},"firstSeenAt":"2026-09-09T09:22:31.131Z","updatedAt":"2026-09-09T09:24:44.282Z"}