Agreement

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

Reusable agreement and proposal clauses assembled into a real Word docx, variables filled.

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

保存可重複使用的合約與提案條款,並組裝成變數已填好的真實 Word .docx 或 markdown 草稿。

可以做什麼
  • 新增、讀取、修改、刪除與列出帶變數、分類、標籤及司法管轄區的條款
  • 依相關度排序搜尋條款庫,可選擇以司法管轄區篩選
  • 從 markdown 或 JSON 批次匯入條款,並匯出整個條款庫
  • 依條款 id 或分類組裝文件,自動排序編號、填入變數、把缺少的事實標成方括號提示
  • 在組裝前列出所選條款需要的所有變數
  • 查看或啟用 Pro 授權
適用情境
適合反覆使用同一批合約與提案段落的自由工作者與小型工作室,希望依自己的條款庫產生初稿,而不是複製去年的檔案。它只是起草輔助,不能取代法律審閱。
執行需求
以僅限桌面的 stdio 本機程序執行;npm 套件據說明尚未發布,可用 .mcpb 一鍵包或複製原始碼並以 Node.js 建置。不需帳號,也不會發出網路請求。Pro 功能需要 MCP_LICENSE_KEY,可在設定中指定或透過 license_activate 啟用。
安裝前請注意
輸出是通用範本文字而非法律意見,起始條款皆未經律師審閱,應把文件視為交給律師的初稿。工具會寫入指定輸出路徑的檔案並可刪除條款,既有檔案只有在傳入 overwrite 時才會被覆寫。Pro 為一次性付費授權,授權金鑰屬於機密資訊。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Agreement,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-clauses

Say "draft a service agreement for Beta Corp, 4,500 EUR, 14-day terms" and get a real .docx built from your own clause library. This MCP server keeps the contract and proposal paragraphs you reuse, scope, payment terms, late fees, IP assignment, confidentiality, termination, liability cap and twenty more, as searchable clauses with {{variables}} in them. It ships with 25 generic freelance starters, finds the right ones by ranked search, fills the variables you supply, leaves every fact you did not supply as a visible bracketed prompt like [late fee percent], and writes the assembled document to Word or markdown. Every document opens with the line that it is a generic template and not legal advice. Everything runs locally: no upload, no account, no native dependency.

In the official MCP Registry (io.github.theluckystrike/contract-clause-library-proposal-template-docx).

[clauses demo]

Stop pasting last year's contract into a new file and hoping you changed every name.

60-second install

npm publish for @theluckystrike/mcp-clauses is pending. Until then, the .mcpb one-click bundle or a clone+build is the working path, both are verified below.

One-click (.mcpb): download clauses.mcpb from the latest release and double-click it in Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

(claude_desktop_config.json):

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

Claude Code:

sh
claude mcp add clauses -- npx -y @theluckystrike/mcp-clauses

(.cursor/mcp.json):

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

The npx form above starts working the moment the package is published. Until then, use the .mcpb bundle above, or build from source with exactly these three commands:

sh
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-serversnpm installnpm run build -w packages/mcp-license -w servers/docx -w servers/clauses

Then point your client's command at node with one arg: the absolute path to servers/clauses/dist/index.js.

To run in Pro mode set MCP_LICENSE_KEY in the same config block, or call license_activate once with your key.

This is not legal advice

The 25 starter clauses are generic freelance templates written in plain language. They are not drafted for your country, your trade or your deal, and no clause here has been reviewed by a lawyer. Every starter carries the note generic template, not legal advice, and every document contract_assemble writes opens with the same line. Treat the output as a first draft to take to a qualified lawyer, not as a contract to sign.

Tools

