Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/.upstream-base
Original file line number Diff line number Diff line change
@@ -1 +1 @@
de8ee15dd1194627d21eb5fcd41cb1873208dabb
5866df557357d005b3c0c9d3da0d9e739b4bdde3
15 changes: 5 additions & 10 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -618,11 +618,6 @@
"sand": "0.49.0"
}
},
{
"name": "jobber",
"source": "third_party/jobber",
"description": "Work with clients, requests, quotes, jobs, visits, and invoices."
},
{
"name": "databricks-genie",
"source": "third_party/databricks-genie",
Expand All @@ -643,11 +638,6 @@
"source": "third_party/feishu",
"description": "Search, create, and update Feishu docs, and read Feishu messages and groups."
},
{
"name": "framer",
"source": "third_party/framer",
"description": "Design, build, and edit your Framer sites, pages, and CMS content."
},
{
"name": "vanta",
"source": "third_party/vanta",
Expand Down Expand Up @@ -712,6 +702,11 @@
"name": "metricool",
"source": "third_party/metricool",
"description": "Plan and publish social posts, pull metrics and reports, and manage inbox, reviews, and ads across your Metricool brands."
},
{
"name": "eight-sleep",
"source": "third_party/eight-sleep",
"description": "Connect your Eight Sleep account to see your sleep scores, stages and heart metrics, check your Pod's status and temperature settings, and manage your alarms and your side of the Pod, with your approval for each change."
}
]
}
36 changes: 36 additions & 0 deletions third_party/eight-sleep/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "eight-sleep",
"displayName": "Eight Sleep",
"version": "1.0.0",
"minClientVersions": {
"cursor": "3.13.0"
},
"description": "Connect your Eight Sleep account to see your sleep scores, stages and heart metrics, check your Pod's status and temperature settings, and manage your alarms and your side of the Pod, with your approval for each change.",
"author": {
"name": "Cursor",
"email": "plugins@cursor.com"
},
"homepage": "https://public-api.8slp.net/connectors",
"repository": "https://github.com/cursor/plugins",
"license": "MIT",
"logo": "assets/logo.png",
"keywords": [
"eight sleep",
"sleep",
"pod",
"sleep tracking",
"hrv",
"heart rate",
"temperature",
"alarms",
"mcp"
],
"category": "integrations",
"tags": [
"eight-sleep",
"sleep",
"health",
"mcp"
],
"mcpServers": "./mcp.json"
}
9 changes: 9 additions & 0 deletions third_party/eight-sleep/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

All notable changes to this plugin will be documented here.

## 1.0.0 — initial release

- Added the `eight-sleep` MCP server pointing at Eight Sleep's hosted Streamable HTTP endpoint (`https://public-api.8slp.net/mcp`).
- Auth uses OAuth with Eight Sleep user login (authorization code + PKCE, dynamic client registration, scopes `read_sleep`, `read_device`, and `write_device`) — no API key or client ID to configure.
- Logo: Eight Sleep's official "8" mark, the 180×180 web app icon published on eightsleep.com.
File renamed without changes.
82 changes: 82 additions & 0 deletions third_party/eight-sleep/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Eight Sleep

