Final Notice

io.github.ptrinhPublished by GitHub account ptrinhv1.0.0Updated Oct 25, 2026

Free demand-letter PDF generator for unpaid invoices, 80+ jurisdictions, 29 languages.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

A free remote MCP server that lets an assistant draft and generate localized, legally formatted demand letters for unpaid invoices as print-ready PDFs.

What you can do
List supported jurisdictions, currencies, languages and tones to pick valid settings first, then preview a letter's title, subject, body, amount line, legal reference and closing as structured JSON before generating anything. Generate the finished demand-letter PDF, including a matching envelope, localized and legally formatted for the chosen jurisdiction, returned as a base64 resource.
When to use it
Useful when a business or individual needs a formal, non-threatening payment reminder or final demand for an overdue invoice and wants the wording and format adapted to a specific country and language before sending it.
Requirements
A remote endpoint over Streamable HTTP; no installation, account, API key or authentication is needed. A local stdio variant can be run via npx or Docker and calls the hosted service by default, with the base URL overridable through the FINALNOTICE_API_BASE environment variable. Network access to the hosted service is required.
Before you install
The letter content you supply, including sender and debtor names, addresses, amounts and invoice details, is sent to a third-party hosted service that performs the rendering. Generated letters are factual templates and not legal advice, so review the wording and jurisdiction rules before sending. An optional donation link is offered; the service itself is described as free.

Installation

In SourceWeft

  1. Open Final Notice in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.ptrinh%2Ffinal-notice/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "final-notice": {
      "type": "http",
      "url": "https://finalnotice.io/mcp"
    }
  }
}

README

Final Notice — MCP server

[ptrinh/finalnotice-mcp MCP server]

Free, no-registration Model Context Protocol server that generates professional debt-collection demand letters: a print-ready PDF (formal letter + matching envelope), localized and legally formatted for 100+ jurisdictions and 33 languages (including Arabic/RTL, CJK, Indic, Thai, Cyrillic, and Greek).

  • Website: https://finalnotice.io
  • Hosted MCP endpoint: https://finalnotice.io/mcp (Streamable HTTP, JSON-RPC 2.0)
  • No auth, no API key, free.

The rendering engine (fonts, layout, jurisdiction rules) runs on the hosted service. This package is a thin stdio MCP server that forwards the three tools to the free public API, so you can run it locally or point any MCP client at the hosted endpoint.

Use it

A) Hosted endpoint (nothing to install)

bash
claude mcp add --transport http final-notice https://finalnotice.io/mcp
json
{  "mcpServers": {    "final-notice": { "type": "http", "url": "https://finalnotice.io/mcp" }  }}

B) Run the stdio server locally (npx)

json
{  "mcpServers": {    "final-notice": { "command": "npx", "args": ["-y", "finalnotice-mcp"] }  }}

C) Docker

bash
docker build -t finalnotice-mcp .docker run -i --rm finalnotice-mcp

The stdio server calls https://finalnotice.io by default; override with the FINALNOTICE_API_BASE environment variable.

Tools

ToolDescription
list_jurisdictionsSupported countries, currencies, languages, and tones. Call first to pick a valid jurisdiction + language.
preview_demand_letterRender the letter's text (title, subject, body, amount, legal reference, closing) as structured JSON — no PDF — to review wording.
generate_demand_letterGenerate the finished PDF (letter + envelope) and return it as a base64 resource.

Minimal example (generate_demand_letter arguments)

json
{  "jurisdiction": "GB",  "language": "en",  "tone": "final",  "senderName": "Acme Ltd",  "senderType": "business",  "attested": true,  "senderAddress": "1 High St\nLondon",  "debtorName": "J. Smith",  "debtorAddress": "2 Park Rd\nLeeds",  "debtorType": "individual",  "amount": 2450,  "currency": "GBP",  "invoiceNumber": "INV-1042",  "deadlineDays": 14}

Required fields: senderName, senderAddress, debtorName, debtorAddress, amount (> 0). Business/firm senders must set attested: true. Set debtorType: "individual" to apply consumer-protection rules where they exist (e.g. the UK Pre-Action Protocol for Debt Claims 30-day period, or the Dutch WIK fourteen-day wording).

Notes

  • A REST API mirrors the MCP tools: GET /api/meta, POST /api/preview, POST /api/generate.
  • This is not legal advice; letters are factual, non-threatening templates.
  • The service is free; an optional donation link is at https://finalnotice.io/donate.

License

MIT — see LICENSE.

Source: README.md at commit 2c9c2cf

Tools

3

list_jurisdictions

List every supported country/jurisdiction (code, name, currency, default language) plus the available languages and tones. Call this first to pick a valid jurisdiction + language.

Takes no parameters.

preview_demand_letter

Render the demand letter's text content (title, subject, body paragraphs, amount line, legal reference, closing) as structured JSON, without producing a PDF. Use to review or refine wording before generating.

ParametersbanktoneamountrequiredattestedcurrencylanguagesenderRefdebtorNamerequireddebtorTypeenclosuressenderNamerequiredsenderType+11 more

generate_demand_letter

Generate the finished demand-letter PDF (formal letter + matching envelope), localized and legally formatted for the jurisdiction. Returns the PDF as a base64 resource. Free, no registration.

ParametersbanktoneamountrequiredattestedcurrencylanguagesenderRefdebtorNamerequireddebtorTypeenclosuressenderNamerequiredsenderType+11 more

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts