# Bidsketch — MCP server on 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. By: mcp.ai · official Page: https://mcp.ai/bidsketch ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_bidsketch?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/bidsketch/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/bidsketch/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/bidsketch/skill.md Postman collection (v2.1): https://mcp.ai/bidsketch/postman.json ## Tools - bidsketch_create_client(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) — Tool to create a client. Use when adding a new client record to Bidsketch. - bidsketch_create_proposal(tax?: number, name: string, tax2?: number, currency?: string, discount?: number, settings?: object, client_id: integer, description?: string, proposal_date?: string) — Tool to create a new proposal. Use when you need to create a proposal for a client with a name, description, and other details. - bidsketch_delete_client(id: integer) — 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. - bidsketch_delete_fee(fee_id: integer) — 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. - bidsketch_delete_proposal(id: integer) — Tool to delete a proposal and all its content. Use after confirming the proposal ID to prevent accidental deletions. - bidsketch_delete_proposal_fee(fee_id: integer, proposal_id: integer) — Tool to delete a proposal fee. Use when you need to remove an existing fee before finalizing or sending a proposal. - bidsketch_delete_proposal_section(section_id: integer, proposal_id: integer) — Tool to delete a proposal section. Use when you need to remove a section from a proposal after verifying its ID. - bidsketch_delete_section(id: integer) — Tool to delete a section. Use when you need to permanently remove a saved section after confirming its ID. - bidsketch_delete_webhook(id: integer) — 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 - bidsketch_get_client(id: integer) — Tool to get a client by ID. Use when you need detailed client info after obtaining its ID. - bidsketch_get_client_proposals(client_id: integer) — Tool to list proposals for a specific client. Use after confirming the client ID exists. - bidsketch_get_clients() — Tool to retrieve all clients. Use when you need to list all clients on the account. - bidsketch_get_fee(fee_id: integer) — Tool to get a single fee. Use when you need detailed information about a fee by its ID after confirming its existence. - bidsketch_get_fees() — Tool to list all the fees for the account. Use when you need to fetch every saved fee. - bidsketch_get_proposal(id: integer) — Tool to get a proposal by ID. Use when you need detailed information for a specific proposal after obtaining its ID. - bidsketch_get_proposal_content(proposal_id: integer) — Tool to get a proposal with all its content (sections and fees). Use when you need a full proposal in one call. - bidsketch_get_proposal_fee(fee_id: integer, proposal_id: integer) — 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. - bidsketch_get_proposal_fees(page?: integer, per_page?: integer, proposal_id: integer) — Tool to list all fees for a proposal. Use after confirming the proposal ID exists; supports pagination. - bidsketch_get_proposal_section(section_id: integer, proposal_id: integer) — Tool to fetch a single proposal section. Use when you need detailed information for a section after listing proposal sections. - bidsketch_get_proposal_sections(proposal_id: integer) — Tool to get all sections for a proposal. Use when you need to list opening or closing sections by proposal ID. - 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 - bidsketch_get_proposals() — Tool to retrieve all proposals for the account. Use when you need an overview of existing proposals. - bidsketch_get_section(id: integer) — Tool to fetch a section by ID. Use when you need detailed section information after confirming its ID. - 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 - 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 - bidsketch_list_proposal_closing_sections(proposal_id: integer) — 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. - bidsketch_list_proposal_opening_sections(proposal_id: integer) — 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. - bidsketch_post_fee(name: string, unit?: string, amount: number, feetype: string, category?: string, quantity?: integer, description: string) — 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). - bidsketch_post_proposal_fee(name: string, unit?: string, amount: number, feetype: string, optional?: boolean, quantity?: integer, description?: string, proposal_id: integer) — Tool to create a proposal fee. Use after confirming the proposal exists to add a cost line item; require unit when feetype is custom. - bidsketch_post_proposal_section(name: string, description: string, proposal_id: integer, sectiontype: string) — Tool to create a proposal section. Use after confirming a proposal exists to add a new opening or closing section. - bidsketch_post_section(name: string, category?: string, description: string, sectiontype: string) — Tool to create a section. Use when you need to add a new section to your account before including it in proposals. - bidsketch_post_webhook(event: string, endpoint: string) — 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 - bidsketch_put_client(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) — Tool to update a client. Use when you need to modify existing client records with new data. - bidsketch_put_fee(name?: string, unit?: string, amount?: number, fee_id: integer, feetype?: string, category?: string, quantity?: integer, description?: string) — Tool to update a fee. Use when you need to modify existing fee records with new data after verifying current values. - bidsketch_put_proposal(id: integer, tax?: number, name?: string, tax2?: number, currency?: string, discount?: number, settings?: object, client_id?: integer, description?: string, proposal_date?: string) — Tool to update a specific proposal's details. Use after retrieving a proposal to apply changes. - bidsketch_put_proposal_fee(name?: string, unit?: string, amount?: number, fee_id: integer, feetype?: string, optional?: boolean, quantity?: integer, description?: string, proposal_id: integer) — Tool to update a proposal fee. Use when modifying specific properties of an existing fee within a proposal after verifying its existence. - bidsketch_put_proposal_section(name?: string, section_id: integer, description?: string, proposal_id: integer) — Tool to update a proposal section. Use when you need to modify the name or content of an existing section after verifying its existence. - bidsketch_put_section(id: integer, name?: string, category?: string, description?: string, sectiontype?: string) — Tool to update a section. Use when you need to modify an existing section after confirming its ID. ## Example prompts - "What can I do in Bidsketch?" - "Show me a summary of my Bidsketch account" ## Links Docs: https://mcp.ai/docs/mcps/bidsketch Website: https://mcp.ai/mcps/bidsketch