What it is
splitMCP is a remotely hosted MCP server that lets AI applications interact with Splitwise conversationally.
Users can connect their MCP-compatible AI client and ask things like:
- “Who do I owe money to right now?”
- “Add lunch for 1200 split equally with Riya.”
- “Show my groups and recent balances.”
The server exposes Splitwise functionality as MCP tools over HTTP/SSE transport.
What I built
I implemented the complete stack around:
- MCP tool exposure
- Remote HTTP/SSE transport
- OAuth flows and session handling
- Splitwise API integration
- Hosting and deployment
- Landing page and onboarding UX
The project started around stdio-based MCP transports, but evolved into a fully remote MCP service accessible directly from AI apps.
Challenges and learnings
The biggest challenge was learning how MCP clients actually behave in practice.
A major discovery was that many clients — including some large platforms — do not fully follow the MCP protocol spec consistently, especially around authentication and Dynamic Client Registration (DCR).
That led to a lot of debugging around:
- OAuth edge cases
- Broken DCR implementations
- SSE connection behavior
- Client-specific compatibility quirks
- Auth chaining for smoother onboarding
I eventually rolled parts of my own OAuth handling flow to make the sign-in experience work more reliably across clients.
Operating the system
Unlike local-only MCP demos, splitMCP is continuously hosted as a public service.
That introduced operational challenges around:
- Long-running server stability
- Managing auth securely
- Handling unreliable client behavior
- Maintaining compatibility as MCP tooling evolves
The project became a practical deep dive into real-world MCP infrastructure, OAuth systems, and protocol interoperability beyond toy examples.