Search / io.github.antoinedelorme/kweenkl-mcp
kweenkl-mcp
R0· no sign-inPush notifications for AI agents - send instant iPhone notifications from any MCP client.
v1.1.0 · active · repository · website · descriptor JSON · versions
Search / io.github.antoinedelorme/kweenkl-mcp
R0· no sign-inPush notifications for AI agents - send instant iPhone notifications from any MCP client.
v1.1.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"kweenkl-mcp": {
"type": "http",
"url": "https://api.kweenkl.com/mcp",
"headers": {
"X-Kweenkl-Device-Token": "${X_KWEENKL_DEVICE_TOKEN}"
}
}
}
}claude mcp add --transport http kweenkl-mcp https://api.kweenkl.com/mcp --header "X-Kweenkl-Device-Token: ${X_KWEENKL_DEVICE_TOKEN}"[mcp_servers.kweenkl-mcp]
url = "https://api.kweenkl.com/mcp"
env_http_headers = { "X-Kweenkl-Device-Token" = "X_KWEENKL_DEVICE_TOKEN" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"kweenkl-mcp": {
"type": "remote",
"url": "https://api.kweenkl.com/mcp",
"enabled": true,
"headers": {
"X-Kweenkl-Device-Token": "{env:X_KWEENKL_DEVICE_TOKEN}"
}
}
}
}{
"mcpServers": {
"kweenkl-mcp": {
"type": "http",
"url": "https://api.kweenkl.com/mcp",
"headers": {
"X-Kweenkl-Device-Token": "${X_KWEENKL_DEVICE_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=kweenkl-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLmt3ZWVua2wuY29tL21jcCIsImhlYWRlcnMiOnsiWC1Ld2VlbmtsLURldmljZS1Ub2tlbiI6IiR7WF9LV0VFTktMX0RFVklDRV9UT0tFTn0ifX0%3D"
}{
"servers": {
"kweenkl-mcp": {
"type": "http",
"url": "https://api.kweenkl.com/mcp",
"headers": {
"X-Kweenkl-Device-Token": "${X_KWEENKL_DEVICE_TOKEN}"
}
}
}
}{
"mcpServers": {
"kweenkl-mcp": {
"httpUrl": "https://api.kweenkl.com/mcp",
"headers": {
"X-Kweenkl-Device-Token": "${X_KWEENKL_DEVICE_TOKEN}"
}
}
}
}extensions:
"kweenkl-mcp":
enabled: true
name: "kweenkl-mcp"
type: streamable_http
uri: "https://api.kweenkl.com/mcp"
headers:
"X-Kweenkl-Device-Token": "${X_KWEENKL_DEVICE_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${X_KWEENKL_DEVICE_TOKEN}. The registry never accepts secret values.
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltool list is cacheable (ttlMs 300000)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations6 of 6 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 1,276 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-96% ~updated-136d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.kweenkl.com/mcp streamable-http | none | yes | 96% | 194 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 | 2026-10-19 |
fetchread-only | Fetch details about a specific kweenkl channel or notification by ID. |
kweenkl | Send a push notification using kweenkl. The verb 'kweenkl' means to send a notification. Use this to notify users about important events, updates, or information that requires immediate attention. |
kweenkl_login | Start the kweenkl login/onboarding flow. If the user provides their device_token (from the iOS app), this will immediately create their webhook. Otherwise, guides them to download the app or join the waitlist. |
kweenkl_login_checkread-only | Check the status of a device authorization flow. Call this after kweenkl_login to see if the user has approved the connection in their iOS app. |
kweenkl_statusread-only | Check kweenkl server connectivity and status. Use this to verify the connection is working before sending notifications. No authentication required. |
searchread-only | Search kweenkl notification channels and messages. Use this to find channels by name or search through notification history. |
Schemas: list_tools.
{
"name": "io.github.antoinedelorme/kweenkl-mcp",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.kweenkl.com/mcp",
"type": "streamable-http",
"headers": [
{
"name": "X-Kweenkl-Device-Token",
"isSecret": true,
"description": "kweenkl device token (from the iOS app settings). Optional — only needed for channel management tools; sending notifications works with a channel webhook token, and OAuth login is also supported."
}
]
}
],
"version": "1.1.0",
"repository": {
"url": "https://github.com/antoinedelorme/kweenkl-mcp",
"source": "github"
},
"websiteUrl": "https://kweenkl.com",
"description": "Push notifications for AI agents - send instant iPhone notifications from any MCP client."
}