Receipts · Last updated October 19, 2026
Connect an assistant
Step-by-step setup for connecting Receipts to your assistant or coding agent, with config you can copy. Read Using an AI assistant first: your assistant acts as you, and host actions it takes are marked AGENT-ASSISTED for everyone in the pool. Points only.
What you need
- The server:
https://ivegotreceipts.com/mcp. It's a remote MCP server over Streamable HTTP. There's no SSE endpoint, so pick "HTTP" or "Streamable HTTP" when an app asks. - Sign-in (OAuth): the usual way. Your app sends you to Receipts, you sign in with the emailed link, and you choose what it can do. Nothing to copy. Receipts supports OAuth 2.1 with dynamic client registration and PKCE, so the app registers itself and you don't need a client ID.
- Or a token: for apps that can only send a fixed header. Make one on your
account page under Add an AI assistant, and
the app sends it as
Authorization: Bearer igr_.... The token is shown once, so copy it straight into the app.
Where an app has both, the steps below show both. Sign-in is the better choice when it works: there's no secret sitting in a config file.
Give it the least access it needs
Whichever way you connect, you choose what the assistant can do: on our sign-in page for OAuth, or with the checkboxes when you make a token.
- Read: see your pools, the standings and your picks. Enough for "what did I pick?" or "who's winning?".
- Play: join pools, make and change your picks, leave a pool.
- Host: create pools and run the ones you own, including locking and ending, which can't be undone. Only add it to an assistant nobody else can talk to.
Start with Read, and add Play or Host when you want it to do more. A token can also expire on its own (30 days, 90 days or a year); pick one if you're only trying an app out. Different apps get different connections, so a coding agent can have Read while your phone's assistant has Play.
Claude (claude.ai and Claude Desktop)
- Open Customize → Connectors, then + Add → Add custom connector.
- Name it
Receiptsand paste the URL:
https://ivegotreceipts.com/mcp
- Continue, leave the OAuth client on the recommended option, and sign in when it sends you to Receipts.
On a Team or Enterprise plan, an owner adds the connector under Organization settings → Connectors first; then you press Connect under Customize → Connectors.
With a token
On the same screen, choose No sign in and add a request header:
Authorization: Bearer igr_...
ChatGPT
This is on chatgpt.com in a browser, on Plus, Pro or a work plan.
- Turn on developer mode: Settings → Security and login → Developer mode. Many accounts have it on already. (In the desktop app, the "Developer mode" under browser settings is something else; leave it off.) On a work account, an admin may have to allow developer mode for the workspace first.
- Go to chatgpt.com/plugins, press Add, then Create MCP App. Not the MCPs tab: servers added there are for Codex, and chats can't use them.
- Name it
Receipts, and under Connection paste the server URL:
https://ivegotreceipts.com/mcp
- Choose OAuth for authentication, confirm, and create it. Sign in when it sends you to Receipts.
- In a chat, press +, choose Developer mode and tick Receipts. It's off in every new chat until you do.
ChatGPT signs in with OAuth only. It can't send a token, so there's no token form here.
Gemini app
- At gemini.google.com, open Settings → Connected Apps.
- Under Custom apps, press Add a custom app, paste the URL and press Next:
https://ivegotreceipts.com/mcp
- Sign in when it sends you to Receipts. Once added on the web, it's on your phone too.
Google limits custom apps to personal accounts (not work or school) in the US, aged 18 and over, in English, with Keep Activity on: in Gemini, open Settings → Activity (or myactivity.google.com/product/gemini) and turn it on. If Agree and continue on Google's linking page does nothing, one of these is usually why. Sign-in only: there's no token form.
Cursor
Add Receipts to ~/.cursor/mcp.json (every project) or
.cursor/mcp.json (one project). Cursor signs you in the first time it
connects:
{
"mcpServers": {
"receipts": {
"url": "https://ivegotreceipts.com/mcp"
}
}
}
With a token
Keep the token in an environment variable, IGR_TOKEN, rather than in
the file:
{
"mcpServers": {
"receipts": {
"url": "https://ivegotreceipts.com/mcp",
"headers": {
"Authorization": "Bearer ${env:IGR_TOKEN}"
}
}
}
}
VS Code (GitHub Copilot)
Add Receipts to .vscode/mcp.json in your project, or run
MCP: Open User Configuration for every project. Note "servers", not
"mcpServers", and "type": "http". VS Code signs you in when it
first connects:
{
"servers": {
"receipts": {
"type": "http",
"url": "https://ivegotreceipts.com/mcp"
}
}
}
With a token
VS Code asks for the token once and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "igr-token",
"description": "Receipts token (igr_...)",
"password": true
}
],
"servers": {
"receipts": {
"type": "http",
"url": "https://ivegotreceipts.com/mcp",
"headers": {
"Authorization": "Bearer ${input:igr-token}"
}
}
}
}
Devin Desktop (formerly Windsurf)
In the Cascade panel, open the … menu and choose Open MCP config
file, which opens mcp_config.json wherever your version keeps it. The
key is serverUrl:
{
"mcpServers": {
"receipts": {
"serverUrl": "https://ivegotreceipts.com/mcp"
}
}
}
With a token
{
"mcpServers": {
"receipts": {
"serverUrl": "https://ivegotreceipts.com/mcp",
"headers": {
"Authorization": "Bearer ${env:IGR_TOKEN}"
}
}
}
}
OpenClaw
From the command line, then sign in:
openclaw mcp add receipts --url https://ivegotreceipts.com/mcp --transport streamable-http
openclaw mcp login receipts
Or in ~/.openclaw/openclaw.json:
{
"mcp": {
"servers": {
"receipts": {
"url": "https://ivegotreceipts.com/mcp",
"transport": "streamable-http",
"auth": "oauth"
}
}
}
}
With a token
Leave out "auth": "oauth": with it on, OpenClaw ignores a fixed
Authorization header.
{
"mcp": {
"servers": {
"receipts": {
"url": "https://ivegotreceipts.com/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer ${IGR_TOKEN}"
}
}
}
}
}
Gemini CLI
Use httpUrl, not url: in Gemini CLI,
url means an SSE server, and Receipts doesn't have one. In
~/.gemini/settings.json (or .gemini/settings.json in a
project); Gemini CLI finds our sign-in on its own:
{
"mcpServers": {
"receipts": {
"httpUrl": "https://ivegotreceipts.com/mcp"
}
}
}
With a token
gemini mcp add --transport http --header "Authorization: Bearer igr_..." receipts https://ivegotreceipts.com/mcp
or, in the file:
{
"mcpServers": {
"receipts": {
"httpUrl": "https://ivegotreceipts.com/mcp",
"headers": {
"Authorization": "Bearer igr_..."
}
}
}
}
Antigravity CLI
Type /mcp to open the MCP manager, or edit
~/.gemini/config/mcp_config.json (every project) or
.agents/mcp_config.json (one project). The key is
serverUrl, not url or httpUrl. Antigravity signs
you in on its own:
{
"mcpServers": {
"receipts": {
"serverUrl": "https://ivegotreceipts.com/mcp"
}
}
}
With a token
{
"mcpServers": {
"receipts": {
"serverUrl": "https://ivegotreceipts.com/mcp",
"headers": {
"Authorization": "Bearer igr_..."
}
}
}
}
Microsoft Copilot Studio
- In your agent, open Tools → Add a tool → New tool → Model Context Protocol.
- Server name
Receipts, a short description, and the server URL:
https://ivegotreceipts.com/mcp
- For authentication, choose OAuth 2.0 with type Dynamic discovery. Then Add tool, Create a new connection, sign in to Receipts, and Add to agent.
With a token
Choose API key, type Header, header name Authorization.
When you make the connection, paste the whole value, including the word Bearer:
Bearer igr_...
An agent you publish acts with whichever connection it uses. If other people can talk to it, give it Read only.
Meta Muse
Muse has no setting for an MCP server URL. It can build its own custom connector from an API description instead:
- On your account page, press Set up Muse. It makes a token that can read and pick (not host) and shows you what to send.
- Ask Muse:
Build a custom connector for Receipts from the OpenAPI description at
https://ivegotreceipts.com/api/v1/openapi.json
It authenticates with the header "Authorization: Bearer <token>".
- When Muse asks for the token, save it in Muse's Secure Credentials Store. Don't paste it into the chat.
Anything else
Any app that can add a remote MCP server over Streamable HTTP can use
https://ivegotreceipts.com/mcp, with sign-in or a token as above. An app that calls APIs
instead can read the OpenAPI 3.1 description at
/api/v1/openapi.json and send a token. A short
summary for AI tools is at /llms.txt.
Menus move. If a step here doesn't match what you see, the app's own help is the place to check.
Revoking access
Every connection, signed in or token, is listed on your account page with when it was last used. Revoke one there and it's cut off at its very next request. To change what a connection can do, revoke it and connect again. If a token ends up somewhere it shouldn't (a shared repo, a chat, a screenshot), revoke it right away and make a new one.
Questions: hello@ivegotreceipts.com