DealerSlip

Draft UK vehicle sales invoices from supplied deal facts, with totals and a private review link.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,897Tokens (tool definitions)
~15.4 KBTypical response size
Moderate attention impact (1.48% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "invoice": {
      "url": "https://dealerslip.com/mcp"
    }
  }
}

Remote endpoints

https://dealerslip.com/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢create_invoice(ref, date, seller, customer, address, ...)

Prepare a UK vehicle sales invoice draft from user-supplied facts and return calculated totals plus a private review link. Ask for all required fields and explicit VAT treatment; do not invent facts, payments or terms. No account access or storage. Human review and download are required before issuing. The link contains invoice data; share only with its intended recipient.

Input Schema

{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
      "minLength": 1
    },
    "date": {
      "type": "string",
      "pattern": "^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})?$(?![\\s\\S])",
      "description": "Full calendar date YYYY-MM-DD; blank when not supplied.",
      "minLength": 1
    },
    "seller": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 160,
          "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
          "minLength": 1
        },
        "address": {
          "type": "string",
          "maxLength": 700,
          "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])",
          "minLength": 1
        },
        "email": {
          "type": "string",
          "maxLength": 254,
          "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
        },
        "phone": {
          "type": "string",
          "maxLength": 60,
          "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
        },
        "vat": {
          "type": "string",
          "maxLength": 60,
          "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
        },
        "terms": {
          "type": "string",
          "maxLength": 3000,
          "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
        }
      },
      "required": [
        "name",
        "address"
      ]
    },
    "customer": {
      "type": "string",
      "maxLength": 160,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
      "minLength": 1
    },
    "address": {
      "type": "string",
      "maxLength": 700,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])",
      "minLength": 1
    },
    "registration": {
      "type": "string",
      "maxLength": 16,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
      "minLength": 1
    },
    "make": {
      "type": "string",
      "maxLength": 100,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
      "minLength": 1
    },
    "model": {
      "type": "string",
      "maxLength": 100,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
      "minLength": 1
    },
    "price": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "multipleOf": 0.01
    },
    "tax": {
      "type": "string",
      "enum": [
        "margin",
        "standard",
        "none"
      ],
      "description": "Explicit user-selected VAT treatment. Standard prices include VAT at 20%; do not infer eligibility.",
      "minLength": 1
    },
    "collection": {
      "type": "string",
      "pattern": "^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})?$(?![\\s\\S])",
      "description": "Full calendar date YYYY-MM-DD; blank when not supplied."
    },
    "firstRegistered": {
      "type": "string",
      "pattern": "^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})?$(?![\\s\\S])",
      "description": "Full calendar date YYYY-MM-DD; blank when not supplied."
    },
    "mot": {
      "type": "string",
      "pattern": "^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})?$(?![\\s\\S])",
      "description": "Full calendar date YYYY-MM-DD; blank when not supplied."
    },
    "derivative": {
      "type": "string",
      "maxLength": 160,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "year": {
      "type": "string",
      "maxLength": 4,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "mileage": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "colour": {
      "type": "string",
      "maxLength": 80,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "vin": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "stock": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "phone": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "email": {
      "type": "string",
      "maxLength": 254,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "notes": {
      "type": "string",
      "maxLength": 3000,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
    },
    "terms": {
      "type": "string",
      "maxLength": 3000,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
    },
    "pxOn": {
      "type": "boolean"
    },
    "pxReg": {
      "type": "string",
      "maxLength": 16,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "pxModel": {
      "type": "string",
      "maxLength": 180,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "pxAllowance": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "multipleOf": 0.01
    },
    "pxSettlement": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "multipleOf": 0.01
    },
    "pxLender": {
      "type": "string",
      "maxLength": 160,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "pxMileage": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "pxStock": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "pxVin": {
      "type": "string",
      "maxLength": 60,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "pxV5": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
    },
    "pxHistory": {
      "type": "string",
      "maxLength": 700,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
    },
    "pxDeclaration": {
      "type": "string",
      "maxLength": 3000,
      "pattern": "^[^\\r\\n]*(?:\\r?\\n[^\\r\\n]*){0,12}$(?![\\s\\S])"
    },
    "finance": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "multipleOf": 0.01
    },
    "financeCompany": {
      "type": "string",
      "maxLength": 160,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "balanceMethod": {
      "type": "string",
      "maxLength": 160,
      "pattern": "^[^\\r\\n]*$(?![\\s\\S])"
    },
    "extras": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 160,
            "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
            "minLength": 1
          },
          "amount": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000,
            "multipleOf": 0.01
          },
          "tax": {
            "type": "string",
            "enum": [
              "20",
              "0"
            ]
          }
        },
        "required": [
          "label",
          "amount",
          "tax"
        ]
      }
    },
    "payments": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 100,
            "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
            "minLength": 1
          },
          "amount": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000,
            "multipleOf": 0.01
          },
          "method": {
            "type": "string",
            "maxLength": 100,
            "pattern": "^[^\\r\\n]*$(?![\\s\\S])",
            "minLength": 1
          }
        },
        "required": [
          "label",
          "amount",
          "method"
        ]
      }
    }
  },
  "required": [
    "ref",
    "date",
    "seller",
    "customer",
    "address",
    "registration",
    "make",
    "model",
    "price",
    "tax"
  ],
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "pxOn": {
            "const": true
          }
        },
        "required": [
          "pxOn"
        ]
      },
      "then": {
        "required": [
          "pxAllowance"
        ]
      }
    }
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools
verifiedversion not recorded1 tools