MockPost
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOCKPOST_URL | No | The base URL of the MockPost HTTP service. Defaults to http://localhost:8090. | http://localhost:8090 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_test_idA | Set the active test_id: all subsequent calls are filtered/persisted with it. Pass null/None to go back to the global queue. |
| set_appA | Set the active app (a name registered in MockPost): incoming event simulations and queries are filtered/delivered only to that app. Pass null/None for no app. Register apps with register_app. |
| register_appA | Register or update an app: bind its FAKE credentials (Telegram bot token, Twilio SID, Stripe sk_test_, WhatsApp phone_id, FCM project_id) to a name. The app talks to MockPost using those credentials as if it were the real service; MockPost identifies it by them. Use the same name to update creds. |
| list_appsA | List registered apps with their fake credentials (MockPost identity). |
| delete_appA | Delete a registered app. Its webhooks become global. |
| list_webhook_deliveriesA | Webhook delivery history: what each app returned (code + body), even if it was down (response_code 0). Filterable by channel and app. |
| list_sent_messagesA | List captured messages for a channel (or all), newest first. channel: mail|telegram|whatsapp|webpush|sms|fcm|apns|slack|discord|stripe app: registered app name to filter only its messages. |
| get_message_detailA | Return a message's full payload, including raw_payload (MIME/JSON). |
| simulate_delivery_webhookA | Fire a delivery status webhook (delivered|read|failed) back to the app. Uses POST /whatsapp/simulate/status. |
| simulate_incoming_messageB | Simulate an external user sending an inbound message to the app. channel: telegram (via /telegram/client/sendMessage) or whatsapp. app: registered app name to target; overrides set_app for this call. |
| simulate_stripe_eventA | Build and send a simulated Stripe event, signed (Stripe-Signature), to the registered webhook. app: registered app name to target; overrides set_app for this call. |
| simulate_github_eventA | Fire a GitHub webhook event (push, issues, pull_request) signed with X-Hub-Signature-256 to the app's registered GitHub webhook. app: registered app name to target; overrides set_app for this call. |
| simulate_facebook_eventB | Fire a Facebook Graph API webhook event signed with X-Hub-Signature-256 to the app's registered Facebook webhook. app: registered app name to target; overrides set_app for this call. |
| simulate_x_eventB | Fire an X (Twitter) Account Activity webhook event signed with X-Twitter-Webhooks-Signature to the app's registered X webhook. payload is a list of event objects, as the real API delivers. app: registered app name to target; overrides set_app for this call. |
| verify_facebook_webhookA | Verify a Facebook webhook subscription (hub.mode/hub.verify_token/ hub.challenge) as Meta does on registration. Returns the challenge URL. |
| create_push_subscriptionA | Create a Web Push subscription and return it shaped exactly like the browser's PushSubscription (endpoint + keys.p256dh + keys.auth). Hand it to the app under test: MockPost keeps the private key, so when the backend sends the encrypted push with pywebpush or web-push it verifies the VAPID signature, decrypts the payload and captures the cleartext. |
| list_push_subscriptionsA | List Web Push subscriptions with their endpoint and status (active|gone). |
| expire_push_subscriptionA | Mark a Web Push subscription as gone: the next push answers 410, which is how a backend learns it must delete a dead subscription. |
| simulate_push_token_unregisteredA | Make a native push token look uninstalled: FCM answers 404 UNREGISTERED and APNs answers 410 Unregistered on the next send. channel: fcm | apns |
| get_latest_otpC | Return the latest OTP code (SMS or email) sent to an identifier. |
| generate_totp_secretB | Generate and store a TOTP secret (Google Authenticator). Returns base32 secret and otpauth:// URL. |
| get_totp_codeA | Compute the current TOTP code (6 digits) for a previously generated secret. Window ±1. |
| set_oauth_fake_profileB | Set the profile the fake OAuth provider (google|github|facebook|x) returns on the next login. |
| get_oauth_sessionA | Inspect a simulated OAuth session: code, tokens, returned profile and expiry. |
| get_channel_configB | Return host/port/base URL/fake tokens the app must use for that channel. |
| register_webhookB | Register an app webhook (Telegram setWebhook, WhatsApp, Stripe...). If you pass an app (registered name), the webhook only receives events from that app. |
| list_webhooksA | List registered webhooks, optionally filtered by channel and app. |
| trigger_webhookA | Fire a test event to a registered webhook and return the app's response. |
| clear_channelA | Delete all captured messages of a channel (cleanup between test runs). With app, only that app's messages. |
| clear_allA | Delete all captured messages (or only those of a test_id/app). |
| get_timeline_markdownA | FULL TIMELINE as Markdown: messages + webhook_events + stripe_events in chronological order. Call this first when verifying a test result; use get_message_detail only for a single event's detail. With app, only that app's events. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reiarseni/mockpost'
If you have feedback or need assistance with the MCP directory API, please join our Discord server