sleepon-mcp
Enables AI assistants to analyze sleep quality, compare nights, generate reports, and get personalized improvement tips using Sleepon sleep tracker data.
README
Sleepon MCP Server
An MCP (Model Context Protocol) server that connects AI assistants like Claude to your Sleepon sleep tracker data. Ask your AI to analyze your sleep quality, compare nights, generate reports, and get personalized improvement tips — all powered by your real sleep data.
Features
- 🛏️ Daily Sleep Summary — sleep score, efficiency, duration, and stage breakdown
- 📊 Detailed Segments — per-segment heart rate, blood oxygen (SpO2), HRV, movement, and ODI
- 📅 Sleep Calendar — see which days have data over a date range
- 📈 Trend Analysis — track how your sleep metrics change over time
- 🏷️ Sleep Labels — view user-added tags (e.g. "exercised", "drank coffee") and notes
- 🤖 Built-in Prompts — one-click deep analysis, comparison, reports, and improvement tips
Quick Start
1. Install
# Using uvx (recommended, auto-downloads without install)
uvx sleepon-mcp
# Or install via pip
pip install sleepon-mcp
2. Configure Claude Desktop
To use this MCP server with Claude Desktop, you need to add it to your configuration file.
Step 1: Open the configuration file based on your operating system:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
(Tip: You can quickly open this from Claude Desktop: Menu -> Settings -> Developer -> Edit Config)
Step 2: Add the sleepon server to the mcpServers object. Replace the email and password with your actual Sleepon account credentials.
{
"mcpServers": {
"sleepon": {
"command": "uvx",
"args": ["sleepon-mcp"],
"env": {
"SLEEPON_USERNAME": "your-sleepon-email@example.com",
"SLEEPON_PASSWORD": "your-password"
}
}
}
}
Note: uvx is recommended as it automatically manages the Python environment for you. If you prefer to use your system Python, you can use "command": "python", "args": ["-m", "sleepon_mcp.server"] instead.
⚠️ Troubleshooting:
spawn uvx ENOENTError If Claude Desktop shows anENOENTerror, it means it cannot find theuvxcommand in its system path. To fix this, you must provide the absolute path touvx.
- Open your terminal and run
which uvx(Mac/Linux) orwhere uvx(Windows).- Copy the resulting path (e.g.,
/Users/username/.pyenv/shims/uvxorC:\\Users\\username\\.cargo\\bin\\uvx.exe).- Replace
"uvx"in the"command"field of the config with this absolute path.
3. Restart Claude Desktop
- Completely quit Claude Desktop (
Cmd+Qon Mac, or right-click the system tray icon and exit on Windows). - Re-open Claude Desktop.
- Look for the hammer icon (🔨) in the chat input area. Click on it to see the available Sleepon tools and prompts.
Available Tools
| Tool | Description |
|---|---|
login_and_check_status |
Verify that your credentials are correct and the API is reachable |
get_user_profile |
Get your Sleepon user profile information |
get_daily_sleep_summary |
Get complete sleep summary for a specific date |
get_detailed_sleep_segments |
Get detailed segment data (heart rate, SpO2, HRV, sleep stages) |
get_sleep_calendar |
View which days have data in a date range |
get_sleep_trend |
Get sleep metric trends over a date range |
get_sleep_labels |
Get user-added sleep labels and notes for a date |
get_latest_data_time |
Find the most recent data sync timestamp |
Built-in Prompts
These prompts guide the AI through multi-step analysis workflows:
| Prompt | Description |
|---|---|
analyze_sleep |
Comprehensive analysis of a single night (summary + segments + labels) |
compare_sleep |
Side-by-side comparison of two nights with tables |
sleep_report |
Full report for a date range (trends, best/worst days, health alerts) |
sleep_improvement_tips |
Personalized recommendations based on your recent data |
Example Conversations
- "Analyze my sleep from last night"
- "Compare my sleep on Monday vs Friday"
- "Generate a sleep report for the past month"
- "How can I improve my sleep quality?"
Development
# Clone the repo
git clone https://github.com/sleepon-official/sleepon_mcp.git
cd sleepon_mcp
# Install in development mode
pip install -e .
# Test with MCP Inspector
npx -y @modelcontextprotocol/inspector sleepon-mcp
Environment Variables
| Variable | Required | Description |
|---|---|---|
SLEEPON_USERNAME |
Yes | Your Sleepon account email |
SLEEPON_PASSWORD |
Yes | Your Sleepon account password |
Requirements
- Python >= 3.10
- A Sleepon account with a paired sleep tracker
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.