Skip to main content
Glama
ahmaddeveloper17

Proposal Generator MCP

Proposal Generator MCP

An MCP (Model Context Protocol) server that turns client requirements into a timeline, tech stack, price estimate, milestone breakdown, and a ready-to-send Markdown proposal document — built for freelancers and agencies.

{
  "clientName": "Green Valley Fertilizers",
  "projectType": "ecommerce",
  "features": ["auth", "ecommerce-catalog", "payments", "admin-dashboard", "search"],
  "region": "pakistan"
}

Use it from Claude Desktop, Claude Code, Cursor, or any MCP-compatible client.

Tools

Tool

Returns

generate_proposal

Full pipeline: JSON summary + Markdown proposal document

estimate_price_and_timeline

Quick estimate: hours, price range, timeline

recommend_tech_stack

Tech stack suggestion based on project type + features

list_feature_catalog

Every recognized feature key with its hour estimate and category

Related MCP server: Calculadora de Propostas T2C Group

Install & run

Option A — from source (local development)

git clone <repo-url> proposal-generator
cd proposal-generator
bun install
bun run build

Start the server:

bun start

Option B — from npm (published package)

npm install -g @proposal-generator/server
# or
bun install -g @proposal-generator/server

Run it:

proposal-generator-mcp

Scripts reference

Script

Description

bun run build

Build with tsdown (ESM + .d.ts + sourcemap)

bun run dev

Watch mode rebuild on changes

bun run lint

Auto-fix lint & formatting issues (biome)

bun run lint:check

Check lint without writing

bun run typecheck

tsc --noEmit type verification

bun run release

Build, bump version, publish to npm


Configure your MCP client

Claude Desktop

Edit claude_desktop_config.json (location varies by OS):

Local source install:

{
  "mcpServers": {
    "proposal-generator": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/proposal-generator/packages/server/dist/index.mjs"]
    }
  }
}

Global npm install:

{
  "mcpServers": {
    "proposal-generator": {
      "command": "npx",
      "args": ["@proposal-generator/server"]
    }
  }
}

Claude Code

# Local source install
claude mcp add proposal-generator -- bun run /absolute/path/to/proposal-generator/packages/server/dist/index.mjs

# Global npm install
claude mcp add proposal-generator -- npx @proposal-generator/server

Cursor

Settings → Features → MCP Servers → Add new MCP server:

Field

Local

npm

Name

proposal-generator

proposal-generator

Type

command

command

Command

bun run /absolute/path/.../dist/index.mjs

npx @proposal-generator/server

opencode

If using opencode, add to your project's opencode.json:

{
  "mcpServers": {
    "proposal-generator": {
      "command": "bun",
      "args": ["run", "packages/server/dist/index.mjs"]
    }
  }
}

Any MCP client (stdio)

{
  "mcpServers": {
    "proposal-generator": {
      "command": "bun",
      "args": ["run", "/path/to/packages/server/dist/index.mjs"]
    }
  }
}

Customizing estimates

Everything that drives the numbers lives in two files — no logic changes needed:

File

What to tune

packages/server/src/data/featureCatalog.ts

Feature keys, hour estimates, tech pulled in

packages/server/src/data/rateCards.ts

Regional hourly rates, base hours per project type, complexity multipliers

The milestone template (phase names, payment splits) lives in packages/server/src/logic/estimator.ts. The proposal document layout lives in packages/server/src/logic/proposalBuilder.ts.

After editing any of these, rebuild with bun run build.


Project structure

proposal-generator/
├── package.json               # workspace root (bun monorepo)
├── biome.json                 # lint & format config
├── tsconfig.base.json         # shared TypeScript config
├── opencode.json              # opencode MCP config
├── .gitignore
├── README.md
│
└── packages/
    └── server/                # @proposal-generator/server
        ├── package.json
        ├── tsconfig.json      # extends tsconfig.base.json
        ├── tsdown.config.ts   # build config
        ├── dist/              # build output (gitignored)
        └── src/
            ├── index.ts                   # MCP server + tool definitions
            ├── data/
            │   ├── featureCatalog.ts      # feature -> hours/tech mapping
            │   └── rateCards.ts           # regional rates, base hours, multipliers
            └── logic/
                ├── estimator.ts           # core math: hours, price, timeline, milestones
                └── proposalBuilder.ts     # renders the Markdown proposal document

Publishing to npm

# Login (one-time)
npm login

# Bump version, tag, and publish
bun run release

This runs: bun run buildbumpp (version bump + git tag) → npm publish.

A
license - permissive license
-
quality - not tested
C
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.

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/ahmaddeveloper17/client-proposal-generator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server