Partly Exact Split
Split expenses in cents with equal/weighted shares and payer advances. No account or payments.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"exact-split": {
"url": "https://partly-exact-split.paul-brousses.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://partly-exact-split.paul-brousses.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟢calculate_shared_expenses(currency, participants, expenses)
Calculate balances and reimbursement suggestions for 2–30 participants across 1–100 expenses with different payers and equal or weighted shares. Uses integer cents, deterministic largest-remainder allocation, and offsets debts. Supported single currencies: EUR, USD, GBP, CHF, CAD; no conversion. The tool is stateless and cannot access accounts, fetch data, store results or transfer money. Use aliases when possible.
Esquema de entrada
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"CHF",
"CAD"
]
},
"participants": {
"minItems": 2,
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Display label or alias. Do not include bank, email or other sensitive identifiers."
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}
},
"expenses": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"amountCents": {
"type": "integer",
"minimum": 1,
"maximum": 100000000,
"description": "Positive integer minor units: 18.34 becomes 1834. Never pass floating currency values."
},
"payerId": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"shares": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"additionalProperties": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"description": "Participant IDs mapped to positive whole-number weights. Omit a participant to exclude them; all 1 means equal shares."
}
},
"required": [
"amountCents",
"payerId",
"shares"
],
"additionalProperties": false
}
}
},
"required": [
"currency",
"participants",
"expenses"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"CHF",
"CAD"
]
},
"totalCents": {
"type": "integer",
"minimum": 1,
"maximum": 1000000000
},
"participants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"name": {
"type": "string"
},
"paidCents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"owedCents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"balanceCents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"paidCents",
"owedCents",
"balanceCents"
],
"additionalProperties": false
}
},
"transfers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fromId": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"toId": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,39}$"
},
"amountCents": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"fromId",
"toId",
"amountCents"
],
"additionalProperties": false
}
}
},
"required": [
"currency",
"totalCents",
"participants",
"transfers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia