Refiner MCP server
17 operations0 webhooks
Identify users, track events, store and tag survey responses, read NPS and CSAT reports, and manage contacts, surveys and segments with Refiner.
Try Refiner with your agent
Connect Refiner, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in Refiner on my account, then run one read-only example and show me the result.
Refiner tools and triggers
Tools are what your agent can do in Refiner through Corsair's MCP server. Triggers are the Refiner events a routine can start from.
Forms
- ArchiveWrite
Archive a survey; Refiner archives rather than deletes, and an archived survey still appears under all_with_archived
forms.archive
- DuplicateWrite
Duplicate a survey into a new draft under a new name
forms.duplicate
- HistoryRead-only
List the previous versions of a survey, each with its full configuration and question set
forms.history
- ListRead-only
List surveys by state, optionally with their configuration and response and view counts
forms.list
- PublishWrite
Publish a survey, or unpublish it with published: false so it stops collecting
forms.publish
Contacts
- DeleteDestructive
Delete a contact and all their survey responses; overwrite traits with users.identify instead when the responses must survive
contacts.delete
- GetRead-only
Read one contact and everything on record for them by user ID, email or Refiner UUID
contacts.get
- ListRead-only
List contacts with their traits, segments and account, filtered by survey or segment
contacts.list
Responses
- ListRead-only
List survey responses and views, filtered by survey, segment, tag, date, answers or contact traits
responses.list
- StoreWrite
Store a survey response for a user on an existing survey, to import history or feed a custom survey UI. Answers go in as top-level keys named by question identifier, such as { id: 'user-1', form_uuid, nps: 9, feedback: 'Fast setup' }
responses.store
- TagWrite
Add tags to an existing survey response, up to 20
responses.tag
Segments
- ListRead-only
List segments, reporting whether each is hand-curated or computed
segments.list
- SyncWrite
Add a user to a manual segment, or remove them, creating the contact when no match exists
segments.sync
Users
- IdentifyWrite
Identify a user by ID or email, creating the contact on first sight. Every other top-level key is saved as a trait, such as { id: 'user-1', plan: 'pro', signed_up_at: '2024-01-15' }
users.identify
- TrackWrite
Track a named event for a user, creating the contact when no match exists
users.track
Account
- GetRead-only
Read the subscription plan, monthly usage against each limit, and the environments in the account
account.get
Reporting
- GetRead-only
Compute an NPS, CSAT, ratings, distribution or count report over a date range and any filters
reporting.get
Connect Refiner to Claude, ChatGPT or Cursor
- 1
Connect Refiner in Corsair
Add your Refiner API key once in Corsair. Corsair stores the credential encrypted and makes the Refiner API calls for your agent, so it never goes into a prompt or a config file. Connect Refiner
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs Refiner. On a ChatGPT personal plan, connect Refiner here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, Refiner's read and write operations run right away and its 1 destructive operation waits for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/refiner, add the Refiner plugin, and connect with an API key. Then call methods like corsair.refiner.api.account.get() from your app. Corsair keeps each tenant isolated.
Yes. Refiner requires an API key from your Refiner account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit Refiner, GitHub, Notion, Stripe, and the rest. Trigger Refiner from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for identify users, track events, store and tag survey responses, read NPS and CSAT reports, and manage contacts, surveys and segments with Refiner. Common builds include sync jobs, admin tooling, and agents that call Refiner APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per Refiner API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/refiner in the open repo. When Refiner ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your Refiner data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store Refiner data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put Refiner on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 1 destructive Refiner operation. You can change a link's mode at hub.corsair.dev/me.