mountainproject
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mountainprojectSearch for 5.10 trad routes in Yosemite Valley"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mp-mcp
MCP server for Mountain Project — search routes and areas, run route-finder filters, and query your personal tick list live from MP.
Built for Cursor and any MCP-compatible agent.
Disclaimer
This project is not affiliated with, endorsed by, or connected to Mountain Project or onX Maps, Inc. Mountain Project is a trademark of onX Maps, Inc.
Personal use only. This tool is intended for individual climbers to access their own tick data and browse public route information — not for bulk scraping, republishing MP content, or building a competing database.
Terms of service. Users are responsible for complying with Mountain Project's terms of service. Automated access may be restricted or blocked by MP at any time.
Session security. Your
ap_sessioncookie is a login credential. Do not commit~/.mp-mcp/session.json, paste cookies into public chats, or store cookies in shared config files. The session file is written with restrictive permissions (0600), but treat it like a password.No warranty. This software is provided as-is under the MIT license. Route data accuracy remains the responsibility of Mountain Project and its community contributors.
Related MCP server: Mountaineers MCP Server
Features
Public route discovery — search, route/area details, route-finder filters (no auth)
Personal logbook — list, filter, and aggregate your ticks pulled live from MP
Browser login — one-time
npm run logincaptures your session automatically (no CSV export, no DevTools)Polite by default — rate limiting between requests
Quick start (humans)
1. Install
git clone https://github.com/defevan/mp-mcp.git
cd mp-mcp
npm install
npm run build
npx playwright install chromium # first time only, for login2. Log in to Mountain Project
npm run loginA browser opens to Mountain Project. Sign in normally — the script detects when you're logged in and saves ~/.mp-mcp/session.json. The login tab will not reload while you sign in.
Re-run when the session expires (~30 days).
3. Add to Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"mountainproject": {
"command": "node",
"args": ["/absolute/path/to/mp-mcp/dist/server.js"]
}
}
}Restart Cursor or reload MCP servers.
4. Try it
Ask in chat:
"Search trad 5.10 routes in Yosemite Valley"
"Get beta on The Nose"
"List my ticks from 2024"
"How many days out did I have this summer?"
For agents
This section is for LLM agents using the MCP tools directly.
Server
Name:
mountainprojectTransport: stdio
Entry:
node dist/server.js(runnpm run buildfirst)
Auth model
Priority | Source | Notes |
1 | In-memory session | Set via |
2 |
| Written by |
3 | Env vars |
|
Tick tools call GET /user/{id}/{username}/tick-export with the session cookie. Ticks are parsed in memory and cached (default 15 min). Never ask the user to export a CSV manually.
If auth fails, tell the user to run npm run login in the project directory or use mp_set_session.
Tool reference
Public (no auth)
Tool | Args | Returns |
|
| Matching routes/areas with id, grade, stars, url, lat/lng |
|
| Full route detail: beta, protection, FA, parent area |
|
| Area description, access notes, route counts |
|
| Filtered routes from route-finder (CSV export, max 1000) |
|
| Parse numeric ID from MP URL or |
Authenticated
Tool | Args | Returns |
| — |
|
|
| Update session at runtime |
| — | Force-refresh tick list from MP |
|
| Filtered ticks (auto-fetches if cache stale) |
|
| Aggregated counts |
Agent workflow examples
Trip planning (no auth):
mp_search → mp_resolve_id → mp_find_routes / mp_get_routeLogbook analysis (auth required):
mp_auth_status → mp_list_ticks / mp_tick_statsArea deep-dive:
mp_search(query, types=["areas"]) → mp_get_area → mp_find_routes(areaId, gradeMin, gradeMax)Grade filters for mp_find_routes
Use YDS strings: 5.8, 5.10a, 5.11d, etc. The server maps these to MP's internal route-finder rank codes.
Rate limiting
Default 500 ms between MP requests (MP_RATE_LIMIT_MS). Prefer fewer, broader tool calls over many narrow ones.
Data source notes
Public data: MP
/api/v2/*and/route-finder-exportTicks: authenticated
/user/{id}/{username}/tick-exportMP's official Data API is deprecated; this server uses the same endpoints the website uses
Respect MP's terms of service; this tool is for personal use
Environment variables
Variable | Default | Description |
|
| Session storage path |
|
| Tick cache TTL (15 min) |
|
| Delay between MP requests |
|
| HTTP User-Agent |
| — | Fallback session cookie |
| — | Fallback user ID |
| — | Optional CSRF cookie |
| — | Optional username slug |
Development
npm run build # compile TypeScript → dist/
npm run dev # run server via tsx (stdio)
npm run login # browser auth flowSmoke test:
node -e "import('./dist/mp-client.js').then(m => m.getRoute(105924807).then(console.log))"Session refresh
When tools return auth errors:
npm run loginOr call mp_set_session with a fresh ap_session cookie value.
License
MIT — Copyright (c) 2026 Evan Jones. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceAllows you to search for hiking routes on Wikiloc using geographic and textual queries.14
- AlicenseAqualityAmaintenanceEnables AI assistants to search and browse mountaineers.org for activities, courses, trip reports, and routes, and optionally access authenticated user data such as upcoming activities, badges, and member profiles.28901MIT
- FlicenseNot gradedqualityBmaintenanceEnables querying and retrieving materials data from the Materials Project via MCP tools, supporting search, lookup, comparison, and export.1
- AlicenseAqualityCmaintenanceEnables users to interact with the Griptonite indoor climbing app, allowing them to log climbs, browse routes and grades, and retrieve activity feeds and rankings.22MIT
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Search Stack Exchange questions, fetch Q&A threads as markdown, look up tag FAQs and user profiles.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/defevan/mp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server