Credit Note

io.github.theluckystrike由 GitHub 帳號 theluckystrike 發布v0.22.8更新於 Oct 24, 2026

Credit notes against an invoice or standalone: drafts, finalization, rendering, totals.

已驗證Streamable HTTP可網頁執行效率與工作流金融

概覽

AI 產生的概覽

給自由工作者與小型企業的本地 MCP 伺服器,可針對發票或獨立開立、定稿、渲染並彙總貸項通知單(折讓單)。

可以做什麼
建立與修改草稿貸項通知單,包含收件人、原因、明細行、稅率與幣別,並可刪除誤建的草稿。定稿草稿以佔用最終 CN 編號並凍結,或依收件人、原因、狀態與日期篩選並列出、讀取通知單。將通知單渲染為可貼進郵件的 Markdown 或可列印的 HTML 頁面,草稿會標示 DRAFT。依幣別、原因與月份彙總已定稿通知單的折讓金額。查詢或啟用免費或 Pro 授權。
適用情境
當你需要為客戶開立貸項通知單或折讓單,並希望助理在對話中完成起草、定稿、渲染與彙總時使用。適合自由工作者或小型企業的偶發折讓情境,而非大量開立發票。
執行需求
以本機程序(stdio 上的 mcpb 套件)或遠端端點執行。遠端端點需要在 Authorization 標頭提供 bearer 權杖,可為 Pro 授權金鑰或匿名權杖;選用的 MCP_LICENSE_KEY 可離線啟用 Pro。npm 套件尚未發布,本機使用目前需要複製並建置。
安裝前請注意
定稿無法復原:已定稿的通知單不能編輯或刪除,免費版終身僅允許 10 張定稿通知單。Pro 為一次性付費購買。資料保存在使用者本機資料目錄,授權金鑰以離線方式驗證。README 另提到可透過第三方文件服務讀取此儲存庫文件。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Credit Note,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.theluckystrike%2Fcredit-note/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "credit-note": {
      "type": "http",
      "url": "https://mcp.zovo.one/mcp/credit-note-ics",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

mcp-credit-note

[theluckystrike/mcp-credit-note MCP server]

In the official MCP Registry (io.github.theluckystrike/credit-note). Credit notes (credit memos) for freelancers and small businesses, kept the way the paperwork keeps them. Issue a credit 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. Every credit note starts as a draft you can revise and delete; finalizing burns the final CN-YYYY-NNNN number and freezes it, because a finalized credit note is a document the client may have seen. Render one to Markdown to paste into an email, or to a self-contained printable HTML page, and get the totals credited per currency, reason and month. Every amount is an integer number of minor units, and nothing is sent anywhere.

Built by theluckystrike.

npm publish for @theluckystrike/mcp-credit-note is pending, so npx -y @theluckystrike/mcp-credit-note returns 404 today. Until then, a clone+build is the working path.

Install

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json:

json
{  "mcpServers": {    "credit-note": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-credit-note"]    }  }}

Claude Code

sh
claude mcp add credit-note -- npx -y @theluckystrike/mcp-credit-note

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.

Tools

toolwhat it does
credit_note_createIssue a credit note against an invoice or standalone: recipient, reason, lines with quantity, unit price in minor units and tax rate, currency. Returns a CN-DRAFT-YYYY-NNNN draft
credit_note_updateRevise a draft while it is still a draft: recipient, reason, lines, currency, invoice reference, issue date or notes. New lines replace all old ones. A finalized note is refused by name
credit_note_finalizeBurn the final CN-YYYY-NNNN number and freeze the note: from here it cannot be edited or deleted, only rendered and listed
credit_note_listList credit notes with number, recipient, reason, status, issue date and total. Filter by recipient, reason, status, and issue-date period
credit_note_getRead one credit note in full by CN number or draft id: every line, the tax lines, the totals, the reason and the notes
credit_note_deleteDelete a draft entered wrongly. A finalized note is refused: it is a document the client may have seen
credit_note_renderRender a credit note as Markdown to paste into an email, or as a self-contained printable HTML page. Drafts render with a DRAFT banner
credit_note_summaryTotal credited per currency over finalized notes, broken down by reason and by month, in an optional issue-date period
license_status / license_activateFree or Pro, and the key

Free vs Pro

FreePro
Finalized credit notes10, lifetimeUnlimited
Drafts (credit_note_create, credit_note_update)UnlimitedUnlimited
Delete a draft (credit_note_delete)YesYes
Listing, reading (credit_note_list, credit_note_get)UnlimitedUnlimited
Rendering (credit_note_render)Unlimited, one-line footerUnlimited, no footer
Totals (credit_note_summary)UnlimitedUnlimited

Finalizing is the metered act because that is what turns a draft into the document the client sees. Everything else is free and unlimited: a free tier that withholds the rendered document or the totals is a demo, and ten real finalized credit notes is a working year for a freelancer who credits an invoice now and then.

Get Pro: https://mcp.zovo.one/buy/credit-note, $19 one-time for this server, or $39 for the bundle.

The rounding rule

Every amount is an integer number of minor units (cents), and the line math is documented so the printed document reproduces on a calculator:

  1. The unit price enters as integer minor units, so nothing is rounded on input. The line gross is quantity x unit price, rounded half-up once: gross = round_half_up(quantity * unit_price_minor). A whole quantity is exact; a fractional one (2.5 hours at EUR 33.33) lands on the nearest cent, and 2.5 x 3333 = 8332.5 rounds to 8333, never banker's 8332.
  2. Tax is computed per line and rounded half-up per line: tax = round_half_up(gross * rate / 100).
  3. The line total is gross + tax, and the note totals are plain integer sums of the already-rounded line values.

Round per line, then sum: a total can never drift from the printed lines by more than the rounding already visible on those lines, so the tax line at 23% is on its own base (the 23% lines only), not on the whole subtotal.

Numbering

Drafts carry a CN-DRAFT-YYYY-NNNN id no client sees. The final CN-YYYY-NNNN number is assigned only at finalize, in the issue date's year, and the counter is written before the record, so a crash burns a number rather than reusing one. Because drafts never hold a final number and finalized notes cannot be deleted, the final series never has a gap.

Privacy

All data stays local, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/credit-note/. Two files: notes.json, counter.json. Nothing is sent anywhere, there is no account, no API key and no network call in this server at all. License keys are verified offline. The Markdown and HTML renders are returned as text; this server writes no document files.

Built by theluckystrike. https://github.com/theluckystrike

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

來源:servers/credit-note/README.md,提交 6535b33

工具

10

credit_note_create

Issue a credit note

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.

輸入參數lines必填notesreason必填currency必填recipient必填issue_dateinvoice_refduplicate_okreason_detail

credit_note_update

Revise a draft credit note

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.

輸入參數id必填linesnotesreasoncurrencyrecipientissue_dateinvoice_refreason_detail

credit_note_finalize

Finalize a credit note

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.

輸入參數id必填

credit_note_list

List credit notes

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.

輸入參數tofromlimitreasonstatusrecipient

credit_note_get

Read one credit note in full

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.

輸入參數id必填

credit_note_delete

Delete a draft credit note

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.

輸入參數id必填

credit_note_render

Render a credit note as Markdown or printable HTML

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.

輸入參數id必填format

credit_note_summary

Total credited by period, currency and reason

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.

輸入參數tofrom

license_status

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.

無需輸入參數。

license_activate

Activate license

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.

輸入參數key必填

版本歷史

4
  1. v0.22.8最新Oct 14, 2026
  2. v0.22.4Sep 26, 2026
  3. v0.22.3Sep 23, 2026
  4. v0.21.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分