MCP server

Meet the Gain.io MCP

Stop switching tabs to answer a question about a customer. Ask wherever you're working and the answer comes back with the deal and the ticket attached.

Works with Claude, ChatGPT, Cursor, Gemini, Grok and any client that speaks MCP.

Use cases

Questions that need both halves

The deal on one side, the ticket on the other, one customer in the middle. Every question below reads across both without being told where to look.

Pipeline

“Which deals closing this quarter have open support tickets?”

list_dealslist_tickets
Accounts

“Summarise everything that’s happened with Acme Corp since we signed them.”

get_activity_timeline
CSAT

“Draft a follow-up for the three accounts whose CSAT dropped after their last ticket.”

get_csat_scoresdraft_ticket_reply
Roadmap

“What feature requests came from customers on annual plans?”

list_feedback
Renewals

“Which tickets this week came from accounts up for renewal in the next 60 days?”

list_sla_status

Setup

One command, one connection

Server URL
https://mcp.gain.io/v2/connect
Transport
HTTP
Auth
OAuth 2.1 — sign in with your Gain.io account and approve on the consent screen. No tokens to copy, no headers to paste.

Settings → Connectors → Add custom connector. Name it Gain.io, paste https://mcp.gain.io/v2/connect, and leave the OAuth client ID / secret fields empty — Claude registers itself.

Click Add, then Connect, and finish in the browser: log in → Approve. Enable Gain.io in the search & tools menu of any chat.

claude mcp add --transport http gainio https://mcp.gain.io/v2/connect

Start claude, run /mcp, select gainio and choose Authenticate — the browser flow does the rest: log in → Approve.

Custom connectors need Developer mode: Settings → Apps & Connectors → Advanced settings → toggle it on. (Workspace plans: an admin may need to enable connectors first.)

Back in Apps & Connectors, Create a connector: name Gain.io, URL https://mcp.gain.io/v2/connect, authentication OAuth with the client fields left empty. Connect, log in → Approve, then add it in a chat via the + menu → Use connectors.

Settings → MCP → Add new MCP server. Or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gainio": {
      "url": "https://mcp.gain.io/v2/connect"
    }
  }
}

The MCP list shows gainio with a Needs login action — click it and finish in the browser: log in → Approve.

In the Gemini Enterprise admin console, open Integrations → Add MCP server. Paste https://mcp.gain.io/v2/connect and select OAuth — discovery and registration are automatic.

Each user connects once from their own account: log in → Approve.

The Gemini CLI doesn’t run the OAuth browser step for HTTP servers on all versions — use the console flow above.

Grok’s connector form is manual — register a client once. Find your workspace’s callback URL in Grok’s connector dialog, then:

curl -s -X POST https://mcp.gain.io/v2/register \
  -H 'content-type: application/json' \
  -d '{"client_name":"Grok","redirect_uris":["<GROK_CALLBACK_URL>"]}'

In Grok’s form: server URL https://mcp.gain.io/v2/connect, client ID from the response, client secret empty, authorization endpoint /v2/authorize, token endpoint /v2/token, token auth method none (PKCE). Connect, log in → Approve.

Any client supporting HTTP MCP transport with OAuth 2.1 works. Point it at https://mcp.gain.io/v2/connect — it registers itself, and you approve access in the browser.

After connecting, ask your agent “list my open deals in Gain.io”. If it comes back with data, you’re set.

Reference

What the server exposes

Read — contacts and dealslist_contactsget_contactlist_dealsget_deallist_taskslist_notesget_activity_timeline
Read — supportlist_ticketsget_ticketget_conversationlist_sla_statusget_csat_scores
Read — communitylist_feedbackget_roadmapget_changelog

On write access: read-only at launch, on purpose. An agent that can move a deal stage or send a ticket reply can also do it wrong, at scale, before anyone notices. So yours reads everything and drafts freely, but nothing it writes reaches a customer until a person sends it. Full write access is opt-in, later.

FAQ

Questions before you connect

What we hear most often about pointing an AI tool at the customer record.

Contact us

No. The MCP server is included in the plan you are already on, the same as every other feature. There is no AI tier to upgrade to, no connector add-on to buy and no charge per query, no matter how often your team asks.

No. Paste the server address into your AI tool, sign in with your Gain.io account and approve the consent screen. There are no tokens to generate, no keys to store and nothing to deploy. The whole setup happens in your AI tool’s settings.

Anything that supports HTTP MCP transport with OAuth. Claude, Claude Code, ChatGPT, Cursor, Gemini and Grok are covered step by step in the setup section above. Any other client that speaks MCP connects the same way, including one you have built yourself.

Not at launch. The server is read-only with draft-only writes, so your agent can compose a ticket reply or a note but a person has to send it. Full write access will arrive later as an explicit opt-in, switched off by default.

Yes. The connection is authorised as you, so your agent sees exactly what you see in Gain.io and nothing more. If you cannot open a record in the app, your agent cannot read it either. Removing someone’s access removes their agent’s access too.

Not by us. Gain.io does not train models on your data and does not send it anywhere except the assistant you connected. What that assistant does with it is covered by your agreement with them, so check the terms of your plan there.

Remove the connector in your AI tool, or revoke it under Settings, Connections in Gain.io. Access stops immediately and nothing further is served to that client. You can reconnect whenever you want by running the same setup again.

MCP server

Stop re-explaining your customers to your AI

One connection, both halves of the record — the deal and the ticket, on every account your agent touches.