Bidsketch MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.16.4Updated Nov 7, 2026

Read Bidsketch clients, proposals, fees and templates; create and update clients, proposals, fees.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Read and edit Bidsketch clients, proposals, fee lines, saved fees, sections and templates from an assistant, including creating draft proposals.

What you can do
  • List and read clients, including contact details and each client's proposals
  • List and read proposals, with status, totals, stats, full content, sections and fee lines
  • Create and update clients and proposals, including creating a proposal from a template
  • Add and update proposal sections and fee lines, which change a proposal's price
  • List, read, create and update reusable saved fees and content sections
  • List and read proposal templates and their saved sections and fees
When to use it
Useful when you manage proposals in Bidsketch and want an assistant to look up clients and proposal status, review fees and sections, or draft new proposals and fee lines without switching to the web app.
Requirements
Remote MCP endpoint added by URL only; no local runtime. Sign-in is via OAuth with your Bidsketch credentials, and on first connect you paste a Bidsketch API token created by an Admin user under Account → API Tokens. A paid plan is needed beyond the free monthly call allowance.
Before you install
Write tools create and change clients, proposals, sections and fee lines; fee changes alter proposal prices, and updates overwrite the fields passed. Confirm before any write. The service meters tool calls (free tier is limited) and offers paid plans with payment links and subscription cancellation tools, so spending can occur. Your Bidsketch data passes through a third-party host.

Installation

In SourceWeft

  1. Open Bidsketch MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fbidsketch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "bidsketch-by-usefulapi": {
      "type": "http",
      "url": "https://bidsketch.usefulapi.io/mcp"
    }
  }
}

README

Bidsketch MCP by usefulapi

Read Bidsketch clients, proposals, fees and templates; create and update clients, proposals, fees.

Live endpoint: https://bidsketch.usefulapi.io/mcp · Homepage: https://usefulapi.io/bidsketch

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://bidsketch.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http bidsketch https://bidsketch.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "bidsketch": {      "url": "https://bidsketch.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Bidsketch credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/bidsketch/

On first connect you'll paste your Bidsketch API token (an Admin user creates it in Bidsketch under Account → API Tokens).

Tools

ToolTypeWhat it does
bidsketch_list_clientsreadList clients
bidsketch_get_clientreadGet a client
bidsketch_list_client_proposalsreadList a client's proposals
bidsketch_create_clientwriteCreate a client
bidsketch_update_clientwriteUpdate a client
bidsketch_list_proposalsreadList proposals
bidsketch_get_proposal_statsreadGet proposal stats
bidsketch_get_proposalreadGet a proposal
bidsketch_get_proposal_contentreadGet a proposal's content
bidsketch_list_proposal_sectionsreadList a proposal's sections
bidsketch_get_proposal_sectionreadGet a proposal section
bidsketch_list_proposal_feesreadList a proposal's fees
bidsketch_get_proposal_feereadGet a proposal fee
bidsketch_create_proposalwriteCreate a proposal
bidsketch_update_proposalwriteUpdate a proposal
bidsketch_add_proposal_sectionwriteAdd a section to a proposal
bidsketch_update_proposal_sectionwriteUpdate a proposal section
bidsketch_add_proposal_feewriteAdd a fee to a proposal
bidsketch_update_proposal_feewriteUpdate a proposal fee
bidsketch_list_feesreadList saved fees
bidsketch_get_feereadGet a saved fee
bidsketch_create_feewriteCreate a saved fee
bidsketch_update_feewriteUpdate a saved fee
bidsketch_list_sectionsreadList saved sections
bidsketch_get_sectionreadGet a saved section
bidsketch_create_sectionwriteCreate a saved section
bidsketch_update_sectionwriteUpdate a saved section
bidsketch_list_templatesreadList proposal templates
bidsketch_get_templatereadGet a proposal template
bidsketch_usage_statusmetaUsage status (free-tier meter)
bidsketch_request_featuremetaRequest a missing feature
bidsketch_upgrademetaUpgrade to Pro or Pro+
bidsketch_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with bidsketch_upgrade (it returns a Stripe Checkout link). Cancel any time with bidsketch_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running bidsketch_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Bidsketch.

Source: servers/bidsketch/README.md at commit 4046075

Tools

29

bidsketch_list_clients

List clients

List the clients (people or companies proposals are prepared for) with id, name, email and phone. GET /clients.json.

Parameterspageper_page

bidsketch_get_client

Get a client

Get one client with full contact details, address, notes and secondary contact. GET /clients/{id}.json.

Parametersclient_idrequired

bidsketch_list_client_proposals

List a client's proposals

List the proposals of one client with status (Pending, Viewed, Accepted, Declined) and draft flag. GET /clients/{id}/proposals.json.

Parameterspageper_pageclient_idrequired

bidsketch_create_client

Create a 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.

Parameterscitynameemailrequirednotesphonestatecountrywebsitealt_phonelast_namerequiredfirst_namerequiredpostal_zip+3 more

bidsketch_update_client

Update a client

WRITE: change fields of an existing client; only the fields you pass are sent and overwrite the old values. PUT /clients/{id}.json.

