Skip to main content

Remote MCP server

Deal Desk speaks the Model Context Protocol at:

https://app.dealdesk.studio/mcp
  • Transport: Streamable HTTP (one JSON-RPC message per POST, answered as application/json). Protocol versions 2025-06-18, 2025-03-26 and 2024-11-05.
  • Authentication: the same API key, as Authorization: Bearer .... A read-only key only sees the read-only tools.
  • Stateless: no session id and no server-sent stream (GET /mcp answers 405), so any request can go to any server.

Connect a client​

Each setup below takes an API key from Developer in Deal Desk (see API keys and scopes). Developer also shows them with your key filled in. Which clients can connect today is on Which clients can connect.

claude mcp add --transport http dealdesk https://app.dealdesk.studio/mcp --header "Authorization: Bearer ddk_live_..."

Add --scope project to share it through .mcp.json (keep the key out of version control: use --header "Authorization: Bearer ${DEALDESK_API_KEY}" there). Or let the command line tool do it: dealdesk mcp install claude-code.

Tools​

Each tool is one API operation, run with the connection's key. Results come back as structured content (and the same JSON as text), with numbered citations wherever Deal Desk used the library. Inputs marked optional can be left out.

ToolWhat it doesInputsScope
get_accountThe account, plan, features and this key's scopes.noneread
search_libraryPassages from your library that answer a question, numbered, with their source document and heading, to cite.queryread
list_library_sourcesDocuments in the library and their indexing status.noneread
add_library_documentAdd a .docx, .pdf or text document to the library.name, content_type optional, data optional, text optionalwrite
teach_factTell Deal Desk facts about the company ("We have 18 employees"); only what is stated is kept. Also answers questions about what it knows.factwrite
list_factsThe facts the company has taught it.noneread
remove_factRemove a wrong or outdated fact.fact_idwrite
list_knowledge_gapsFacts open RFP responses are still missing: good questions to ask.noneread
draft_proposalNotes, a transcript or an email thread in; a structured proposal (customer, scope, line items, discounts, terms) saved as a draft out. Never invents prices or names.notes, language optionalwrite
list_proposalsProposals, orders and agreements, newest first.noneread
get_proposalOne proposal's fields, line items and totals per year.numberread
update_proposalChange fields, line items or discounts. Never changes the status.number, discounts optional, fields optional, lineItems optional, version optionalwrite
send_proposal_for_signatureEmail the customer a link to sign, with Deal Desk e-signature. Billed as a sent deal.customer_email, number, customer_name optional, customer_title optionalsend
start_rfp_responseUpload an RFP, RFI, questionnaire, a customer's own form or a capability matrix; it is broken into every requirement.name, content_type optional, data optional, deal_number optional, text optionalwrite
list_rfp_responsesDocuments being answered.noneread
get_rfp_statusReading or ready, counts by status, and drafting progress.rfp_idread
get_rfp_requirementsRequirements with drafted answers, citations, unverified claims and the fact each still needs.rfp_id, limit optional, needs_input optional, offset optional, status optionalread
draft_rfp_answerDraft or redraft one answer from the library.requirement_id, rfp_idwrite
draft_all_rfp_answersDraft every open answer in the background.rfp_id, cancel optionalwrite
update_rfp_answerEdit an answer or mark it answered (approved answers teach the library) or not applicable.requirement_id, rfp_id, response optional, status optionalwrite
answer_rfp_gapGive the missing fact; it is kept and the answer redrafted.answer, requirement_id, rfp_idwrite

The library and facts tools work on every paid plan, from Starter. The RFP tools need the RFP responder add-on; without it they return an error the agent can read and explain. Before you give an agent a key that can write, read Keep private things private.