AI Assistant · MCP
Connect your AI assistant to Waves
Use the Waves MCP (Model Context Protocol) server to let your AI assistant read your groups and add expenses for you, as you. It works with Claude, ChatGPT, Cursor, VS Code and any MCP client, and it stays off until you set it up.
Server address
https://app.wavs.co.in/api/mcp- Works with
- Claude
- ChatGPT
- Cursor
- VS Code
- Any MCP client
Updated · Oct 15, 2026


What is this?
MCP is a standard way for AI assistants to use software that is not built in. With Waves connected, your assistant can read your groups, check balances and add expenses, using the same permissions you already have in the app. It connects to your account, not to Waves in general: it cannot see a group you are not in, and nobody else’s assistant can see yours.
Sees only your data
Same permissions as your app
Optional and easy to set up
How sign-in works
It is the ordinary OAuth flow, and your client does all of it. You only paste the address.
- 1
Add the address
Add the server address in your MCP client.
- 2
Approve in your browser
You are sent to Waves to sign in and approve access.
- 3
Start using it
Your assistant can now read your groups and add expenses.
Waves does not vouch for anybody else’s software, and the approval screen says so. Approve only assistants you chose to install.
Set it up
Pick your client. If a menu is worded differently in your version, look for “add a custom connector” or “add an MCP server”.
- 1Open Claude on the web or the desktop app and go to the connectors settings.
- 2Add a custom connector, paste the server address above, and save.
- 3Press Connect. A Waves page opens in your browser: sign in and approve.
- 4Start a chat and ask about your groups.
Server address
https://app.wavs.co.in/api/mcpClaude Code, in a terminal
claude mcp add --transport http waves https://app.wavs.co.in/api/mcpThen run /mcp inside Claude Code and choose Waves to sign in.
- 1In ChatGPT, open the settings and look for connectors. If it asks, turn on developer mode. Custom connectors are not on every plan.
- 2Add a new connector, name it Waves, and paste the server address above as the MCP server URL.
- 3If it asks for authentication, choose OAuth.
- 4Create it, then sign in and approve on the Waves page that opens.
Server address
https://app.wavs.co.in/api/mcp- 1Open the MCP settings, or edit mcp.json in your home .cursor folder (or .cursor/mcp.json inside a project).
- 2Add the entry below and save.
- 3Cursor shows Waves as needing sign-in. Choose it, approve in the browser, and the tools appear.
Server address
https://app.wavs.co.in/api/mcp.cursor/mcp.json
{
"mcpServers": {
"waves": {
"url": "https://app.wavs.co.in/api/mcp"
}
}
}- 1Create .vscode/mcp.json in your project, or run “MCP: Add Server” from the command palette and choose HTTP.
- 2Add the entry below and save.
- 3Start the server from the file. VS Code opens the Waves sign-in; approve it and the tools are available in chat.
Server address
https://app.wavs.co.in/api/mcp.vscode/mcp.json
{
"servers": {
"waves": {
"type": "http",
"url": "https://app.wavs.co.in/api/mcp"
}
}
}- 1Add a remote MCP server that uses streamable HTTP, with the address above.
- 2Your client must support OAuth sign-in. It finds where to sign in on its own: an unauthenticated call is answered with 401 and a pointer to the metadata document below.
- 3Most clients register themselves with the sign-in server, so there is nothing else to copy. If yours asks for a client ID, write to us.
- 4Replies are plain JSON over POST. There is no session and no event stream.
Server address
https://app.wavs.co.in/api/mcpCheck the address from a terminal
curl -i -X POST https://app.wavs.co.in/api/mcp \
-H 'content-type: application/json' -d '{}'OAuth discovery document
https://app.wavs.co.in/.well-known/oauth-protected-resource/api/mcpA 401 with a WWW-Authenticate header means the server is up and waiting for sign-in.
What it can do
These are all the tools Waves offers an assistant, and nothing else. Every write is a named, validated operation, not raw database access.
whoamiReadSays which account the assistant is acting as.list_groupsReadLists your groups.list_membersReadLists the people in a group.get_balancesReadShows who owes what in a group, per person and currency.settlement_planReadShows who should pay whom to settle a group, plus payments waiting to be confirmed.list_settlementsReadLists the settlements recorded in a group and whether they are confirmed.list_expensesReadLists a group’s expenses, newest first.list_agent_writesReadLists everything an assistant has changed on your behalf.payment_linkReadBuilds a UPI or PayPal link for you to open and pay in your own app. Nothing is paid by building it.create_groupWriteCreates a group with you as its admin.add_expenseWriteAdds an expense to a group. The split is recomputed by Waves, not trusted from the assistant.add_expense_with_personWriteAdds an expense between you and one person, in your one-to-one group with them.edit_expenseWriteCorrects an expense by adding a new version. History is kept.delete_expenseWriteRemoves an expense. It is a soft delete and the group can see it.record_settlementWriteWrites down that one member paid another. It does not pay anyone.add_peopleWriteAdds people to a group by name, as members without an account yet.invite_linkWriteReturns the group’s join link to send to someone.
Amounts travel as whole minor units (paise or cents), never as floating point.
What it can never do
Move your money
No tool pays anybody. Recording a settlement only writes down that a payment happened; the paying stays yours, in your own banking app.
Reach past your account
It runs as you, under the same database rules as the app. It cannot see a group you are not in.
Change things without a record
Every change it makes is listed for you: ask it, or read the list_agent_writes tool. A single expense and a day’s writes each have a ceiling, enforced in the database.
Access hidden data
It sees what you see in the app and nothing else. There is no admin key in this path and no way to run raw queries.
Disconnect
You can remove the connection at any time from your Waves account.
1. Open Settings
In the Waves app or on the web.
2. Go to Connected apps
Find your AI assistant in the list.
3. Disconnect
Its sign-in is cancelled and it has to ask for approval again.
You can also remove Waves from your assistant’s own connector list. A sign-in token it already holds can keep working for up to an hour after you disconnect.
Running it yourself
You can also run the Waves MCP server on your own machine. It is open source, speaks stdio, and signs in with a six-digit code sent to your email. It is meant for developers; use the hosted address above otherwise.
View self-hosting guide
- Open source on GitHub
- Runs on your machine over stdio
- Read-only mode available
Questions
View all FAQsIs this on by default?
No. Nothing happens until you add the address to an assistant and approve it. Waves works the same whether or not you ever do.
Can I use this with friends and family?
Yes. Each person connects their own assistant to their own account, and an assistant only acts as the person who approved it. A group you share is the same group for all of you.
Can an assistant pay my friends?
No. It can write down that you settled up and hand you a payment link, but you open the link and pay in your own app.
Will my group see what it adds?
Yes. An expense an assistant adds is a real entry in the group, like one you added yourself. Try it on a throwaway group first.
Can I make it read-only?
Not on the hosted address. Most assistants ask before running a tool that changes something, so keep that on. The local server has a read-only mode.
My client cannot connect. What now?
Check that the address is exactly as shown, ending in /api/mcp, and that your client supports OAuth sign-in for remote servers. If it still fails, write to us with the client name.
Questions about any of this: hello@wavs.co.in
