文档编译工具

Tender Doc Compiler MCP是一个用于Tri-Tender项目的最终打包和关闭引擎,它验证项目工作区中的文档,生成最终的ZIP存档、机器可读清单和准备报告。

  • by sendsta
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sendsta/tender-doc-compiler-mcp

使用说明

招标文件编译器MCP

此MCP服务器是 最终包装和关闭发动机 对于三标项目。

它检查三标项目工作区,验证所有推荐的文件 然后将输出与 机器可读的清单和准备就绪报告。

注: 这是一个 骨架实现 专注于结构和FastMCP 整合。确实如此 不 然而,生成真正的PDF或DOCX文件——这些是 留给你扩展。


特性

  • 在以下位置查找项目数据 ./projects/{project_id}
  • 阅读推荐文档 orchestrator_manifest.json
  • 跑a 就绪检查 (存在/缺失/警告)
  • 建议合适 编译配置文件 (单信封与双信封)
  • 将项目编译为:
    • compiled/readiness_report.json
    • compiled/manifest.json
    • compiled/final_submission.zip
  • 生成一个 提交清单 对于用户界面

所有功能都通过MCP工具公开 fastmcp 框架。citeturn2view0转3view0


项目布局

在FastMCP Cloud上运行时,服务器需要以下项目结构:

.
├── server.py
├── requirements.txt
├── README.md
└── projects/
    └── <project_id>/
        ├── project.json
        ├── orchestrator_manifest.json
        ├── core_docs/
        ├── pricing/
        ├── statutory/
        ├── attachments/
        ├── tender_output/
        └── compiled/          # created by this server

这 招标文件核心MCP, 品牌MCP,以及 定价MCP 应该写 其输出为 core_docs/, pricing/, tender_output/,以及相关文件夹。 仅此编译器MCP 读取 这些文件夹和写入 compiled/.


工具

dry_run_compile

分析项目并返回准备报告,而无需编写任何新文件。

输入:

{
  "project_id": "BID2490S_SANPARKS"
}

输出(示例):

{
  "project_id": "BID2490S_SANPARKS",
  "status": "ready_with_warnings",
  "missing": ["environmental_policy"],
  "warnings": ["Multiple matches for pricing_schedule"],
  "envelope_summary": {
    "technical": {"required": 8, "present": 8},
    "financial": {"required": 2, "present": 1}
  },
  "documents": [ ... ]
}

get_compile_profiles

建议为项目编译配置文件(单信封/双信封)。


compile_tender

运行完整的编译和打包步骤。

  • 重建准备状态报告
  • 写 manifest.json
  • 创建 compiled/final_submission.zip

输入:

{
  "project_id": "BID2490S_SANPARKS",
  "compile_profile": "two_envelope",
  "output_formats": ["zip"],
  "options": {
    "page_size": "A4",
    "include_toc": true
  }
}

输出(简化):

{
  "status": "success",
  "project_id": "BID2490S_SANPARKS",
  "compile_profile": "two_envelope",
  "artifacts": {
    "zip_path": "projects/BID2490S_SANPARKS/compiled/final_submission.zip",
    "manifest_path": "projects/BID2490S_SANPARKS/compiled/manifest.json",
    "readiness_path": "projects/BID2490S_SANPARKS/compiled/readiness_report.json"
  },
  "warnings": [],
  "missing": []
}

有意生成PDF和DOCX 未实现 在这个骨架。 扩展 compile_tender() 和 _zip_project_outputs() 添加这些功能。


inspect_manifest

以JSON格式返回项目的最后一个编译清单。

generate_submission_checklist

返回一个清单结构,您的Tri-Tender UI可以逐步呈现该结构 用户的提交列表。


本地运行

  1. 安装依赖项:
pip install -r requirements.txt
  1. 在下创建示例项目 ./projects/<project_id>/.

  2. 运行服务器:

python server.py

或使用FastMCP CLI:

fastmcp run server.py:mcp

然后,您可以连接任何兼容MCP的客户端(Claude、Cursor、自定义 FastMCP客户端等)。 cite转4view0转3view0


部署到FastMCP云

  1. 将此存储库推送到GitHub。
  2. 首选 FastMCP云 并从您的仓库中创建一个新项目。
  3. 设置 入口点 致:
server.py:mcp

FastMCP Cloud将构建和部署您的服务器,并在以下URL中公开它:

https://your-project-name.fastmcp.app/mcp

然后,您可以将此URL注册为 招标文件编译器MCP 内部Tri-Tender 并在准备就绪时从编排器调用其工具 收尾和包装. cite转4view0转3view0