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/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- 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/mcarch-drdoof/griptonite_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server