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 |
| Full pipeline: JSON summary + Markdown proposal document |
| Quick estimate: hours, price range, timeline |
| Tech stack suggestion based on project type + features |
| Every recognized feature key with its hour estimate and category |
Install & run
Option A — from source (local development)
git clone <repo-url> proposal-generator
cd proposal-generator
bun install
bun run buildStart the server:
bun startOption B — from npm (published package)
npm install -g @proposal-generator/server
# or
bun install -g @proposal-generator/serverRun it:
proposal-generator-mcpScripts reference
Script | Description |
| Build with tsdown (ESM + .d.ts + sourcemap) |
| Watch mode rebuild on changes |
| Auto-fix lint & formatting issues (biome) |
| Check lint without writing |
|
|
| 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/serverCursor
Settings → Features → MCP Servers → Add new MCP server:
Field | Local | npm |
Name |
|
|
Type |
|
|
Command |
|
|
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 |
| Feature keys, hour estimates, tech pulled in |
| 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 documentPublishing to npm
# Login (one-time)
npm login
# Bump version, tag, and publish
bun run releaseThis runs: bun run build → bumpp (version bump + git tag) → npm publish.
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/ahmaddeveloper17/client-proposal-generator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server