ToolWhat it does
clause_addSave a reusable clause: title, body with {{variables}}, category, tags, optional jurisdiction and language
clause_getReturn one clause in full, by id or by title (a partial title matches)
clause_updateChange the text, category, tags, variables or jurisdiction. In Pro the previous text is kept as a version
clause_deleteRemove a clause. A deleted starter is not re-seeded on the next call
clause_listList every clause, in assembly order, optionally narrowed to one category
clause_searchRanked search over titles, tags, categories and bodies. A title match outranks a body mention; a term matches on a real word boundary ("fee" never matches inside "coffee"), with plain substring containment kept only as a lower-ranked fallback. The jurisdiction filter is free (citing a clause from the wrong jurisdiction is the error this prevents); the tag filter is Pro and is skipped, never refusing the search
clause_importBulk-load from a markdown file (## Title, category: / tags: lines, blank line, body) or from JSON (Pro). Only short, field-shaped lines right after the title are read as metadata, so body prose that happens to open with a word like "note:" is kept as body, not swallowed
clause_exportWrite the whole library to markdown (free) or JSON (Pro). An existing destination is never replaced unless you pass overwrite: true
contract_assembleBuild a document from clause ids or whole categories: orders the clauses, numbers them, fills the variables, brackets what is missing, prepends the not-legal-advice line, writes .docx or .md. An existing out_path is never replaced unless you pass overwrite: true
variables_listEvery {{variable}} a selection of clauses needs, and which clause needs it, before you assemble
license_statusShow free or Pro mode
license_activateActivate a Pro key (verified offline)

Resource: clauses://categories returns every category in the library with its clause count, in assembly order. Prompt: draft_contract picks clauses that fit an engagement, assembles them, and reports the facts still missing.

The 25 starter clauses

CategoryClauses
scopeScope of Work, Revisions, Acceptance of Deliverables, Change Requests
paymentPayment Terms, Late Payment, Kill Fee, Rush Fee
expensesExpenses
ipIntellectual Property Assignment, Portfolio and Credit
confidentialityConfidentiality
dataData Protection
termTermination
liabilityLimitation of Liability
warrantyWarranty Disclaimer
disputesDispute Resolution
generalGoverning Law, Force Majeure, Independent Contractor, Non-Solicitation, Notices, Entire Agreement, Severability, Assignment

They use variables such as {{client}}, {{contractor}}, {{project}}, {{fee}}, {{currency}}, {{payment_days}}, {{deposit_percent}}, {{late_fee_percent}}, {{liability_cap}}, {{notice_days}}, {{revision_rounds}}, {{acceptance_days}}, {{kill_fee_percent}}, {{rush_fee_percent}} and {{jurisdiction}}. Call variables_list with the clauses you picked to see exactly which ones your document needs.

What you can say

You sayTool
"What clauses do I have about late payment?"clause_search
"Save this as a clause called Retainer, category payment."clause_add
"Draft a service agreement for Beta Corp: scope, payment, late fees, IP, termination. Fee 4,500 EUR, 14-day terms."contract_assemble
"What do I still need to fill in for those five clauses?"variables_list
"Import my old clauses from clauses.md."clause_import
"Export the whole library so I can keep a copy."clause_export

Free vs Pro

FreePro
25 starter clausesyesyes
Your own clauses10unlimited
Ranked search, category filteryesyes
Filter by jurisdiction or tagnoyes
Clauses per assembled document8unlimited
Markdown import and exportyesyes
JSON import and exportnoyes
Clause version history on clause_updatenoyes

Get Pro: https://mcp.zovo.one/buy/clauses, $19 one-time, or $39 for the whole collection.

Pairs with

  • mcp-docx, the document engine this server assembles through. Install both and the same conversation that picks clauses can also write the covering letter and read the client's own .docx back.
  • mcp-invoice, the payment terms you agreed in the contract are the terms you bill on.
  • mcp-recurring, once a retainer clause is signed, the schedule that raises its invoices.

Privacy

Every clause and every assembled document stays on your machine, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/clauses/. The server makes no network calls at all. Your licence key is verified offline.

Built by theluckystrike. Support: [email protected]

One business profile for the whole suite

Your identity is stored once, at ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/profile/business.json, and every server in the suite reads it: the invoice issuer, the docx letterhead, the recurring issuer, expense-tracker's default VAT rate, time-tracker's and timezone's home zone, and the resume and contract letterheads. Set it once with business_set (invoice or docx) - you never repeat it anywhere else. An email address is only ever taken from that profile or from an explicit argument; when none is stored, documents show [add: email] and the tool says so rather than letting anyone improvise an address.

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/clauses/README.md,提交 1bd9d69

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.22.5最新Oct 14, 2026
  2. v0.21.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分