Parameterscitynameemailnotesphonestatecountrywebsitealt_phoneclient_idrequiredlast_namefirst_name+4 more

bidsketch_list_proposals

List proposals

List all proposals with name, status (Pending, Viewed, Accepted, Declined), draft flag and dates. GET /proposals.json.

Parameterspageper_page

bidsketch_get_proposal_stats

Get proposal stats

Proposal statistics for the account (the total number of proposals). GET /proposals/stats.json.

Takes no parameters.

bidsketch_get_proposal

Get a 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.

Parametersproposal_idrequired

bidsketch_get_proposal_content

Get a proposal's content

Get the full content of a proposal in order: opening sections, fees and closing sections. GET /proposals/{id}/content.json.

Parametersproposal_idrequired

bidsketch_list_proposal_sections

List a proposal's sections

List the text sections of one proposal (opening and closing). GET /proposals/{id}/sections.json.

Parameterspageper_pageproposal_idrequired

bidsketch_get_proposal_section

Get a proposal section

Get one section of a proposal with its HTML description. GET /proposals/{id}/sections/{section_id}.json.

Parameterssection_idrequiredproposal_idrequired

bidsketch_list_proposal_fees

List a proposal's fees

List the fee lines of one proposal with type, totals and the optional flag. GET /proposals/{id}/fees.json.

Parameterspageper_pageproposal_idrequired

bidsketch_get_proposal_fee

Get a proposal fee

Get one fee line of a proposal. GET /proposals/{id}/fees/{fee_id}.json.

Parametersfee_idrequiredproposal_idrequired

bidsketch_create_proposal

Create a 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). POST /proposals.json or POST /templates/{id}/proposals.json.

Parameterstaxnamerequiredtax2currencydiscountclient_idrequireddescriptionrequiredtemplate_idproposal_date

bidsketch_update_proposal

Update a proposal

WRITE: change fields of a proposal; only the fields you pass are sent and overwrite the old values. PUT /proposals/{id}.json.

Parameterstaxnametax2currencydiscountclient_iddescriptionproposal_idrequiredproposal_date

bidsketch_add_proposal_section

Add a section to a proposal

WRITE: add a text section to a proposal, as an opening or closing section. POST /proposals/{id}/sections.json.

Parametersnamerequireddescriptionrequiredproposal_idrequiredsectiontyperequired

bidsketch_update_proposal_section

Update a 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.

Parametersnamecategorysection_idrequireddescriptionproposal_idrequiredsectiontype

bidsketch_add_proposal_fee

Add a fee to a proposal

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.

Parametersnamerequiredunitamountrequiredfeetyperequiredcategoryoptionalquantitydescriptionrequiredproposal_idrequired

bidsketch_update_proposal_fee

Update a 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.

Parametersnameunitamountfee_idrequiredfeetypecategoryoptionalquantitydescriptionproposal_idrequired

bidsketch_list_fees

List saved fees

List the reusable fees saved on the account with category, type and total. GET /fees.json.

Parameterspageper_page

bidsketch_get_fee

Get a saved fee

Get one saved fee with amount, quantity, unit and description. GET /fees/{id}.json.

Parametersfee_idrequired

bidsketch_create_fee

Create a saved fee

WRITE: save a reusable fee on the account (it is not added to any proposal). POST /fees.json.

Parametersnamerequiredunitamountrequiredfeetyperequiredcategoryquantitydescription

bidsketch_update_fee

Update a saved 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.

Parametersnameunitamountfee_idrequiredfeetypecategoryquantitydescription

bidsketch_list_sections

List saved sections

List the reusable content sections saved on the account with category and type (opening or closing). GET /sections.json.

Parameterspageper_page

bidsketch_get_section

Get a saved section

Get one saved section with its HTML description. GET /sections/{id}.json.

Parameterssection_idrequired

bidsketch_create_section

Create a saved section

WRITE: save a reusable content section on the account (it is not added to any proposal). POST /sections.json.

Parametersnamerequiredcategorydescriptionsectiontyperequired

bidsketch_update_section

Update a saved 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.

Parametersnamecategorysection_idrequireddescriptionsectiontype

bidsketch_list_templates

List proposal templates

List the proposal templates saved on the account. Use a template id with bidsketch_create_proposal. GET /templates.json.

Parameterspageper_page

bidsketch_get_template

Get a proposal template

Get one template with the saved sections and fees it is made of. GET /templates/{id}.json.

Parameterstemplate_idrequired

Version history

14
  1. v1.16.4LatestNov 7, 2026
  2. v1.15.3Nov 5, 2026
  3. v1.15.2Nov 5, 2026
  4. v1.15.1Nov 4, 2026
  5. v1.15.0Nov 3, 2026
  6. v1.14.1Nov 3, 2026
  7. v1.13.0Nov 1, 2026
  8. v1.11.0Oct 31, 2026
  9. v1.10.0Oct 31, 2026
  10. v1.9.2Oct 30, 2026
  11. v1.9.0Oct 30, 2026
  12. v1.4.0Oct 26, 2026
  13. v1.1.3Oct 25, 2026
  14. v1.1.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations