Model Context Protocol (MCP)
Connect your AI assistant to Pelcro's APIs through the Model Context Protocol (MCP). Pelcro exposes two MCP servers:
- Core API — manage an account as a publisher or operator: customers, subscriptions, invoices, products, and more.
- Open API — act on behalf of a single signed-in subscriber: their own subscriptions, addresses, payment methods, and more.
These MCP servers are under active development. Tool names, parameters, and behavior may change between releases without prior notice. MCP clients should always fetch the latest tool definitions from the server at the start of each session — do not cache or hardcode tool schemas. If you have feedback or want to see more tools, email us at [email protected].
Installation
Each client takes two entries — pelcro-api-core for the Core API and pelcro-api-open for the Open API.
Claude Code
claude mcp add --transport http pelcro-api-core https://mcp.pelcro.com/
claude mcp add --transport http pelcro-api-open https://mcp.pelcro.com/openStart a new session with claude, type /mcp, select the server, and click Authenticate.
Cursor
Add to your project's .cursor/mcp.json:
{
"mcpServers": {
"pelcro-api-core": { "url": "https://mcp.pelcro.com/" },
"pelcro-api-open": { "url": "https://mcp.pelcro.com/open" }
}
}VS Code
Add to your workspace's .vscode/mcp.json. See the VS Code MCP documentation for more details.
{
"servers": {
"pelcro-api-core": { "type": "http", "url": "https://mcp.pelcro.com/" },
"pelcro-api-open": { "type": "http", "url": "https://mcp.pelcro.com/open" }
}
}Windsurf
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"pelcro-api-core": { "url": "https://mcp.pelcro.com/" },
"pelcro-api-open": { "url": "https://mcp.pelcro.com/open" }
}
}ChatGPT
ChatGPT supports remote MCP servers for Pro, Plus, Business, Enterprise, and Education accounts. Create a custom connector in Settings > Apps & Connectors for each server, selecting OAuth as the authentication method:
- Core API:
https://mcp.pelcro.com/ - Open API:
https://mcp.pelcro.com/open
See the OpenAI developer mode guide for detailed setup steps.
Other MCP clients
Any client that supports remote MCP servers over Streamable HTTP can connect to https://mcp.pelcro.com/ (Core API) or https://mcp.pelcro.com/open (Open API). The server handles OAuth discovery automatically via RFC 9728.
Authorize
After installing, your MCP client opens a browser window to complete authentication:
- Log into your Pelcro account
- Select which account to grant access to
- Click Authorize
- Return to your AI tool — the tools are now available
The token is scoped to a single account's API endpoints. Public Open API tools require no authentication; tools that act on a specific subscriber's data run under that subscriber's access token.
Manage your connection
Multi-account access
Each MCP server entry is scoped to one account. To access multiple accounts, add multiple entries with different names:
claude mcp add --transport http pelcro-acme https://mcp.pelcro.com/
claude mcp add --transport http pelcro-other https://mcp.pelcro.com/Each entry triggers its own OAuth flow where you pick a different account on the consent screen.
Re-authenticate
If your token expires or you want to switch accounts, remove the server and re-add it:
claude mcp remove pelcro-api-core
claude mcp add --transport http pelcro-api-core https://mcp.pelcro.com/Refreshing tools
MCP clients cache the list of available tools when they first connect. If new tools are added to a server, start a new session or reconnect to pick them up.
Environments
| Environment | Core API | Open API |
|---|---|---|
| Production | https://mcp.pelcro.com/ | https://mcp.pelcro.com/open |
| Staging | https://mcp-staging.pelcro.com/ | https://mcp-staging.pelcro.com/open |
Core API tools
Most tools require a site_id parameter. If you don't know your site ID, use get_account first to discover your available sites. List tools support page and limit for pagination.
Response size
Tool responses are capped at 25,000 characters to protect AI context windows. If a response is truncated, use a smaller limit value or add filters to narrow your results.
Error handling
API errors (400, 401, 404, 500, etc.) are returned as tool results with isError: true, not as protocol-level failures. This allows the AI to reason about the error and retry with different parameters.
| Resource | Tool | API |
|---|---|---|
| Addresses | list_addresses | List addresses |
get_address | Get address | |
create_address | Create address | |
update_address | Update address | |
delete_address | Delete address | |
| Bills | list_bills | List bills |
get_bill | Get bill | |
create_bill | Create bill | |
update_bill | Update bill | |
delete_bill | Delete bill | |
finalize_bill | Finalize bill | |
mark_bill_as_paid | Mark bill as paid | |
export_bills | Export bills | |
| Charges | list_charges | List charges |
get_charge | Get charge | |
create_offline_charge | Create offline charge | |
| Coupons | list_coupons | List coupons |
get_coupon | Get coupon | |
create_coupon | Create coupon | |
update_coupon | Update coupon | |
delete_coupon | Delete coupon | |
| Customers | list_customers | List customers |
get_customer | Get customer | |
create_customer | Create customer | |
update_customer | Update customer | |
delete_customer | Delete customer | |
credit_from_payment_method | Credit from payment method | |
delete_customer_metadata | Delete customer metadata | |
| E-Commerce Orders | list_orders | List orders |
get_order | Get order | |
create_order | Create order | |
update_order | Update order | |
| E-Commerce Products | list_ecommerce_products | List e-commerce products |
get_ecommerce_product | Get e-commerce product | |
create_ecommerce_product | Create e-commerce product | |
update_ecommerce_product | Update e-commerce product | |
delete_ecommerce_product | Delete e-commerce product | |
| E-Commerce SKUs | list_ecommerce_skus | List SKUs |
get_ecommerce_sku | Get SKU | |
create_ecommerce_sku | Create SKU | |
update_ecommerce_sku | Update SKU | |
delete_ecommerce_sku | Delete SKU | |
| Exports | list_exports | List exports |
request_export | Request export | |
download_export | Download export | |
| Invoices | list_invoices | List invoices |
get_invoice | Get invoice | |
create_invoice | Create invoice | |
update_invoice | Update invoice | |
pay_invoice_offline | Pay invoice | |
void_invoice | Void invoice | |
mark_invoice_uncollectible | Mark uncollectible | |
apply_balance_to_invoice | Apply balance | |
| Memberships | list_memberships | List members |
get_membership | Get member | |
create_membership | Create member | |
invite_member | Invite member | |
update_membership | Update member | |
delete_membership | Delete member | |
membership_ip_authorization | IP authorization | |
| Newsletters | list_newsletters | List newsletters |
get_newsletter | Get newsletter | |
create_newsletter | Create newsletter | |
update_newsletter | Update newsletter | |
delete_newsletter | Delete newsletter | |
| Payment Methods | list_payment_methods | List payment methods |
get_payment_method | Get payment method | |
create_payment_method | Create payment method | |
delete_payment_method | Delete payment method | |
| Refunds | list_refunds | List refunds |
cancel_refunds | Cancel refunds | |
| Plans | list_plans | List plans |
get_plan | Get plan | |
create_plan | Create plan | |
update_plan | Update plan | |
delete_plan | Delete plan | |
| Products | list_products | List products |
get_product | Get product | |
create_product | Create product | |
update_product | Update product | |
delete_product | Delete product | |
| Subscriptions | list_subscriptions | List subscriptions |
get_subscription | Get subscription | |
create_subscription | Create subscription | |
update_subscription | Update subscription | |
cancel_subscription | Cancel subscription | |
renew_subscription | Renew subscription | |
delete_subscription_phase | Delete phase | |
redeem_subscription | Redeem gift | |
| Vendors | list_vendors | List vendors |
get_vendor | Get vendor | |
create_vendor | Create vendor | |
update_vendor | Update vendor | |
delete_vendor | Delete vendor | |
export_vendors | Export vendors | |
| Webhooks | list_webhooks | List webhooks |
get_webhook | Get webhook | |
create_webhook | Create webhook | |
update_webhook | Update webhook | |
delete_webhook | Delete webhook |
Open API tools
Customer-facing tools served at https://mcp.pelcro.com/open. Public tools need no authentication; the rest act on the signed-in subscriber's own data.
| Resource | Tool | API |
|---|---|---|
| Customer | get_customer | Get customer |
update_customer | Update customer | |
list_eligible_plans | Eligible plans | |
| Subscriptions | change_subscription | Change subscription |
cancel_subscription | Cancel subscription | |
reactivate_subscription | Reactivate subscription | |
| Addresses | create_address | Create address |
update_address | Update address | |
| Discovery | open_api_discover | Search available endpoints by keyword |
open_api_call | Execute a curated endpoint |
Additional customer-facing endpoints are reachable via open_api_discover (search) and open_api_call (execute), restricted to a curated allowlist.
Health check
curl https://mcp.pelcro.com/health{ "status": "ok", "environment": "prd" }