Cursor plugin that connects agents to [Eight Sleep](https://www.eightsleep.com) through Eight Sleep's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server.

Read your sleep scores, stages and heart metrics, check your Pod's status and temperature settings, and manage your alarms and your side of the Pod. Every change is confirmed with you first.

## Install

1. Open **Cursor Settings → Plugins**.
2. Search for **Eight Sleep**.
3. Click **Install**, then complete the Eight Sleep sign-in prompt and allow the access you want to grant.

Or run `/add-plugin eight-sleep` in chat.

In Grok Bot, open **Settings → Plugins**, install **Eight Sleep**, and complete the same Eight Sleep sign-in.

## MCP

```json
{
"mcpServers": {
"eight-sleep": {
"type": "http",
"url": "https://public-api.8slp.net/mcp",
"placement": "server"
}
}
}
```

Auth is OAuth. Eight Sleep uses the authorization code flow with PKCE (S256) and dynamic client registration against `https://auth-api.8slp.net`, so there is no API key or client ID to configure. Cursor or Grok Bot prompts for Eight Sleep sign-in when the plugin connects, and each user signs in with their own account.

`"placement": "server"` makes Grok Bot dial the server through the hosted MCP path.

## Before you connect

You need an Eight Sleep account and a Pod. Alarms and the temperature schedule also need an active Eight Sleep membership, and alarms need your timezone set in the app.

## Scopes

Access is split into three scopes, and the agent only gets the ones you grant:

| Scope | Grants |
| --- | --- |
| `read_sleep` | Sleep days and sleep sessions |
| `read_device` | Pod status, temperature settings, and alarms |
| `write_device` | "Control your device": change your alarms, power, temperature, and schedule |

A connection made before `write_device` existed can only read. To allow changes, disconnect Eight Sleep in your agent and connect it again, allowing "control your device" when asked.

## What agents can do

| Category | Tools |
| --- | --- |
| Sleep | `get_sleep_days`, `get_sleep_sessions`, `get_sleep_session` |
| Pod | `get_device_status`, `get_temperature_settings` |
| Alarms | `list_alarms`, `create_alarm`, `update_alarm`, `delete_alarm` |
| Changes | `set_pod_power`, `set_temperature`, `update_temperature_schedule` |

The hosted runtime is the source of truth for tool names and schemas. See the [Eight Sleep connector docs](https://public-api.8slp.net/connectors) for details.

## Notes

- Write tools only touch your own account and your own side of the bed, never your partner's. The server instructs the agent to confirm each change with you first, and each change reports what it did and how to undo it.
- Temperatures use the app's dial, from -10 (coolest) to +10 (warmest).
- Power, temperature, and schedule changes need an online Pod, meaning one that has reported in during the last 10 minutes. On a Pod 6 or later, the cover on your side must also be connected. Nothing changes while away mode is on. Alarm changes work offline and reach the Pod when it reconnects.
- The connector cannot stop or snooze a ringing alarm, toggle Autopilot or away mode, move the base, or cancel a therapy session.
- Everything returned is a measurement or setting from your account. No tool diagnoses, treats, or offers medical guidance.
- Rate limits: 60 calls per minute per connection, plus a cap of 10 change requests every 5 minutes and 50 per day.
- Revoke access from **Data Sharing** in the Eight Sleep app's settings, or by disconnecting the plugin. Revocation takes effect within five minutes.

## Docs

- Eight Sleep connector: https://public-api.8slp.net/connectors
- Server URL: https://public-api.8slp.net/mcp
- Support: support@eightsleep.com

Logo is Eight Sleep's official "8" mark, from the 180×180 web app icon published on eightsleep.com.

## License

MIT
Binary file added third_party/eight-sleep/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"mcpServers": {
"framer": {
"eight-sleep": {
"type": "http",
"url": "https://mcp.framer.com/mcp",
"url": "https://public-api.8slp.net/mcp",
"placement": "server"
}
}
Expand Down
34 changes: 0 additions & 34 deletions third_party/framer/.cursor-plugin/plugin.json

This file was deleted.

9 changes: 0 additions & 9 deletions third_party/framer/CHANGELOG.md

This file was deleted.

56 changes: 0 additions & 56 deletions third_party/framer/README.md

This file was deleted.

Binary file removed third_party/framer/assets/logo.png
Binary file not shown.
56 changes: 0 additions & 56 deletions third_party/jobber/.cursor-plugin/plugin.json

This file was deleted.

9 changes: 0 additions & 9 deletions third_party/jobber/CHANGELOG.md

This file was deleted.

21 changes: 0 additions & 21 deletions third_party/jobber/LICENSE

This file was deleted.

Loading
Loading