# Bidsketch — how to use (mcp.ai)

Connect your Bidsketch account and use 38 tools for proposals and invoices straight from your AI agent. Connect with your own API key. Bidsketch is a proposal software that helps businesses create professional proposals quickly and efficiently.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_bidsketch?ms=1787295960000`
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. `bidsketch_create_client`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/bidsketch`
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/bidsketch/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/bidsketch/create/client` — Tool to create a client. Use when adding a new client record to Bidsketch.
  - body: { city?: string, name?: string, email: string, notes?: string, phone?: string, state?: string, country?: string, website?: string, alt_phone?: string, last_name: string, first_name: string, postal_zip?: string, other_contact?: object, address_field_one?: string, address_field_two?: string }
- `POST https://api.mcp.ai/api/bidsketch/create/proposal` — Tool to create a new proposal. Use when you need to create a proposal for a client with a name, description, and other details.
  - body: { tax?: number, name: string, tax2?: number, currency?: string, discount?: number, settings?: object, client_id: integer, description?: string, proposal_date?: string }
- `POST https://api.mcp.ai/api/bidsketch/delete/client` — Tool to delete a client and all their proposals. Use when you want to permanently remove a client and its associated proposals from your account.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/fee` — Tool to delete a fee. Use when a saved fee is no longer needed. Use after confirming this fee isn't referenced in any live proposals.
  - body: { fee_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/proposal` — Tool to delete a proposal and all its content. Use after confirming the proposal ID to prevent accidental deletions.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/proposal/fee` — Tool to delete a proposal fee. Use when you need to remove an existing fee before finalizing or sending a proposal.
  - body: { fee_id: integer, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/proposal/section` — Tool to delete a proposal section. Use when you need to remove a section from a proposal after verifying its ID.
  - body: { section_id: integer, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/section` — Tool to delete a section. Use when you need to permanently remove a saved section after confirming its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/delete/webhook` — Permanently delete a webhook subscription by ID. This removes the webhook and stops all future event notifications to its endpoint. Use this tool when you no longer need to receive events at a specifi
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/client` — Tool to get a client by ID. Use when you need detailed client info after obtaining its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/client/proposals` — Tool to list proposals for a specific client. Use after confirming the client ID exists.
  - body: { client_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/clients` — Tool to retrieve all clients. Use when you need to list all clients on the account.
- `POST https://api.mcp.ai/api/bidsketch/get/fee` — Tool to get a single fee. Use when you need detailed information about a fee by its ID after confirming its existence.
  - body: { fee_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/fees` — Tool to list all the fees for the account. Use when you need to fetch every saved fee.
- `POST https://api.mcp.ai/api/bidsketch/get/proposal` — Tool to get a proposal by ID. Use when you need detailed information for a specific proposal after obtaining its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/content` — Tool to get a proposal with all its content (sections and fees). Use when you need a full proposal in one call.
  - body: { proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/fee` — Tool to get a single fee item for a proposal. Use when you need detailed information about a specific fee before updating or displaying it.
  - body: { fee_id: integer, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/fees` — Tool to list all fees for a proposal. Use after confirming the proposal ID exists; supports pagination.
  - body: { page?: integer, per_page?: integer, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/section` — Tool to fetch a single proposal section. Use when you need detailed information for a section after listing proposal sections.
  - body: { section_id: integer, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/sections` — Tool to get all sections for a proposal. Use when you need to list opening or closing sections by proposal ID.
  - body: { proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/proposal/stats` — Get proposal statistics for your Bidsketch account. This endpoint retrieves the total count of proposals in your account, including all proposals regardless of their status (draft, sent, won, lost, or
- `POST https://api.mcp.ai/api/bidsketch/get/proposals` — Tool to retrieve all proposals for the account. Use when you need an overview of existing proposals.
- `POST https://api.mcp.ai/api/bidsketch/get/section` — Tool to fetch a section by ID. Use when you need detailed section information after confirming its ID.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/bidsketch/get/sections` — Retrieves all reusable proposal sections saved to your Bidsketch account. Sections are text blocks that can be included in proposals, categorized as 'opening' (appear at the start) or 'closing' (appea
- `POST https://api.mcp.ai/api/bidsketch/get/templates` — Retrieves all proposal templates saved in the account. Templates contain predefined sections, fees, and structure that can be used to create new proposals. Use this action to discover available templa
- `POST https://api.mcp.ai/api/bidsketch/list/proposal/closing/sections` — Tool to get a collection of closing sections for a proposal. Closing sections appear at the end of the proposal. Use when you need to retrieve all closing sections for a specific proposal.
  - body: { proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/list/proposal/opening/sections` — Tool to get a collection of opening sections for a proposal. Opening sections appear first in the proposal. Use when you need to retrieve all opening sections for a specific proposal.
  - body: { proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/post/fee` — Tool to create a fee. Use when you need to add a reusable fee to the account before adding it to a proposal. Ensure required fields are set (e.g., unit for custom fees).
  - body: { name: string, unit?: string, amount: number, feetype: string, category?: string, quantity?: integer, description: string }
- `POST https://api.mcp.ai/api/bidsketch/post/proposal/fee` — Tool to create a proposal fee. Use after confirming the proposal exists to add a cost line item; require unit when feetype is custom.
  - body: { name: string, unit?: string, amount: number, feetype: string, optional?: boolean, quantity?: integer, description?: string, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/post/proposal/section` — Tool to create a proposal section. Use after confirming a proposal exists to add a new opening or closing section.
  - body: { name: string, description: string, proposal_id: integer, sectiontype: string }
- `POST https://api.mcp.ai/api/bidsketch/post/section` — Tool to create a section. Use when you need to add a new section to your account before including it in proposals.
  - body: { name: string, category?: string, description: string, sectiontype: string }
- `POST https://api.mcp.ai/api/bidsketch/post/webhook` — Create a webhook subscription in Bidsketch to receive real-time notifications when specific events occur. Webhooks enable your application to receive immediate notifications when events happen in Bids
  - body: { event: string, endpoint: string }
- `POST https://api.mcp.ai/api/bidsketch/put/client` — Tool to update a client. Use when you need to modify existing client records with new data.
  - body: { id: integer, city?: string, name?: string, email?: string, notes?: string, phone?: string, state?: string, country?: string, website?: string, alt_phone?: string, last_name?: string, first_name?: string, postal_zip?: string, other_contact?: object, address_field_one?: string, address_field_two?: string }
- `POST https://api.mcp.ai/api/bidsketch/put/fee` — Tool to update a fee. Use when you need to modify existing fee records with new data after verifying current values.
  - body: { name?: string, unit?: string, amount?: number, fee_id: integer, feetype?: string, category?: string, quantity?: integer, description?: string }
- `POST https://api.mcp.ai/api/bidsketch/put/proposal` — Tool to update a specific proposal's details. Use after retrieving a proposal to apply changes.
  - body: { id: integer, tax?: number, name?: string, tax2?: number, currency?: string, discount?: number, settings?: object, client_id?: integer, description?: string, proposal_date?: string }
- `POST https://api.mcp.ai/api/bidsketch/put/proposal/fee` — Tool to update a proposal fee. Use when modifying specific properties of an existing fee within a proposal after verifying its existence.
  - body: { name?: string, unit?: string, amount?: number, fee_id: integer, feetype?: string, optional?: boolean, quantity?: integer, description?: string, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/put/proposal/section` — Tool to update a proposal section. Use when you need to modify the name or content of an existing section after verifying its existence.
  - body: { name?: string, section_id: integer, description?: string, proposal_id: integer }
- `POST https://api.mcp.ai/api/bidsketch/put/section` — Tool to update a section. Use when you need to modify an existing section after confirming its ID.
  - body: { id: integer, name?: string, category?: string, description?: string, sectiontype?: string }

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

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