proposal-generator-mcp
Proposal Generator MCP Server
Autonomer Server zur Angebotserstellung für Claude Desktop. Liest die Vorlagen, das Serviceprofil und die Preisliste Ihres Unternehmens aus Google Drive und erstellt ein vollständig gebrandetes .docx-Angebot mit Diagrammen und Tabellen – ganz ohne manuelle Formatierung.
1. Abhängigkeiten installieren
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-Dienstkonto erstellen (einmalig, ~5 Min.)
Gehen Sie zu console.cloud.google.com → Projekt erstellen/auswählen.
Aktivieren Sie die Google Drive API (APIs & Dienste → Bibliothek → nach „Drive API“ suchen → Aktivieren).
APIs & Dienste → Anmeldedaten → Anmeldedaten erstellen → Dienstkonto.
Geben Sie ihm einen Namen (z. B.
proposal-bot) → Erstellen → Fertig (auf Projektebene sind keine Rollen erforderlich).Klicken Sie auf das neue Dienstkonto → Registerkarte Schlüssel → Schlüssel hinzufügen → JSON → lädt eine Datei herunter.
Benennen Sie es in
service_account.jsonum und legen Sie es inproposal-mcp-server/secrets/ab.Notieren Sie die E-Mail-Adresse des Dienstkontos – sie sieht so aus:
proposal-bot@your-project.iam.gserviceaccount.com
3. Geben Sie Ihre 3 Drive-Ordner für das Dienstkonto frei
Klicken Sie in Google Drive mit der rechten Maustaste auf Template, Resources und Output → Freigeben → fügen Sie die E-Mail-Adresse des Dienstkontos ein → gewähren Sie Editor-Zugriff (Output benötigt Schreibzugriff; Template/Resources benötigen nur Betrachter, aber Editor ist am einfachsten). Dies ist der einzige manuelle Drive-Schritt – danach ist keine OAuth-Anmeldung mehr erforderlich.
4. Umgebung konfigurieren
cp .env.example .envFüllen Sie TEMPLATE_FOLDER_ID, RESOURCES_FOLDER_ID, OUTPUT_FOLDER_ID aus (die Zeichenfolge in der URL jedes Ordners nach /folders/).
Bestätigen Sie, dass Ihre Resources-Dateien mit COMPANY_PROFILE_FILENAME und RATE_CARD_FILENAME in .env übereinstimmen, bzw. benennen Sie sie entsprechend um (oder bearbeiten Sie einfach diese Variablen, sodass sie Ihren tatsächlichen Dateinamen entsprechen).
5. Server bei Claude Desktop registrieren
Bearbeiten Sie Ihre Claude-Desktop-Konfigurationsdatei:
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": "..."
}
}
}
}Starten Sie Claude Desktop neu. Sie sollten „proposal-generator“ unter dem 🔌-Symbol für Verbindungen/Tools sehen.
6. Verwendung
Fragen Sie einfach in einem neuen Chat:
Erstellen Sie ein Angebot für die XYZ Bank, die auf Cloud-Technologie umsteigen möchte. Land: Indien.
Claude wird von sich aus:
get_mandatory_sectionsaufrufen, um zu sehen, was erforderlich ist.get_company_profileaufrufen, um den Inhalt auf realen Fähigkeiten zu basieren.Das Land des vorgeschlagenen Unternehmens anhand des Briefings oder vertrauenswürdiger Unternehmensrecherchen bestätigen und dann
resolve_rate_card_country(country)aufrufen.get_rate_card(country, [...])nur für die relevanten Rollen aufrufen. Die Antwort enthält die exakt ausgewählte Registerkarte und Währung; wenn die Arbeitsmappe keine Länder-Registerkarte hat, wird der Constants/USD-Tagesraten-Fallback klar gemeldet.Jeden der 9 Abschnitte entwerfen (mit echten Tabellen/Aufzählungen/Diagrammen und einem prägnanten technischen Arbeitsablauf).
generate_proposal(...)einmal aufrufen, das das gebrandete .docx rendert und in Ihren Output-Ordner hochlädt – mit einem Drive-Link als Rückgabe.
Später neue Vorlagen hinzufügen
Laden Sie eine neue .docx-Datei (z. B. template_rfp.docx) in den Template-Ordner hoch und fügen Sie einen Eintrag zu template_registry.json (siehe assets/template_registry.example.json) in demselben Ordner hinzu, z. B.:
{ "default": "template.docx", "rfp": "template_rfp.docx" }Claude kann dann list_templates() aufrufen und template_id: "rfp" übergeben.
Projektstruktur
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)Hinweise zur Token-Effizienz
Jedes Tool gibt nur die spezifisch angeforderten Daten zurück (gefilterte Preiszeilen, ein komprimiertes Profil) – niemals die rohen Bytes/Zeilen einer gesamten Datei.
Die Darstellung von Diagrammen/Tabellen/Dokumenten erfolgt vollständig in Python; Claude muss sich nie mit Layout, XML oder Bildkodierung befassen.
Die Preislistenauswahl erfolgt exakt oder über einen expliziten Länder-Alias (z. B.
United Kingdom→UK); es wird nie ein riskanter Teilstring-Abgleich verwendet. Länder ohne eigene Tabelle verwenden automatisch die USD-Basistagesraten des Constants-Blattes und werden im Ergebnis entsprechend gekennzeichnet.Preislisten-/Profildownloads werden für
CACHE_TTL_SECONDSzwischengespeichert, sodass die Erstellung mehrerer Angebote in einer Sitzung Drive nicht jedes Mal erneut abfragt.generate_proposalist ein einziger Aufruf – Claude benötigt keine mehrfachen Round-Trips, um das Dokument Stück für Stück zusammenzusetzen.
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