Contract Clause Library Assemble

com.bestremotetools由 bestremotetools.com 发布v0.21.0更新于 Oct 24, 2026

Assemble a contract from a searchable clause library, with variables filled in or flagged as missing

已验证STDIO仅桌面效率与工作流文件与存储

概览

AI 生成的概览

一个本地 MCP 服务器,用于保存可复用的合同条款,并将其组装成 Word 或 markdown 草稿,同时填入变量或标记缺失项。

可以做什么
保存、读取、更新和删除带变量、类别、标签和管辖区的可复用条款,并按组装顺序或类别列出。对标题、标签、类别和正文进行排序搜索,可选按管辖区过滤。从 markdown 或 JSON 批量导入条款,并将整个库导出为 markdown 或 JSON。按条款 ID 或整个类别组装文档,为条款编号、填入变量、用方括号标出缺失事实,并写出 .docx 或 .md。在组装前列出所选条款需要的全部变量,并查看或激活 Pro 许可证。
适用场景
适合反复起草同类协议时使用:让助手调取你自己的标准条款、填入交易事实并生成初稿文档,而不必把去年的合同复制过来改。也适合在本机维护一个可搜索、可导出的条款库。
运行要求
作为本地进程在用户机器上运行,仅限桌面端。可通过 .mcpb 安装包安装,或用 Node.js 与 npm 从源码构建;npx 包据说明尚未发布。可选的 Pro 许可证密钥通过 MCP_LICENSE_KEY 环境变量提供,或调用 license_activate 激活。无需账号或网络访问。
安装前请注意
生成的文档是通用模板,不构成法律意见,内置起始条款未经律师审阅;输出应视为交给合格律师的初稿。工具会写入磁盘文件并可删除条款;已有输出文件仅在设置 overwrite 时才会被替换。条款数据和文档保存在本地数据目录,与同系列其他服务器共用的业务档案可能包含邮箱等身份信息。Pro 功能需付费。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Contract Clause Library Assemble,将其添加到工作区。
  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 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.21.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分