合同PDF MCP服务器
本地第一台MCP服务器,用于使用可重用的本地模板将降价合同呈现为品牌HTML和PDF。不需要托管签名提供程序。
特性
- MCP桌面客户端的本地stdio传输
- markdown到带有专用封面的品牌HTML/PDF渲染
- 从可重用的HTML/CSS模板目录中发现本地模板
- 本地合约目录发现,以及在没有设置固定合约根时的直接绝对路径支持
- 渲染文档的本地输出目录
安装
来源
git clone https://github.com/Everyday-Workflows/dropboxsign-mcp.git
cd dropboxsign-mcp
npm install
npx playwright install chromium
npm run build配置
复制 .env.example 到 .env 或者在shell中导出相同的变量。
常用值:
CONTRACT_PDF_CONTRACTS_DIR=/absolute/path/to/contracts
CONTRACT_PDF_BRAND_NAME=My Company
CONTRACT_PDF_LOGO_PATH=/absolute/path/to/logo.webp
CONTRACT_PDF_GENERATED_DIR=/absolute/path/to/generated
CONTRACT_PDF_TEMPLATE_DIR=/absolute/path/to/templates如果你的合同每次都放在不同的客户文件夹中,你可以离开 CONTRACT_PDF_CONTRACTS_DIR 取消设置并将绝对文件路径直接传递给渲染工具。
CONTRACT_PDF_TEMPLATE_DIR 应指向至少包含以下内容的绝对目录 default.html 和 default.css。如果未设置,服务器将退回到此仓库附带的捆绑模板 contract_pdf_status 将报告 templatesDirSource: "bundled_default".
有关完整的带注释变量列表,请参阅 .env.example.
快速开始
- 安装Playwright的依赖项和Chromium。
- 集
CONTRACT_PDF_TEMPLATE_DIR如果你想要一个稳定的自定义合约风格。 - 将MCP服务器添加到您的客户端配置中。
- 跑
contract_pdf_status确认配置、目录和已解析templatesDir. - 将降价合约渲染为PDF。
MCP客户端配置
从源代码运行
{
"mcpServers": {
"contract-pdf": {
"command": "node",
"args": ["/absolute/path/to/dropboxsign-mcp/dist/src/index.js"],
"env": {
"CONTRACT_PDF_TEMPLATE_DIR": "/absolute/path/to/templates",
"CONTRACT_PDF_BRAND_NAME": "My Company",
"CONTRACT_PDF_GENERATED_DIR": "/absolute/path/to/generated"
}
}
}
}工具输入示例
如果你这样做 不 集 CONTRACT_PDF_CONTRACTS_DIR,您仍然可以直接从绝对文件路径工作。
示例提示:
Render /absolute/path/to/contract.md to PDF
List available local templates
List contracts in my configured contracts directory示例工具输入 contract_render_pdf:
{
"sourcePath": "/absolute/path/to/contract.md",
"templateName": "default"
}已实施的工具
contract_pdf_statuscontract_template_listcontract_listcontract_render_pdf
合同工作流程
- 如果您已配置
CONTRACT_PDF_CONTRACTS_DIR,找到一份合同contract_list. - 否则,将绝对合约路径直接传递给
contract_render_pdf. - 使用以下命令将markdown渲染为HTML/PDF
contract_render_pdf. - 需要时手动将PDF上传到您选择的签名提供商。
默认模板在第1页呈现专用的品牌封面,并在第2页开始合同正文。
服务器验证解析的模板目录是否包含 default.html 和 default.css 在启动过程中,模板路径错误会很快失败,而不是在渲染过程中稍后出现。
为什么这个设计
- 运输: stdio非常适合桌面客户端中使用的本地MCP服务器。
- 便携性: 在您有意呈现合同之前,合同在您的文件系统上保持为明文标记。
- 品牌: 模板和徽标资源保持在本地,完全在您的控制之下。
- 简单性: PDF生成与任何签名供应商或API定价模型脱钩。
发展
npm install
npx playwright install chromium
npm run lint
npm run test
npm run build