The Oura v2 API as an MCP server. Paginates, fixes the date range, warns when data is missing.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add oura-proscar87 --env OURA_CLIENT_SECRET='<OURA_CLIENT_SECRET>' --env OURA_PAT='<OURA_PAT>' -- uvx mcp-oura~/.codex/config.toml
[mcp_servers.oura-proscar87]
command = "uvx"
args = ["mcp-oura"]
env = { OURA_CLIENT_SECRET = "<OURA_CLIENT_SECRET>", OURA_PAT = "<OURA_PAT>" }
# codex mcp add oura-proscar87 --env OURA_CLIENT_SECRET='<OURA_CLIENT_SECRET>' --env OURA_PAT='<OURA_PAT>' -- uvx mcp-oura~/.cursor/mcp.json
{
"mcpServers": {
"oura-proscar87": {
"command": "uvx",
"args": [
"mcp-oura"
],
"env": {
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_PAT": "<OURA_PAT>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"oura-proscar87": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-oura"
],
"env": {
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_PAT": "<OURA_PAT>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"oura-proscar87": {
"command": "uvx",
"args": [
"mcp-oura"
],
"env": {
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_PAT": "<OURA_PAT>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"oura-proscar87": {
"command": "uvx",
"args": [
"mcp-oura"
],
"env": {
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_PAT": "<OURA_PAT>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"oura-proscar87": {
"command": "uvx",
"args": [
"mcp-oura"
],
"env": {
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_PAT": "<OURA_PAT>"
}
}
}
}Environment variables
OURA_CLIENT_SECRETOURA_PAT
Replace the placeholders with your own credentials and keep them out of version control.