io.github.antoinedelorme/kweenkl-mcp
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
| Author | io.github.antoinedelorme |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 156 ms |
| Last measured | 2026-10-26 |
Measured statistics
| Tools measured | 6 |
|---|---|
| Latency, 30-day median (L1) | 156 ms |
| Latency, latest (L1) | 156 ms |
| Safe-call success | 1/1 (100%) |
| 30-day success rate (L2) | 100% |
| Last checked | 2026-10-26 |
| Total checks | 5 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"kweenkl-mcp": {
"url": "https://api.kweenkl.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (6)
kweenkl_statusread-onlyCheck kweenkl server connectivity and status. Use this to verify the connection is working before sending notifications. No authentication required.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
kweenkl_loginStart 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.
Parameters:
email— string — User's email address for waitlist subscription (only used if has_app is false)has_app— boolean — Whether the user already has the kweenkl iOS app installed. If true and no device_token, starts device auth flow.device_token— string — The user's device token from the kweenkl iOS app. If provided, immediately creates a webhook for them.
Hints: read-only no · destructive no · idempotent no · open-world yes
kweenkl_login_checkread-onlyCheck 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.
Parameters:
session_id(required) — string — The session ID returned from kweenkl_login
Hints: read-only yes · destructive no · idempotent yes · open-world yes
searchread-onlySearch kweenkl notification channels and messages. Use this to find channels by name or search through notification history.
Parameters:
query(required) — string — Search query to find channels or notifications
Hints: read-only yes · destructive no · idempotent yes · open-world yes
fetchread-onlyFetch details about a specific kweenkl channel or notification by ID.
Parameters:
id(required) — string — The ID of the channel or notification to fetchtype(required) — string — Type of resource to fetch: 'channel' or 'notification'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
kweenklSend 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.
Parameters:
webhook_token(required) — string — The webhook token for your kweenkl channel. Format: UUID-like string. Can be found in the kweenkl iOS app by opening a channel and viewing 'Channel Info'.message(required) — string — The notification message content. Should be clear, concise, and actionable. Maximum recommended length: 500 characters for optimal mobile display.title— string — Optional title for the notification. Should be brief (max 50 chars recommended). If omitted, only the message will be shown.glance— object — Optional structured visualization rendered as a card inside the kweenkl iOS app. Must include a 'type' field. v1 supports type='line_chart' with required fields {labels: string[], values: number[]} (same length, ≥2 points) and optional fields {subtitle, accent (#hex), comment, x_label, y_label}. Example: {type:'line_chart', subtitle:'Évolution 2015→2024', labels:['2015','2016','2017'], values:[670,720,780], accent:'#ff6b6b', comment:'tendance haussière'}payload— object — Optional custom JSON payload for additional metadata. Can include any structured data that your app might process (e.g., action buttons, deep links, custom data).priority— string — Priority level for the notification. 'high' = urgent/critical alerts, 'normal' = standard updates (default), 'low' = non-urgent information.
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.