{"apiVersion":"v1","directorySlug":"simsasplit-mcp-6a6f8863e0","title":"SimsaSplit","description":"SimsaSplit helps signed-in users manage shared expense groups through ChatGPT: list groups, create groups, add placeholder members, create invite links, send direct group invites, review balances and settlements, and create, update, or delete expenses.","pageUrl":"https://www.mcpbundles.com/skills/simsasplit-mcp-6a6f8863e0","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://simsasplit.simsala.dev/mcp","hostedMcpUrl":null,"toolCount":11,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.simsala/simsasplit-mcp-6a6f8863e0","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"list_groups","description":"Use this when the user asks which SimsaSplit groups they can access. Paginated via limit/offset; follow pagination.nextOffset while hasMore is true. Return names, currencies, and counts; use the stable group reference only for follow-up tools.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"maximum":2147483000,"minimum":0}}},"title":"Gruppen anzeigen","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_groups","displayName":"Gruppen anzeigen"},{"name":"create_group","description":"Use this when the user wants to create a new SimsaSplit group. Before calling it, ask whether to prepare unassigned placeholder names for people who will join later, unless the user already provided names or explicitly wants no placeholder names.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"currency":{"type":"string","default":"EUR","pattern":"^[a-zA-Z]{3}$","maxLength":3,"minLength":3},"placeholderNames":{"type":"array","items":{"type":"string","maxLength":120,"minLength":1}}}},"title":"Gruppe erstellen","logicalName":"create_group","displayName":"Gruppe erstellen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_group_placeholder_names","description":"Use this when the user wants to add unassigned placeholder names to an existing SimsaSplit group for people who do not have an app account yet or will join later.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId","names"],"properties":{"names":{"type":"array","items":{"type":"string","maxLength":120,"minLength":1},"minItems":1},"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupName":{"type":"string","maxLength":120,"minLength":1}}},"title":"Freie Namen hinzufuegen","logicalName":"add_group_placeholder_names","displayName":"Freie Namen hinzufuegen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"suggest_group_invites","description":"Use this only when the user asks to find existing SimsaSplit friends who may match unassigned names in a group or wants to prepare direct invitations. Paginated via limit/offset; follow pagination.nextOffset while hasMore is true. It only returns relevant names and does not send invitations.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"maximum":2147483000,"minimum":0},"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupName":{"type":"string","maxLength":120,"minLength":1}}},"title":"Passende Freunde fuer Einladungen finden","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"suggest_group_invites","displayName":"Passende Freunde fuer Einladungen finden"},{"name":"send_direct_group_invites","description":"Use this only after the user explicitly confirms suggested SimsaSplit friend matches and wants direct group invites to be sent by push.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId","invitees"],"properties":{"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invitees":{"type":"array","items":{"type":"object","required":["mateName"],"properties":{"mateName":{"type":"string","maxLength":120,"minLength":1},"placeholderName":{"type":"string","maxLength":120,"minLength":1}}},"minItems":1},"groupName":{"type":"string","maxLength":120,"minLength":1}}},"title":"Direkte Einladungen senden","logicalName":"send_direct_group_invites","displayName":"Direkte Einladungen senden","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_group_invite_link","description":"Use this when the user wants a shareable invite link for a SimsaSplit group. Return the invite URL directly and mention the group name, not internal IDs.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId"],"properties":{"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupName":{"type":"string","maxLength":120,"minLength":1}}},"title":"Einladungslink erstellen","logicalName":"create_group_invite_link","displayName":"Einladungslink erstellen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_group_expenses","description":"List expenses in a group, newest first. Use limit and offset; continue with pagination.nextOffset while hasMore is true. Use this to retrieve older expenses without recalculating balances.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"maximum":2147483000,"minimum":0},"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"title":"Gruppenausgaben anzeigen","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_group_expenses","displayName":"Gruppenausgaben anzeigen"},{"name":"get_group_summary","description":"Use this when the user asks for balances, settlements, members, or recent expenses in a SimsaSplit group. limit/offset paginate recentExpenses only; balances, settlements and members cover the entire group. Follow pagination.nextOffset or use list_group_expenses for older expenses. Mention the group name, not the internal group id.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"maximum":2147483000,"minimum":0},"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"title":"Gruppe zusammenfassen","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_group_summary","displayName":"Gruppe zusammenfassen"},{"name":"create_equal_expense","description":"Use this when the user wants to save a new expense in SimsaSplit. Default to an equal split with participantNames or all active group people. If the user explicitly requests shares, weights, Anteile, or an unequal split, use shareParticipants. Before calling it, make sure amount, description, group, payer, and participants are clear.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["groupId","description","amountCents"],"properties":{"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"spentAt":{"type":"string"},"groupName":{"type":"string","maxLength":120,"minLength":1},"payerName":{"type":"string","maxLength":120,"minLength":1},"amountCents":{"type":"integer","maximum":100000000,"exclusiveMinimum":0},"participantNames":{"type":"array","items":{"type":"string","maxLength":120,"minLength":1},"minItems":1},"shareParticipants":{"type":"array","items":{"type":"object","required":["memberName","shareUnits"],"properties":{"memberName":{"type":"string","maxLength":120,"minLength":1},"shareUnits":{"type":"integer","maximum":1000000,"exclusiveMinimum":0}}},"minItems":1}}},"title":"Ausgabe eintragen","logicalName":"create_equal_expense","displayName":"Ausgabe eintragen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_expense","description":"Use this when the user wants to edit an existing SimsaSplit expense after explicit confirmation. Use participantNames for an equal split or shareParticipants for weighted shares. Refer to people by the names returned from get_group_summary.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["expenseId"],"properties":{"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expenseId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupName":{"type":"string","maxLength":120,"minLength":1},"payerName":{"type":"string","maxLength":120,"minLength":1},"amountCents":{"type":"integer","maximum":100000000,"exclusiveMinimum":0},"participantNames":{"type":"array","items":{"type":"string","maxLength":120,"minLength":1},"minItems":1},"shareParticipants":{"type":"array","items":{"type":"object","required":["memberName","shareUnits"],"properties":{"memberName":{"type":"string","maxLength":120,"minLength":1},"shareUnits":{"type":"integer","maximum":1000000,"exclusiveMinimum":0}}},"minItems":1}}},"title":"Ausgabe bearbeiten","logicalName":"update_expense","displayName":"Ausgabe bearbeiten","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_expense","description":"Use this only after the user explicitly confirms that an existing SimsaSplit expense should be deleted. Mention the group name and expense description, not the stable expense reference.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["expenseId"],"properties":{"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expenseId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupName":{"type":"string","maxLength":120,"minLength":1}}},"title":"Ausgabe loeschen","logicalName":"delete_expense","displayName":"Ausgabe loeschen","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=SimsaSplit&config=eyJ1cmwiOiAiaHR0cHM6Ly9zaW1zYXNwbGl0LnNpbXNhbGEuZGV2L21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22SimsaSplit%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsimsasplit.simsala.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22SimsaSplit%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsimsasplit.simsala.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=SimsaSplit&connectorUrl=https%3A%2F%2Fsimsasplit.simsala.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"SimsaSplit\" --url \"https://simsasplit.simsala.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/simsasplit-mcp-6a6f8863e0","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/simsasplit-mcp-6a6f8863e0/tools/{tool}","mcpServerUrl":"https://simsasplit.simsala.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/simsasplit-mcp-6a6f8863e0?live=1"}