Skip to main content
Glama

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 서비스 계정 만들기 (1회, 약 5분)

  1. console.cloud.google.com으로 이동 → 프로젝트 생성/선택.

  2. Google Drive API 활성화 (APIs & Services → Library → "Drive API" 검색 → Enable).

  3. APIs & Services → Credentials → Create Credentials → Service Account.

  4. 이름 지정 (예: proposal-bot) → Create → Done (프로젝트 수준에서 역할은 필요 없음).

  5. 새 서비스 계정 클릭 → Keys 탭 → Add Key → JSON → 파일 다운로드.

  6. service_account.json으로 이름을 바꾸고 proposal-mcp-server/secrets/에 배치.

  7. 서비스 계정 이메일을 기록 — 다음과 같은 형식: proposal-bot@your-project.iam.gserviceaccount.com

3. 서비스 계정과 Drive 폴더 3개 공유

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/ 뒤의 문자열).

.envCOMPANY_PROFILE_FILENAMERATE_CARD_FILENAME과 일치하도록 Resources 파일을 확인/이름 변경하세요 (또는 실제 파일 이름에 맞게 해당 변수를 편집하면 됩니다).

5. Claude Desktop에 서버 등록

Claude Desktop 구성 파일을 편집하세요:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %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가 자체적으로 다음을 수행합니다:

  1. get_mandatory_sections를 호출하여 필수 섹션을 확인.

  2. get_company_profile을 호출하여 실제 역량에 기반한 콘텐츠 구성.

  3. 브리프 또는 신뢰할 수 있는 회사 조사에서 제안 대상 회사의 국가를 확인한 후 resolve_rate_card_country(country) 호출.

  4. 관련 역할에 대해서만 get_rate_card(country, [...]) 호출. 응답에는 정확히 선택된 탭과 통화가 포함되며, 워크북에 국가 탭이 없으면 Constants/USD 일일 요금 폴백을 명확히 보고.

  5. 9개 섹션 각각 초안 작성 (실제 표/불릿/차트와 간결한 기술 워크플로 포함).

  6. 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)

토큰 효율성 참고 사항

  • 모든 도구는 요청된 특정 데이터만 반환합니다 (필터링된 요금 행, 요약된 프로필) — 전체 파일의 원시 바이트/행은 절대 반환하지 않습니다.

  • 차트/표/문서 렌더링은 전적으로 Python에서 수행됩니다; Claude는 레이아웃, XML 또는 이미지 인코딩에 대해 추론할 필요가 없습니다.

  • 요금표 선택은 정확한 일치 또는 명시적 국가 별칭(예: United KingdomUK)을 사용합니다; 위험한 부분 문자열 일치는 절대 사용하지 않습니다. 전용 테이블이 없는 국가는 자동으로 Constants 시트의 USD 기본 일일 요금을 사용하며 결과에 그렇게 표시됩니다.

  • 요금표/프로필 다운로드는 CACHE_TTL_SECONDS 동안 캐시되므로 한 세션에서 여러 제안서를 생성해도 매번 Drive에 다시 접근하지 않습니다.

  • generate_proposal은 단일 호출입니다 — Claude가 문서를 조각조각 조립하기 위해 여러 번의 왕복이 필요하지 않습니다.

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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