
Simplepush
sh.simplepuPublished by simplepu.shOfficial publisherv0.5.0Updated Nov 4, 2026
Send tasks and notifications to people's phones. Answers build a queryable knowledge base.
Overview
Simplepush MCP server that lets an assistant push tasks and notifications to people's phones, collect their answers, and search the resulting record.
- What you can do
- Send notifications and tasks to phones, with text, choice, action buttons, slider, photo, voice, file or location inputs, per-recipient or shared.
- Append follow-up questions or checklist items to a task, and cancel tasks, subtasks or whole groups.
- Retrieve answers for a task, subtask or notification, and check per-recipient group status.
- Query tasks, activity events and ad-hoc field submissions, filtered by status, time, topic, member or group.
- Search everything by full text or by location, and download photos, voice recordings and files.
- When to use it
- Useful when an assistant needs to reach real people on their phones for approvals, quick questions, checklists or field reports, and later look up who answered what. Also fits workflows that want a searchable history of requests and responses.
- Requirements
- Either the hosted endpoint with OAuth sign-in, or a local process run with npx (Node.js). One credential is required: SP_API_TOKEN for personal mode or SP_INTEGRATION_TOKEN for organization mode. Optional: SP_KEYS for encryption, SP_BASE_URL, SP_MAX_WAIT_SECONDS, SP_SCOPES. Network access to the Simplepush API.
Installation
In SourceWeft
- Open Simplepush in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/sh.simplepu%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"simplepush": {
"type": "http",
"url": "https://mcp.simplepu.sh/mcp"
}
}
}README
@simplepush/mcp
MCP server for Simplepush. An agent sends tasks and notifications to people's phones and waits for the answers, appends follow-ups, cancels mistakes, and queries the record of everything that came back. Tasks, answers, replies, declines, and ad-hoc submissions stay queryable, so the stream doubles as a knowledge base of the work: what was asked, who answered what, and what is still open.
Tools
The query tools work in both modes: an organization credential (an integration token, or the hosted connector signed in as an organization admin) reads the whole organization, a personal one (an API token, or the hosted connector with a personal API token) reads your personal stream (subscription required on personal accounts). On the hosted transport they need the read scope; download_attachment additionally needs files:read. Encrypted content is decrypted with the keys the server holds; anything it cannot open is left as ciphertext and reported.
A timeout in send_task is not a cancellation. The questions stay live on the phones, and answers are available later via get_task_answer or get_group_status. inputs says how the task is answered: text, single or multi choice, action buttons, slider, photo, voice recording, file, location. send_task waits 90 seconds by default; per-call wait_seconds raises that, up to SP_MAX_WAIT_SECONDS.
Setup
The server runs in one of two modes, decided by which credential you set.
Personal mode
Get an API token from the API Token screen in the Simplepush app, then:
Or with Claude Code:
Messages go to your own devices. Pass a topic to deliver to that topic's holders instead, as a single shared task where the first answer wins.
Organization mode
Create an integration token with the CLI (admin vault unlocked):
Org mode unlocks full targeting: every send takes exactly one of topic, member (name or usr_ id), or broadcast. Only the tools the token's scopes cover are listed: a token minted with read files:read exposes the query and download tools and none of the send tools, which keeps the tool schemas a read-only agent carries per request to a minimum. If the org has encryption enabled, the token's second half unwraps the org master keys at startup and all sends are end-to-end encrypted; answers are decrypted the same way.
If both credentials are set, the integration token wins and a note goes to stderr. MCP clients spawn stdio servers with your shell environment attached, so an exported SP_API_TOKEN from unrelated CLI work rides along; setting SP_INTEGRATION_TOKEN is always deliberate.
Environment variables (stdio)
Encryption
Org mode encrypts automatically when the org has encryption enabled, as described above.
Personal sends are plaintext unless you provide keys. Encrypted and plaintext tasks are distinguishable at a glance in the app: encrypted ones carry the lock icon.
Keys are exported from the Simplepush app: Copy Key for Integrations on the Encryption screen for the Personal Password key, and the copy action next to a topic on the Topics screen for topic keys.
SP_KEYS is a comma-separated list. A bare base64 key is the Personal Password key, used for self-sends. topic=key binds a key to one topic:
With a matching key, sends to that target are encrypted and answers are decrypted. An answer the server holds no key for comes back with undecryptable: true rather than silently wrong.
Keys only. There is no SP_PASSWORD.
Hosted HTTP transport
simplepush-mcp-http serves the same tools over Streamable HTTP as an OAuth resource server. No ambient credential: each request carries its own access token, verified by introspection against the authorization server and audience-checked against SP_CANONICAL_URI. Discovery metadata is served at /.well-known/oauth-protected-resource; the MCP endpoint is /mcp. GET /status is a public summary for uptime monitoring: 200 when the authorization server and the API both answer, 503 otherwise, with the same shape as the backend's /v1/status. Tools are scope-gated: send for send_notification, send_task, append_subtask and cancel_task, read for the answer and query tools, files:read for download_attachment. A grant lists only the tools its scopes cover; a direct call for anything else is refused with a challenge naming the missing scope.
Hosted mode is personal OAuth grants only. Integration tokens are not accepted there by design, and hosted sends are plaintext: a server that could decrypt for you would not be end-to-end.
Development
Smoke-test against a local backend without an MCP client:
Note that the Inspector does not forward your shell environment to the spawned server. Pass credentials with -e, not by exporting them.
Source: README.md at commit 88c8a61
Tools
0Version history
3- v0.5.0LatestNov 4, 2026
- v0.4.0Sep 26, 2026
- v0.3.1Sep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.