MCP Setup
Connect Claude, ChatGPT, Cursor or VS Code to the Streakfox MCP server.
Streakfox exposes an MCP server for agents that set up and operate retention programs.
Connect your assistant
In your program’s connection settings, choose Connect Cursor or Connect VS Code. Approve the install in your assistant, then ask: “Help me set up a streak program.” No token copying or configuration file editing is needed.
These buttons use the official Cursor install links and VS Code MCP install links. Your browser may ask permission to open the installed app. This does not install WordPress plugins or grant access to your WordPress server.
Each connection uses a separate customer token, scoped to the project’s workspace, with a 90-day expiry. Personal projects use your account’s accessible projects. Use Manage assistant access → Disconnect to revoke a connection immediately. Streakfox stores token hashes, and sends the token directly to the installed app via its local install link.
Claude, ChatGPT and other MCP clients
Add https://mcp.streakfox.com/mcp as a custom connector. When the client asks, sign in with Streakfox and choose Allow. There's no token to copy.
Under the hood this is standard MCP authorization (OAuth 2.1 with PKCE). The server answers unauthenticated requests with a WWW-Authenticate challenge that points to https://mcp.streakfox.com/.well-known/oauth-protected-resource/mcp. Clients identify themselves with a Client ID Metadata Document hosted on their own site, or older clients register themselves. They then ask for the mcp scope and the https://mcp.streakfox.com/mcp resource. Each token only works on the server it was issued for: MCP tokens don't work on the customer API, and Zapier tokens don't work here.
The consent page shows what Streakfox knows about the app. An app identified by a metadata document shows its domain. An app that registered itself is marked unverified, with the address it will send you back to. Only continue if you started from that app. The connection appears under Connected apps on a program's Connections tab, where Disconnect stops it straight away.
Tools
| Tool | Purpose |
|---|---|
list_projects | List projects available to the authenticated token. |
create_project | Create a project in the token's user or organization scope. |
list_programs | List programs for an authorized project. |
create_program | Create a program/widget for an authorized project. |
update_program | Update program name, action, cadence, target, timezone, or status. |
create_or_rotate_webhook_secret | Create or rotate a program inbound webhook secret. |
get_install_snippets | Return the webhook snippet that counts and the widget that displays. |
record_event | Record a program event through MCP. |
get_streak_state | Read current program state for a subject. |
list_at_risk_users | Find subjects whose streak has not updated since a cutoff date. |
create_milestone | Create or update a milestone for a program's action. |
Setup Flow
- Connect your assistant from the dashboard.
- Approve the install in your assistant.
- Call
list_projectsorcreate_project. - Call
create_programorupdate_program. - Call
create_or_rotate_webhook_secretif inbound webhooks will record events. - Call
get_install_snippetsfor widget, REST, webhook, and MCP examples. - Call
record_event, thenget_streak_stateto verify the event updated state.
Example Tool Arguments
Create a program:
{
"projectId": "PROJECT_ID",
"name": "Activation streak",
"eventKey": "activation_complete",
"mode": "continuous",
"cadence": "daily",
"target": 1,
"status": "live"
}Record an event:
{
"projectId": "PROJECT_ID",
"userHash": "agent-user-123",
"event": "activation_complete",
"externalService": "internal-agent",
"integrationId": "support-resolution-agent",
"meta": {
"ticketId": "TCK-123"
}
}MCP events are stored with source: "mcp" so they appear separately in event-source analytics while updating the same program state.