proposal-generator-mcp
Proposal Generator MCP Server
面向 Claude Desktop 的自主提案生成服务器。从 Google Drive 读取你公司的模板、服务简介和费率表,生成完全品牌化、图表和表格丰富的 .docx 提案——零手动排版。
1. 安装依赖
cd proposal-mcp-server
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e .Related MCP server: MCP Dataset Onboarding Server
2. 创建 Google 服务账号(一次性,约 5 分钟)
前往 console.cloud.google.com → 创建/选择一个项目。
启用 Google Drive API(APIs & Services → Library → 搜索 "Drive API" → Enable)。
APIs & Services → Credentials → Create Credentials → Service Account。
给它一个名称(例如
proposal-bot)→ Create → Done(项目级别无需任何角色)。点击新的服务账号 → Keys 标签页 → Add Key → JSON → 下载一个文件。
将其重命名为
service_account.json并放入proposal-mcp-server/secrets/。记下服务账号的邮箱——形如:
proposal-bot@your-project.iam.gserviceaccount.com
3. 与服务账号共享你的 3 个 Drive 文件夹
在 Google Drive 中,右键点击 Template、Resources、Output 中的每一个 → Share → 粘贴服务账号邮箱 → 授予 Editor 权限(Output 需要写入权限;Template/Resources 只需要 Viewer,但 Editor 最简单)。这是唯一的手动 Drive 步骤——此后无需 OAuth 登录。
4. 配置环境
cp .env.example .env填写 TEMPLATE_FOLDER_ID、RESOURCES_FOLDER_ID、OUTPUT_FOLDER_ID(每个文件夹 URL 中 /folders/ 后面的字符串)。
确认/重命名你的 Resources 文件,使其与 .env 中的 COMPANY_PROFILE_FILENAME 和 RATE_CARD_FILENAME 匹配(或者直接编辑这些变量以匹配你的实际文件名)。
5. 向 Claude Desktop 注册服务器
编辑你的 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"proposal-generator": {
"command": "/absolute/path/to/proposal-mcp-server/venv/bin/python",
"args": ["-m", "proposal_mcp.server"],
"cwd": "/absolute/path/to/proposal-mcp-server/src",
"env": {
"SERVICE_ACCOUNT_FILE": "/absolute/path/to/proposal-mcp-server/secrets/service_account.json",
"TEMPLATE_FOLDER_ID": "...",
"RESOURCES_FOLDER_ID": "...",
"OUTPUT_FOLDER_ID": "..."
}
}
}
}重启 Claude Desktop。你应该会在 🔌 连接器/工具图标下看到 "proposal-generator"。
6. 使用
只需在新会话中提问:
为想要迁移到云技术的 XYZ Bank 制作一份提案。国家:印度。
Claude 将自主完成以下操作:
调用
get_mandatory_sections查看必需内容。调用
get_company_profile将内容建立在真实能力之上。根据简报或可信的公司调研确认提案公司的国家,然后调用
resolve_rate_card_country(country)。仅针对相关角色调用
get_rate_card(country, [...])。响应包含精确选中的标签页和货币;如果工作簿没有国家标签页,它会明确报告 Constants/USD 日费率回退。起草全部 9 个章节(包含真实的表格/项目符号/图表和简洁的技术工作流)。
一次性调用
generate_proposal(...),渲染品牌化的 .docx 并上传到你的 Output 文件夹——返回一个 Drive 链接。
之后添加新模板
将新的 .docx(例如 template_rfp.docx)上传到 Template 文件夹,并在同一文件夹中的 template_registry.json(参见 assets/template_registry.example.json)中添加一个条目,例如:
{ "default": "template.docx", "rfp": "template_rfp.docx" }然后 Claude 可以调用 list_templates() 并传入 template_id: "rfp"。
项目结构
src/proposal_mcp/
config.py # env config + the 9 mandatory sections (hardcoded)
drive_client.py # Google Drive service-account wrapper
cache.py # TTL cache to avoid redundant Drive downloads
rate_card.py # multi-sheet (per-country) rate card parser
company_profile.py # extracts condensed text from services doc
charts.py # bar / pie / gantt chart and workflow-diagram PNG generation
proposal_sections.py # Pydantic schema Claude's content must follow
docx_generator.py # merges content into the branded template
server.py # MCP tool definitions (the public API)Token 效率说明
每个工具只返回所请求的特定数据(过滤后的费率行、精简简介)——绝不返回整个文件的原始字节/行。
图表/表格/文档渲染完全在 Python 中完成;Claude 无需处理布局、XML 或图像编码。
费率表选择是精确匹配或显式国家别名(例如
United Kingdom→UK);绝不使用有风险的子字符串匹配。没有专用表格的国家自动使用 Constants 工作表的 USD 基础日费率,并在结果中如此标注。费率表/简介下载会缓存
CACHE_TTL_SECONDS秒,因此在一个会话中生成多份提案不会每次都重新访问 Drive。generate_proposal是单次调用——Claude 无需多次往返来逐块组装文档。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceAutomates the creation of standardized documentation by extracting information from source files and applying templates, with integration capabilities for GitHub, Google Drive, and Perplexity AI.33
- AlicenseNot gradedqualityDmaintenanceEnables automated dataset processing and onboarding using Google Drive integration. Provides metadata extraction, data quality assessment, and contract generation for CSV/Excel files through natural language interactions.1MIT
- FlicenseBqualityNot gradedmaintenanceGenerates professional, AI-powered freelance project proposals including executive summaries, scopes of work, and pricing structures. It leverages Claude to create tailored proposals based on specific project descriptions, budgets, and timelines.1
- FlicenseBqualityCmaintenanceEnables creating professional Word documents from markdown or structured content with fast, customized formatting via natural language.71
Related MCP Connectors
Deterministic, fully editable PowerPoint from typed slide intents. 200+ layouts, brand templates.
Turn a description into a shareable, editable PDF — invoices, certificates, reports, resumes.
Make videos and docs with your AI agent — describe what you need, every output stays editable.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Shiva-Matangulu/proposal-generator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server