griptonite-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GRIPTONITE_API_BASE | No | API base URL | https://api.griptonite.io |
| GRIPTONITE_CLIENT_ID | No | OAuth client id | (discovered) |
| GRIPTONITE_TOKEN_PATH | No | Token cache location | ~/.griptonite/token.json |
| GRIPTONITE_LOG_ENDPOINT | No | Climb-log write path | /routes/{route_id}/log |
| GRIPTONITE_REDIRECT_URI | No | OAuth redirect | https://www.griptonite.io/ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_statusA | Report whether a Griptonite token is cached and roughly when it expires. |
| get_login_urlA | Return a Griptonite OAuth login URL. Open it, sign in, then finish the
exchange with |
| list_venuesB | List climbing gyms/venues on Griptonite. Optional free-text |
| list_routesA | List routes/problems, optionally filtered by venue, grade, and limit. |
| get_routeA | Get full detail for a single route/problem by its id (e.g. from an NFC tag). |
| list_gradesA | List the grade systems/labels Griptonite knows about (V-scale, Font, etc.). |
| get_profileA | Get a climber profile. Defaults to the signed-in user ('me'). |
| get_feedA | Get the climbing activity feed (recent sends/logs from you and your crew). |
| get_notificationsB | Get the signed-in climber's notifications. |
| list_workoutsB | List Griptonite workouts available to the climber. |
| list_competitionsA | List competitions/events visible to the climber. |
| list_challengesA | List active challenges the climber can take part in. |
| log_climbA | Log a climb against a route. Args: route_id: The route/problem id (e.g. scanned from an NFC tag). result: 'send', 'flash', 'onsight', 'attempt', or 'project'. attempts: Number of attempts this session (>=1). grade: Optional personal grade opinion (e.g. 'V4', '6C+'). rating: Optional star rating 1-5. notes: Optional free-text notes / beta. logged_at: Optional ISO-8601 timestamp; defaults to server 'now'. NOTE: the exact write endpoint/payload is not yet confirmed (Griptonite has
no public API). If this returns a 404/400, capture one real "log" request
from the app and set GRIPTONITE_LOG_ENDPOINT / adjust the payload — see the
README. Use |
| log_attemptA | Convenience wrapper: log an unsuccessful attempt / project try on a route. |
| get_gym_rankingsA | See the leaderboard/ranking for the gyms you've joined. Optionally pass a venue_id to focus one gym; omit it to see all your gyms. |
| get_world_rankingsA | See the global (world) ranking across all Griptonite climbers. |
| get_competition_rankingsB | See rankings/standings for a competition (or all visible competitions). |
| get_completed_climbsB | List every climb you've completed/sent, each with its number of tries. Returns a compact summary (route, grade, tries, result, date) plus the full raw payload. If the 'tries' field comes back null, the API used a field name not yet mapped — inspect 'raw' and extend _summarize_climbs in server.py. |
| get_projectsA | List the climbs you're currently projecting, each with tries so far. A 'project' is a hard climb you're working but haven't sent yet. Returns the same compact-plus-raw shape as get_completed_climbs. |
| get_all_logsA | List all logged entries (sends and attempts together), with try counts. |
| raw_requestA | Call any Griptonite API path with the signed-in token. Handy for discovering or wiring endpoints that aren't wrapped yet. |
| list_known_endpointsA | List the API endpoints confirmed to exist during reverse-engineering. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/mcarch-drdoof/griptonite_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server