Skip to main content
Glama
pushpad

Pushpad MCP

Official
by pushpad

subscriptions_create

Import existing push subscriptions from another service into Pushpad by providing the endpoint and optional user ID, auth, p256dh key, and tags.

Instructions

To create a new subscription, send a POST request to /projects/PROJECT_ID/subscriptions setting the required attributes.

A subscription will be created using the provided information.

The response body will contain a JSON object with the attributes of your new subscription.

This operation is mainly intended to import subscriptions from another service into Pushpad.

This is not the standard way to collect subscriptions: usually you collect them using the JavaScript SDK.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidNoA user identifier associated with the subscription. You can use it to find the push subscription of a user and then send notifications to that specific user. You can choose any ID that makes sense for your application, like the ID of the user in your database.
authNoThe auth property of the push subscription object, as described in the W3C Push API. It is an authentication secret that an application server uses in authentication of its messages.
tagsNoTags associated with the subscription. You can use them to filter the push subscriptions and send notifications to a segment of your audience. You can add all tags that make sense for your application.
p256dhNoThe p256dh property of the push subscription object, as described in the W3C Push API. It is an elliptic curve Diffie-Hellman (ECDH) public key associated with the push subscription.
endpointYesThe push endpoint of a browser, as described in the W3C Push API. It is a URL where the application can deliver the push notifications that should be sent to the browser. An endpoint uniquely identifies the subscription.
project_id__pathYesThe ID of a project. (Path parameter)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoA unique identifier for each subscription. This is automatically generated upon subscription creation.
uidNoA user identifier associated with the subscription. You can use it to find the push subscription of a user and then send notifications to that specific user. You can choose any ID that makes sense for your application, like the ID of the user in your database.
authNoThe auth property of the push subscription object, as described in the W3C Push API. It is an authentication secret that an application server uses in authentication of its messages.
tagsNoTags associated with the subscription. You can use them to filter the push subscriptions and send notifications to a segment of your audience. You can add all tags that make sense for your application.
p256dhNoThe p256dh property of the push subscription object, as described in the W3C Push API. It is an elliptic curve Diffie-Hellman (ECDH) public key associated with the push subscription.
endpointNoThe push endpoint of a browser, as described in the W3C Push API. It is a URL where the application can deliver the push notifications that should be sent to the browser. An endpoint uniquely identifies the subscription.
created_atNoA time value given in ISO 8601 format. It represents when the subscription was created.
project_idNoThe ID of the project the subscription belongs to.
last_click_atNoA time value given in ISO 8601 format. It represents the last time that a notification sent to this subscription was clicked by the user. If there aren't any clicks on notifications yet, null is returned.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the HTTP method, creation action, and response format, but does not cover authorization requirements, error handling, idempotency, or potential side effects. The description is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the primary purpose and endpoint, followed by usage context. It is fairly concise with 5 sentences, though the middle sentences ('A subscription will be created...') are somewhat redundant. Overall, it is well-structured and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter descriptions, the description provides adequate context about the tool's purpose and non-standard usage. It could be improved by mentioning the required path parameter and reinforcing endpoint validity, but it is sufficiently complete for the schema richness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add meaningful information about parameters beyond what the schema already provides. It mentions 'setting the required attributes' but does not elaborate on specific parameters or their roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new subscription via a POST request to a specific endpoint. It distinguishes this tool from the standard JavaScript SDK collection method, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states this tool is intended for importing subscriptions from another service, and that it is not the standard way to collect subscriptions. This provides clear when-to-use and when-not-to-use guidance, noting the alternative of the JavaScript SDK.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/pushpad/pushpad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server