credit-note
Credit notes against an invoice or standalone: drafts, finalization, rendering, totals.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen credit_note_update
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": {
"credit-note": {
"command": "uvx",
"args": [
"https://github.com/theluckystrike/mcp-servers/releases/download/v0.21.0/billing-docs.mcpb"
]
}
}
}Paquetes ejecutables
0.21.0stdio0.22.0stdioPuntos de conexión remotos
https://mcp.zovo.one/mcp/credit-note-icsstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟡credit_note_create(recipient, reason, currency, lines, invoice_ref, ...)
Issue a credit note against an invoice, or standalone: the recipient, the reason (returned goods, overcharge, discount correction, service issue, other), line items with quantity, unit price and tax rate, and the currency. Returns a draft you can still revise; credit_note_finalize burns the final CN number.
Esquema de entrada
{
"type": "object",
"properties": {
"recipient": {
"type": "string",
"maxLength": 200,
"description": "Who the credit is for, e.g. Acme GmbH"
},
"reason": {
"type": "string",
"enum": [
"returned_goods",
"overcharge",
"discount_correction",
"service_issue",
"other"
],
"description": "Why the credit is issued: returned_goods, overcharge, discount_correction, service_issue or other"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO code the credit is in"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 500,
"description": "What is being credited, e.g. Returned: 3 x USB-C cable"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000,
"description": "How many, e.g. 3 or 2.5 hours"
},
"unit_price_minor": {
"type": "integer",
"minimum": 0,
"maximum": 100000000000000,
"description": "Unit price in whole minor units (integer cents). 10420 is EUR 104.20"
},
"tax_rate": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Tax rate in percent, e.g. 23 for 23%. Default 0"
}
},
"required": [
"description",
"quantity",
"unit_price_minor"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 100,
"description": "What is being credited, line by line"
},
"invoice_ref": {
"type": "string",
"maxLength": 200,
"description": "The invoice this credits, e.g. INV-2026-0042. Omit for a standalone credit"
},
"reason_detail": {
"type": "string",
"maxLength": 200,
"description": "One line of specifics, e.g. Client was billed 10 seats, used 7"
},
"issue_date": {
"type": "string",
"maxLength": 10,
"description": "The date the credit is issued, YYYY-MM-DD. Default today; a future date is refused"
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "Text printed at the foot of the document, e.g. how the credit will be settled"
},
"duplicate_ok": {
"type": "boolean",
"description": "Create it even though an identical draft or note exists, for a genuinely repeated credit. Default false"
}
},
"required": [
"recipient",
"reason",
"currency",
"lines"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡credit_note_update(id, recipient, reason, currency, lines, ...)
Change a draft credit note while it is still a draft: recipient, reason, lines, currency, invoice reference, issue date or notes. Pass only what changes; new lines replace all old ones. A finalized note is immutable and is refused by name.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "The draft id, e.g. CN-DRAFT-2026-0001"
},
"recipient": {
"type": "string",
"maxLength": 200
},
"reason": {
"type": "string",
"enum": [
"returned_goods",
"overcharge",
"discount_correction",
"service_issue",
"other"
]
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO code. Changing it reprices nothing: the stored minor units carry over, so only change it to fix a wrong currency"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 500,
"description": "What is being credited, e.g. Returned: 3 x USB-C cable"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000,
"description": "How many, e.g. 3 or 2.5 hours"
},
"unit_price_minor": {
"type": "integer",
"minimum": 0,
"maximum": 100000000000000,
"description": "Unit price in whole minor units (integer cents). 10420 is EUR 104.20"
},
"tax_rate": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Tax rate in percent, e.g. 23 for 23%. Default 0"
}
},
"required": [
"description",
"quantity",
"unit_price_minor"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 100,
"description": "The full new line set, replacing every existing line"
},
"invoice_ref": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "New invoice reference, or null to detach the note from its invoice"
},
"reason_detail": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"issue_date": {
"type": "string",
"maxLength": 10
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"description": "New notes text, or null to remove the notes"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪credit_note_finalize(id)
Finalize a draft: burn the final CN-YYYY-NNNN number and freeze the note. From here it cannot be edited or deleted, only rendered and listed, because it is now the document the client sees. Free tier: 10 finalized credit notes; Pro removes the limit.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "The draft id, e.g. CN-DRAFT-2026-0001"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢credit_note_list(recipient, reason, status, from, to, ...)
List credit notes: number or draft id, recipient, reason, status, issue date and total. Filter by recipient (a part of the name is enough), by reason, by status draft or final, and by issue-date period with from and to.
Esquema de entrada
{
"type": "object",
"properties": {
"recipient": {
"type": "string",
"maxLength": 200,
"description": "Match the recipient, case-insensitive, a part of the name is enough"
},
"reason": {
"type": "string",
"enum": [
"returned_goods",
"overcharge",
"discount_correction",
"service_issue",
"other"
],
"description": "Only notes with this reason"
},
"status": {
"type": "string",
"enum": [
"draft",
"final"
],
"description": "Only drafts or only finalized notes"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First issue date to include, YYYY-MM-DD"
},
"to": {
"type": "string",
"maxLength": 10,
"description": "Last issue date to include, YYYY-MM-DD"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Maximum notes listed, default and ceiling 2000"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢credit_note_get(id)
Return one credit note by its CN number or draft id: every line with quantity, unit price and tax, the totals per tax rate, the reason, the invoice it credits, and the notes. Reads only; use credit_note_list for the ids.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "The credit note number CN-2026-0001 or draft id CN-DRAFT-2026-0001"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴credit_note_delete(id)
Delete a draft credit note entered wrongly, by its draft id. A finalized note is refused by name: it is a document the client may have seen, and deleting it would leave their copy pointing at nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "The draft id, e.g. CN-DRAFT-2026-0001"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪credit_note_render(id, format)
Turn a credit note into the document: Markdown to paste into an email or ticket, or a self-contained printable HTML page with every style inline. Drafts render with a DRAFT banner so a half-finished credit cannot be sent by mistake. Writes nothing. Free; the free tier stamps a one-line footer.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "The credit note number CN-2026-0001 or draft id CN-DRAFT-2026-0001"
},
"format": {
"type": "string",
"enum": [
"markdown",
"html"
],
"description": "markdown (default) or html, a self-contained printable page"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢credit_note_summary(from, to)
How much you have credited: totals per currency over finalized credit notes, broken down by reason and by month, in an optional issue-date period. Drafts count for nothing until they are finalized. Currencies are never added together.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"type": "string",
"maxLength": 10,
"description": "First issue date to include, YYYY-MM-DD. Default: the beginning"
},
"to": {
"type": "string",
"maxLength": 10,
"description": "Last issue date to include, YYYY-MM-DD. Default: today"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢license_status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪license_activate(key)
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
Esquema de entrada
{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "License key from checkout, MCPL1.<payload>.<signature>"
}
},
"required": [
"key"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia