Open API · MCP server

Use your AI assistant

Red Rock Beta has an open API and an MCP server. Connect it to Claude, ChatGPT or another assistant, hand it your notes, and it can help you add routes and areas, pitch by pitch, or send us corrections and feedback. You check everything before it's sent, and a person reviews it before it goes live.

1. Connect it

Add Red Rock Beta to your assistant as a custom connector (also called an MCP server) with this address. No account or sign-in needed.

https://redrockbeta.com/mcp
Claude (web, desktop and phone)

Settings → Connectors → Add custom connector. Name it Red Rock Beta, paste the address above and leave the advanced settings empty. In a chat, make sure it's switched on in the tools menu.

ChatGPT

Custom connectors need developer mode: Settings → Apps & Connectors → Advanced settings. Then create a connector with the address above and no authentication, and pick it in the chat's tools menu. (The menus move around; look for "connectors" or "MCP".)

Claude Code
claude mcp add --transport http red-rock-beta https://redrockbeta.com/mcp
Cursor, VS Code and other MCP apps

Any app that supports remote MCP servers over HTTP. Most take a config like this:

{
  "mcpServers": {
    "red-rock-beta": { "url": "https://redrockbeta.com/mcp" }
  }
}

2. Just ask

  • "Here are my notes from putting up a new three-pitch line in Stick Gully. Help me add it to Red Rock Beta."
  • "Add these five boulder problems from my spreadsheet to Red Rock Beta, left to right."
  • "I climbed Stickler yesterday. The rap anchors on pitch 3 are new. Send Red Rock Beta a correction."
  • "Tell Red Rock Beta the approach to Stickler Tower is washed out below the gully."

For new routes, your assistant makes a draft link. Open it and the draft appears in the Add a route or area form. Read it through, fix anything, add photos, confirm the words are yours, preview it, and send it. Feedback is sent once you've told your assistant it's right.

What your assistant can and can't do

Can: look up areas and routes (names, grades, where they sit on the wall), check a draft against what's already here, make a draft link for you, and send feedback.

Can't: publish anything, upload photos, or promise on your behalf that the words are yours. You do those in the form. Everything is reviewed by a maintainer before it goes live, and credited to you.

The rules it follows

The server gives every assistant these rules. They matter because everything here is public domain:

  • Only use what the person tells you: their notes, their words, what they climbed or saw. Tidy and organize it, but keep it theirs.
  • Don't invent, guess or "fill in" grades, gear, pitch lengths, first ascents or descents. If they didn't say it, leave it out, or ask them.
  • Never copy, summarize or reword text from Mountain Project, guidebooks or other websites. Everything on Red Rock Beta is public domain (CC0), so only the person's own words can go in.
  • Don't send feedback or create drafts for anyone who hasn't asked you to. Show them what you'll send first.

No connector? Copy and paste

On the Add a route or area form, tap "Have notes already? Let an AI assistant fill this in". Copy the prompt into any assistant with your notes, and paste its reply back into the form.

For developers: the open API

Everything above works over plain HTTP too. No keys; please be gentle. The route facts are public domain (CC0), and you're welcome to build on them.

MCP server

POST https://redrockbeta.com/mcp (also /api/mcp): Streamable HTTP, stateless, JSON responses, no auth. Tools: search, get_area, submission_guide, check_draft, create_draft, send_feedback.

Drafts: new routes and areas

GET /api/drafts/schema
The JSON Schema of a draft: parentPath (an existing area), an optional newArea, routes (up to 30, left to right, each with pitches, descent, fa…) and credit. Lengths are in meters.
POST /api/drafts with {"draft": {…}, "dryRun": true}
Check a draft and save nothing. 400 with errors to fix, or 200; both can carry warnings (a route that may already be listed, for example).
POST /api/drafts with {"draft": {…}}
Save it: 201 {"id", "url", "expires", "warnings"}. Give the person the url (/contribute?draft=…); they finish and send it on the site. Drafts last 90 days.
GET /api/drafts/{id}
A saved draft.
curl -s https://redrockbeta.com/api/drafts \
  -H 'content-type: application/json' \
  -d '{"dryRun": true, "draft": {
        "parentPath": "red-rock/pine-creek-canyon/stick-gully",
        "newArea": {"name": "Example Tower", "areaType": "crag"},
        "routes": [{"name": "Example Route", "disciplines": ["trad"],
                    "grade": {"text": "5.10+"}, "pitchCount": 3}]
      }}'

Feedback

POST /api/contribute
A correction, closure or note, the same as "Suggest an edit" on the site. kind: correction | closure | note. targetPath is optional: a route's page path (/climbing/…) or an area's path (red-rock/…). The text goes in payload.text, up to 5,000 characters. Returns {"ok": true, "issue": n}.
curl -s https://redrockbeta.com/api/contribute \
  -H 'content-type: application/json' \
  -d '{"kind": "correction",
       "targetPath": "/climbing/red-rock/pine-creek-canyon/stick-gully/stickler-tower/stickler",
       "targetName": "Stickler",
       "contributor": "Your name",
       "payload": {"text": "The anchors on P3 were replaced in 2026."}}'

Data

GET /data/directory.json
Every area and route in brief: names, paths, grades, styles, pitch counts, order on the wall.
GET /data/bundle.json
The full public-domain dataset, rebuilt on every update.

Limits

Five drafts or feedback messages per minute per address, drafts up to 64 KB. Please don't send anything a person didn't ask for. Questions or ideas? Use the form on the About page.