# Better Proposals — how to use (mcp.ai)

Connect your Better Proposals account and use 23 tools for proposals and invoices straight from your AI agent. Connect with your own API key. Better Proposals is a web-based proposal creation tool that enables users to send professionally designed proposals.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_better_proposals?ms=1787296080000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `better_proposals_create_company`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/better_proposals`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/better_proposals/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/better_proposals/create/company` — Tool to create a new company. Use after confirming the company does not already exist.
  - body: { CompanyName: string }
- `POST https://api.mcp.ai/api/better_proposals/create/document/type` — Tool to create a new document type. Use after confirming the desired type name does not already exist.
  - body: { TypeName: string, TypeColour?: string }
- `POST https://api.mcp.ai/api/better_proposals/create/proposal/cover` — Tool to create a new proposal cover design. Use when you need a custom cover design before sending out a proposal. Use after finalizing cover settings.
  - body: { BrandID?: integer, BGColour?: string, Headline?: string, CoverName?: string, Subheader?: string, TextAlign?: string, ButtonText?: string, TextColour?: string, ButtonStyle?: string }
- `POST https://api.mcp.ai/api/better_proposals/get/all/companies` — Tool to retrieve a paginated list of all companies. Use when listing available companies for display or selection.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/all/currencies` — Tool to retrieve a paginated list of all currencies. Use when listing available currency options before selection.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/all/document/types` — Tool to retrieve a paginated list of all document types. Use when you need to display or select a document type ID.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/all/proposals` — Tool to retrieve a paginated list of all proposals. Use when you need to fetch proposals list after validating credentials.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/all/quotes` — Tool to retrieve a paginated list of all quotes. Use after setting pagination parameters.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/all/templates` — Tool to retrieve a paginated list of all templates. Use when you need to list available templates for selection.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/brand/settings` — Tool to retrieve settings for the default brand. Use when you need default-brand configuration (colors, tax, name, etc.) before creating or customizing documents.
- `POST https://api.mcp.ai/api/better_proposals/get/company` — Tool to retrieve details of a specific company. Use when you need company metadata by ID.
  - body: { company_id: string }
- `POST https://api.mcp.ai/api/better_proposals/get/currency` — Tool to retrieve details of a specific currency. Use when you need currency metadata by ID.
  - body: { currency_id: string }
- `POST https://api.mcp.ai/api/better_proposals/get/new/proposals` — Tool to retrieve all new proposals. Use after validating credentials when you need only newly created proposals.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/opened/proposals` — Tool to retrieve all opened proposals. Use when you need proposals that recipients have opened.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/paid/proposals` — Tool to retrieve all paid proposals. Use when you need to list proposals that have been paid.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/proposal` — Tool to retrieve details of a specific proposal by ID. Use when you need complete proposal metadata and content.
  - body: { proposal_id: string }
- `POST https://api.mcp.ai/api/better_proposals/get/proposal/count` — Tool to retrieve the total count of proposals. Use when you need to know how many proposals exist.
- `POST https://api.mcp.ai/api/better_proposals/get/quote` — Tool to retrieve details of a specific quote. Use when you need full quote data by ID.
  - body: { quote_id: string }
- `POST https://api.mcp.ai/api/better_proposals/get/sent/proposals` — Tool to retrieve all sent proposals. Use after dispatching proposals to clients to list them.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/settings` — Tool to retrieve current account settings. Use when you need default currency, tax, and timezone configuration before creating proposals.
- `POST https://api.mcp.ai/api/better_proposals/get/signed/proposals` — Tool to retrieve all signed proposals. Use when you need to list proposals clients have signed after confirming credentials.
  - body: { page?: integer, type?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/better_proposals/get/template` — Tool to retrieve details of a specific template. Use after selecting the template ID to fetch metadata.
  - body: { template_id: string }
- `POST https://api.mcp.ai/api/better_proposals/list/merge/tags` — Tool to retrieve custom merge tags with pagination support. Use when you need to list available merge tags for templates.
  - body: { page?: integer, per_page?: integer }

## Example prompts
- "What can I do in Better Proposals?"
- "Show me a summary of my Better Proposals account"

## More
- Page: https://mcp.ai/better_proposals
- Agent spec (llms.txt): https://mcp.ai/better_proposals/llms.txt
- Postman collection: https://mcp.ai/better_proposals/postman.json
