The Oura v2 API as an MCP server. Paginates, fixes the date range, warns when data is missing.
Connect Runs on your machine
claude mcp add oura-mcp -e OURA_SANDBOX=<OURA_SANDBOX> -e OURA_CLIENT_ID=<OURA_CLIENT_ID> -e OURA_CLIENT_SECRET=<OURA_CLIENT_SECRET> -e OURA_CREDENTIALS=<OURA_CREDENTIALS> -e OURA_PAT=<OURA_PAT> -e OURA_PAT_FILE=<OURA_PAT_FILE> -- uvx mcp-oura==0.4.0
{
"mcpServers": {
"oura-mcp": {
"command": "uvx",
"args": [
"mcp-oura==0.4.0"
],
"env": {
"OURA_SANDBOX": "<OURA_SANDBOX>",
"OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_CREDENTIALS": "<OURA_CREDENTIALS>",
"OURA_PAT": "<OURA_PAT>",
"OURA_PAT_FILE": "<OURA_PAT_FILE>"
}
}
}
}
{
"mcpServers": {
"oura-mcp": {
"command": "uvx",
"args": [
"mcp-oura==0.4.0"
],
"env": {
"OURA_SANDBOX": "<OURA_SANDBOX>",
"OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_CREDENTIALS": "<OURA_CREDENTIALS>",
"OURA_PAT": "<OURA_PAT>",
"OURA_PAT_FILE": "<OURA_PAT_FILE>"
}
}
}
}
{
"servers": {
"oura-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-oura==0.4.0"
],
"env": {
"OURA_SANDBOX": "<OURA_SANDBOX>",
"OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_CREDENTIALS": "<OURA_CREDENTIALS>",
"OURA_PAT": "<OURA_PAT>",
"OURA_PAT_FILE": "<OURA_PAT_FILE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
OURA_SANDBOXOptional | Set to 1 to use Oura's official synthetic data with no credentials. The recommended way to try the server before authenticating. |
OURA_CLIENT_IDOptional | client_id of your Oura application, for OAuth2. Register one at https://cloud.ouraring.com/oauth/applications with the redirect http://localhost:9876/callback/ (the trailing slash is required). |
OURA_CLIENT_SECRETOptional, secret | client_secret of your Oura application. Only needed when running `oura-mcp --authorize` and when refreshing the token. |
OURA_CREDENTIALSOptional | Where the OAuth2 credentials file lives. Defaults to ~/.config/oura-mcp/credentials.json, mode 600. |
OURA_PATOptional, secret | Oura Personal Access Token. Only if you already had one: Oura stopped issuing them in December 2025. |
OURA_PAT_FILEOptional | Path to a file holding the personal token. Preferable to OURA_PAT: an MCP server is registered in a JSON that gets backed up and shared when asking for help; a separate file rotates without touching the config. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 27 Sep 2026 |
| Last updated | 27 Sep 2026 |
| Registry name | io.github.proscar87/oura-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
