# Bidsketch Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Bidsketch

Manage proposal clients, estimates, fees and templates for your freelance or agency business

- Record: https://musedirectory.ai/connector/bidsketch
- Category: Finance & Bills
- Developer: usefulapi (https://usefulapi.io/bidsketch/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 344ms, checked 2026-10-29T22:51:16Z
- Endpoint: https://bidsketch.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T22:51:16Z)
- Source: Found in the official MCP Registry (io.usefulapi/bidsketch) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fbidsketch

Connect to Bidsketch to read and create clients, proposals, fees and reusable sections. Muse can help you generate estimates, update proposal details, add line items, and organize your proposal templates.

Example request: "Create a new proposal for a client with my standard design fee and hosting costs"

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Bidsketch to help me. It is a free service with an MCP server at https://bidsketch.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- bidsketch_list_clients: List the clients (people or companies proposals are prepared for) with id, name, email and phone. GET /clients.json.
- bidsketch_get_client: Get one client with full contact details, address, notes and secondary contact. GET /clients/{id}.json.
- bidsketch_list_client_proposals: List the proposals of one client with status (Pending, Viewed, Accepted, Declined) and draft flag. GET /clients/{id}/proposals.json.
- bidsketch_create_client: WRITE: create a client in Bidsketch. first_name, last_name and email are required (put a company name in `name`). Some Bidsketch plans cap the number of clients (HTTP 426 when reached). POST /clients.json.
- bidsketch_update_client: WRITE: change fields of an existing client; only the fields you pass are sent and overwrite the old values. PUT /clients/{id}.json.
- bidsketch_list_proposals: List all proposals with name, status (Pending, Viewed, Accepted, Declined), draft flag and dates. GET /proposals.json.
- bidsketch_get_proposal_stats: Proposal statistics for the account (the total number of proposals). GET /proposals/stats.json.
- bidsketch_get_proposal: Get one proposal: status, client, currency, fee subtotals and total, tax/discount, settings and counts of its opening sections, fees and closing sections. GET /proposals/{id}.json.
- bidsketch_get_proposal_content: Get the full content of a proposal in order: opening sections, fees and closing sections. GET /proposals/{id}/content.json.
- bidsketch_list_proposal_sections: List the text sections of one proposal (opening and closing). GET /proposals/{id}/sections.json.
- bidsketch_get_proposal_section: Get one section of a proposal with its HTML description. GET /proposals/{id}/sections/{section_id}.json.
- bidsketch_list_proposal_fees: List the fee lines of one proposal with type, totals and the optional flag. GET /proposals/{id}/fees.json.
- bidsketch_get_proposal_fee: Get one fee line of a proposal. GET /proposals/{id}/fees/{fee_id}.json.
- bidsketch_create_proposal: WRITE: create a proposal for a client, optionally from a template (template_id from bidsketch_list_templates, which copies its sections and fees). The proposal is created as a draft; this tool does not send anything to the client. Some plans cap the number of proposals (HTTP 426)
- bidsketch_update_proposal: WRITE: change fields of a proposal; only the fields you pass are sent and overwrite the old values. PUT /proposals/{id}.json.
- bidsketch_add_proposal_section: WRITE: add a text section to a proposal, as an opening or closing section. POST /proposals/{id}/sections.json.
- bidsketch_update_proposal_section: WRITE: change a section of a proposal; only the fields you pass are sent and overwrite the old values. PUT /proposals/{id}/sections/{section_id}.json.
- bidsketch_add_proposal_fee: WRITE: add a fee line to a proposal; it changes the proposal's price. Fixed fees take amount as the total; hourly, monthly and yearly fees take amount per unit and a quantity. POST /proposals/{id}/fees.json.
- bidsketch_update_proposal_fee: WRITE: change a fee line of a proposal (changes its price); only the fields you pass are sent. PUT /proposals/{id}/fees/{fee_id}.json.
- bidsketch_list_fees: List the reusable fees saved on the account with category, type and total. GET /fees.json.
- bidsketch_get_fee: Get one saved fee with amount, quantity, unit and description. GET /fees/{id}.json.
- bidsketch_create_fee: WRITE: save a reusable fee on the account (it is not added to any proposal). POST /fees.json.
- bidsketch_update_fee: WRITE: change a saved fee; only the fields you pass are sent. Proposals that already use it keep their own copy. PUT /fees/{id}.json.
- bidsketch_list_sections: List the reusable content sections saved on the account with category and type (opening or closing). GET /sections.json.
- bidsketch_get_section: Get one saved section with its HTML description. GET /sections/{id}.json.
- bidsketch_create_section: WRITE: save a reusable content section on the account (it is not added to any proposal). POST /sections.json.
- bidsketch_update_section: WRITE: change a saved section; only the fields you pass are sent. Proposals that already use it keep their own copy. PUT /sections/{id}.json.
- bidsketch_list_templates: List the proposal templates saved on the account. Use a template id with bidsketch_create_proposal. GET /templates.json.
- bidsketch_get_template: Get one template with the saved sections and fees it is made of. GET /templates/{id}.json.

Screening checks:
- MCP handshake: pass (Answered in 344ms)
- Domain against threat feeds (Cloudflare security DNS): pass (bidsketch.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (29 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
