widgetdash-mcp
Click on "Deploy 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., "@widgetdash-mcpPut my Stripe MRR on my iPhone widget."
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.
WidgetDash MCP server
Let your AI agent put any number on your iPhone.
WidgetDash shows numbers from any service on iPhone Home Screen widgets, Lock Screen widgets and Live Activities. This Model Context Protocol server lets Claude Desktop, Claude Code, Cursor and other MCP clients push data to your widgets and read it back. You just ask:
"Put my Stripe MRR on my iPhone widget."
What you need
The free WidgetDash iOS app: https://apps.apple.com/us/app/widgetdash/id6761054679, with a WidgetDash widget on your Home Screen or Lock Screen.
Your API keys. Get them at https://widgetdash.app/app.
Write key: lets the agent create and update your widget data.
Read key (optional): read-only access. If you leave it out, the read tools use the write key.
Node.js 18 or newer (
npxcomes with it).
Related MCP server: iPhone MCP
Setup
Claude Code
claude mcp add widgetdash -e WIDGETDASH_WRITE_KEY=your-write-key -- npx -y widgetdash-mcpClaude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config), then restart Claude Desktop:
{
"mcpServers": {
"widgetdash": {
"command": "npx",
"args": ["-y", "widgetdash-mcp"],
"env": {
"WIDGETDASH_WRITE_KEY": "your-write-key",
"WIDGETDASH_READ_KEY": "your-read-key"
}
}
}
}Cursor
Add this to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one project:
{
"mcpServers": {
"widgetdash": {
"command": "npx",
"args": ["-y", "widgetdash-mcp"],
"env": { "WIDGETDASH_WRITE_KEY": "your-write-key" }
}
}
}Other MCP clients that can launch a stdio server work the same way. The command is npx -y widgetdash-mcp, and the keys go in the environment variables below.
Environment variables
Variable | Required | Description |
| For writes | Write key from https://widgetdash.app/app. |
| No | Read key. |
| No | API base URL. Default: |
Example prompts
"Put my Stripe MRR on my iPhone widget." (The agent reads the number with a Stripe tool, then calls
push_number.)"Show today's GitHub stars, open issues and open PRs for my repo on my Lock Screen widget."
"Make a 'Server' widget with CPU as a progress bar, uptime as a number and a green 'Healthy' status badge."
"Every time you finish a build, set the 'CI' widget status to Passing or Failing."
"What's on my WidgetDash widget right now?"
"Remove the old 'test' source from my widget."
Tools
Tool | What it does |
| Sets one value on a source, e.g. |
| Creates or updates a source: title ( |
| Lists your sources (key, title, icon, hidden or shown) and how many your plan allows. The free plan allows 5. |
| Shows what's on the widget now: every enabled source with its metrics and last update time, or a single source. |
| Permanently deletes a source and ends any Live Activity for it. |
Metrics
Each metric has a label, a value, an optional type and an optional color:
typesets how the widget draws the value:number: a big bold figure.text: a plain string.status: a colored badge.progress: a bar. The value must be 0 to 100, and a trailing%is removed for you.percentage: compact percent text.
If you leave
typeout, values that look like numbers (42,$12,400,3.5%) becomenumberand everything else becomestext. Withpush_number, an existing metric keeps its current type and color.color:green,red,yellow,blue,gray,orange,purpleorcyan.icon: any SF Symbol name, e.g.dollarsign.circle.fill,chart.bar.fill,server.rackorheart.fill.
Fields you leave out (display_name, icon, category, sort_order, raw_data) keep their current values. This means an update from the agent won't undo the order you set in the app.
Security
The write key can only write your own widget data. It can't reach other users' data or your account's billing.
Keys go only in the
Authorizationheader of requests to the WidgetDash API. The server never logs them and removes them from any error text it returns.Treat the write key like a password. If it leaks, rotate it at https://widgetdash.app/app.
The server only talks to
WIDGETDASH_API_URL, which ishttps://api.widgetdash.appby default.
Development
npm install
npm run build # compiles src/ to dist/
npm test # builds, then runs the end-to-end testsnpm test runs every tool through a real MCP client over stdio, against an in-memory mock of the WidgetDash API (test/mock-api.mjs). It needs no network and no keys, and it never contacts production.
To try it interactively, run npx @modelcontextprotocol/inspector node dist/index.js.
MCP Registry
server.json is the entry for the official MCP Registry under the name io.github.purian/widgetdash-mcp, following schema 2025-12-11. The mcpName field in package.json must match that name for npm ownership verification. Status: draft. It hasn't been published yet, and the registry is still in preview, so check server.json against the current schema before running mcp-publisher publish.
License
MIT © WidgetDash
This server cannot be deployed
Maintenance
Related MCP Connectors
- 00WidgetOAuthcom.00widget
Publish status cards and Live Activities to iOS widgets, the Lock Screen, and the Dynamic Island.
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
Give your AI agent a memory and body on your iPhone: set alarms, ring your phone, over MCP.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access App Store Connect data including financial metrics, subscription analytics, app performance data, and revenue insights. Provides real-time iOS app metrics through secure API integration with rate limiting and comprehensive reporting capabilities.19 npm34MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to control real iPhones and simulators on macOS, allowing for UI interaction, testing, and automation.39 npm89MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to manage App Store Connect apps, including registering bundle IDs, uploading metadata and screenshots, setting age ratings, managing TestFlight groups and testers, and submitting apps for review.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to securely access Apple Health data (sleep, heart rate, menstrual cycle, etc.) via end-to-end encrypted local decryption from the Tether iOS app.33196 PyPI2MIT