Splid MCP
A Model Context Protocol (MCP) server that exposes Splid (splid.app) via tools, powered by the reverse‑engineered splid-js client.
Splid MCP Server
A Model Context Protocol (MCP) server that exposes Splid (splid.app) via tools, powered by the reverse‑engineered splid-js client.
- Language/Runtime: Node.js (ESM) + TypeScript
- Transport: Streamable HTTP (and stdio for local inspector)
- License: MIT
Quick start
- Install
npm install
- Configure env
Create a .env in project root:
CODE=YOUR_SPLID_INVITE_CODE
PORT=8000
- Build and run
npm run build
npm run dev
- Inspect locally
npm run inspect
Then connect to http://localhost:8000/mcp using "Streamable HTTP".
Tools
All tools support an optional group selector to override the default from CODE:
groupId?: stringgroupCode?: string(invite code)groupName?: string(reserved; not yet supported)
If none provided, the server uses the default group from CODE.
health
- Purpose: connectivity check
- Output:
{ ok: true }
whoami
- Purpose: show the currently selected group and its members
- Input: none
- Output: JSON containing group info and members
createExpense
- Purpose: create a new expense entry
- Input:
title: stringamount: number > 0currencyCode?: string(defaults to the group default when omitted)payers: { userId?: string; name?: string; amount: number > 0 }[](at least 1)profiteers: { userId?: string; name?: string; share: number in (0,1] }[](at least 1)- Optional group selector fields
- Rules:
- Names are case‑insensitive and resolved to member GlobalId; unknown names return a clear error.
- The sum of all
sharevalues must equal 1 (±1e‑6).
- Example (names):
{
"title": "Dinner",
"amount": 12.5,
"payers": [{ "name": "Alice", "amount": 12.5 }],
"profiteers": [{ "name": "Bob", "share": 0.6 }, { "name": "Alice", "share": 0.4 }]
}
- Example (userIds):
{
"title": "Dinner",
"amount": 12.5,
"payers": [{ "userId": "<GlobalId>", "amount": 12.5 }],
"profiteers": [{ "userId": "<GlobalId>", "share": 1 }]
}
listEntries
- Purpose: list recent entries in a group
- Input:
limit?: number(1..100, default 20)- Optional group selector fields
- Output: array of entries
getGroupSummary
- Purpose: show balances/summary for a group
- Input:
- Optional group selector fields
- Output: summary object (balances computed via Splid)
Streamable HTTP
- URL:
http://localhost:8000/mcp - No auth headers required; use MCP Inspector to test.
Troubleshooting
- "Bad Request: Server not initialized": refresh and reconnect; first POST must be
initialize. - 400 with share errors: ensure shares are in (0,1] and sum to 1.
- Unknown name: check exact member names in
whoamioutput.
Configuration
- Env variables:
CODE: Splid invite/join code for the default groupPORT(optional): default 8000
Acknowledgements
- Splid JS client: https://github.com/LinusBolls/splid-js
- MCP Server template / docs: https://github.com/InteractionCo/mcp-server-template
License
MIT
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Redmine
An MCP server for interacting with the Redmine project management system.
mcp-todo
A simple to-do list manager to record, track, and complete daily tasks.
Brandfolio - Make Your Brand Machine-Readable for AI
Your brand deserves consistency across every AI interaction. Brandfolio transforms your brand identity into a format that works with AI on every platform.
TimeCamp
Manage TimeCamp time entries and tasks through its API.
AIQBee
Connect AI assistants to your Aiqbee knowledge graph via MCP.
Todoist
An unofficial server for managing Todoist tasks, allowing agents to create, list, and complete them.
mcp-server-toggl
Team-wide Toggl Track time tracking, reporting, and workspace management via Reports API v3
MCP Fleet
A Python monorepo for AI-powered project management and productivity servers, utilizing the Claude API.
jCodeMunch-MCP
Token-efficient MCP server for GitHub source code exploration via tree-sitter AST parsing
Claude MCP Trello
Interact with Trello boards and cards via the Trello API, with built-in rate limiting and error handling.