Nolio MCP Server
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., "@Nolio MCP Servershow my planned workouts for this week"
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.
Nolio MCP Server
An MCP server that gives Claude read-only access to your Nolio training data — planned workouts, completed sessions, metrics, records, and notes.
Prerequisites
Python 3.11+
uv (recommended) or pip
A Nolio API application (client ID + secret) — register at https://www.nolio.io/api/register/
Related MCP server: Intervals.icu MCP Server
Quick Start
1. Clone and install
git clone <repo-url> nolio-mcp
cd nolio-mcp
uv sync2. Configure client credentials
Create a .env file with your Nolio client credentials:
cp .env.example .env
# Edit .env and fill in NOLIO_CLIENT_ID and NOLIO_CLIENT_SECRET3. Authenticate with Nolio
Run the built-in OAuth helper to obtain your access and refresh tokens:
uv run nolio-authThis opens your browser, you log into Nolio, and all credentials (client ID, client secret, access token, refresh token) are saved to ~/nolio-credentials.json.
Important: In your Nolio app settings, set the redirect URI to
http://localhost:9876/callback.
4. Add to Claude Code
Since credentials are stored in ~/nolio-credentials.json, you don't need to pass environment variables:
claude mcp add nolio -- uv run --directory /path/to/nolio-mcp mcp run src/nolio_mcp/server.pyYou can also re-authenticate at any time from within Claude Code by running /mcp and selecting the authenticate command on the nolio server, or directly via /mcp__nolio__authenticate.
4b. Or add to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nolio": {
"command": "uv",
"args": ["run", "--directory", "/path/to/nolio-mcp", "mcp", "run", "src/nolio_mcp/server.py"]
}
}
}No env block needed — the server reads credentials from ~/nolio-credentials.json.
Available Tools
Tool | Description |
| Get your Nolio user profile (id, name) |
| Retrieve planned workouts from your coach's program |
| Retrieve completed/logged workouts |
| Get time-series data for a workout (HR, pace, power, etc.) |
| Retrieve notes (injury, availability, illness, rest, goals) |
| Get a specific metric (sleep, weight, VO2max, HR, etc.) |
| Get user metadata (goals, weight history, HR, FTP) |
| Get personal records (power, HR, pace, cadence) |
Most tools support optional from_date, to_date (YYYY-MM-DD), and limit parameters.
Available Prompts (Commands)
Prompt | Description |
| Guides you through the OAuth setup to obtain/refresh Nolio API tokens |
In Claude Code, run /mcp → select nolio → authenticate, or use /mcp__nolio__authenticate directly.
Development
Testing with the MCP Inspector
uv run mcp dev src/nolio_mcp/server.pyRunning unit tests
uv run pytest tests/test_client.pyRunning integration tests
Integration tests hit the real Nolio API. Set up credentials first:
cp .test-env.example .test-env
# Fill in .test-env with your Nolio dev credentials
uv run pytest tests/test_integration.py -m integrationAPI Reference
Full Nolio API documentation: https://github.com/NolioApp/NolioAPI-Documentation/wiki
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/nico-b/nolio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server