Squadeal MCP server
Squadeal exposes a remote Model Context Protocol (MCP) server so an AI assistant — Claude, ChatGPT, or any MCP-compatible client — can create, update, and delete a deal on a user's behalf, without leaving the chat.
1. Get a token
Log in to Squadeal, go to your profile, and generate a token under "Connect Claude, ChatGPT & other AI tools." It's shown once — copy it somewhere safe. Anything created with the token is created as you.
2. Connect your client
Endpoint (Streamable HTTP, stateless — no session or SSE stream required):
https://squadeal.com/api/mcp
Authorization: Bearer YOUR_TOKENClaude Code
claude mcp add --transport http squadeal https://squadeal.com/api/mcp \
--header "Authorization: Bearer YOUR_TOKEN"Claude Desktop
Add an entry under mcpServers in your config:
{
"mcpServers": {
"squadeal": {
"url": "https://squadeal.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}For a stdio-only client, proxy through mcp-remote:
npx -y mcp-remote https://squadeal.com/api/mcp \
--header "Authorization: Bearer YOUR_TOKEN"Tools
create_deal — Creates a new deal owned by the authenticated user and returns its shareable URL.
| Field | Type | Description |
|---|---|---|
| name* | string | The name of the deal. |
| description | string | Optional description of the deal. |
| maxPeople* | integer > 0 | Maximum number of participants. |
| endDate* | string (ISO 8601 datetime) | When the deal closes. Must be in the future. |
| pricingTiers* | array of { people: integer > 0, price: number > 0 } | At least one tier. `people` is the group size needed to unlock `price` per person. Prices must strictly decrease as `people` increases. |
| requireManualApproval | boolean | If true, new participants require manual approval before becoming active. Defaults to true. |
| venmoHandle | string | Venmo handle participants should pay. |
| zelleContact | string | Zelle contact participants should pay. |
update_deal — Updates an existing deal owned by the authenticated user. Only the fields you provide are changed. maxPeople and pricingTiers can't be changed after creation — that keeps pricing fair for people who already committed at a given tier; create a new deal instead if those need to change.
| Field | Type | Description |
|---|---|---|
| publicId* | string | The deal's publicId, from its shareable URL (e.g. squadeal.com/squad/<publicId>). |
| name | string | New name for the deal. |
| description | string | New description. |
| endDate | string (ISO 8601 datetime) | New end datetime. Must be in the future. |
| visibility | "PUBLIC" | "PRIVATE" | New visibility. |
| requireManualApproval | boolean | Whether new participants require manual approval before becoming active. |
| venmoHandle | string | New Venmo handle. |
| zelleContact | string | New Zelle contact. |
delete_deal — Permanently deletes a deal owned by the authenticated user. This cannot be undone and removes the deal for every participant.
| Field | Type | Description |
|---|---|---|
| publicId* | string | The deal's publicId, from its shareable URL (e.g. squadeal.com/squad/<publicId>). |
* required
Notes
- A token authenticates as the user who generated it — deals are created under their account.
- Revoke a token any time from your profile page; it takes effect immediately.
- The server is stateless — every request is independent, no session to keep alive.