Deal Rooms tools include field-level argument descriptions and runnable examples for MCP clients.
Tools Covered
| Tool | Mutation | Backend Routes |
|---|---|---|
dealroom_list |
No | /view-all-pitches-sorted |
dealroom_open |
No | /retrieve-pitch |
dealroom_edit |
Yes | – |
dealroom_create_from_playbook |
Yes | – |
dealroom_list
List deal rooms with search/sort/pagination.
Backend routes: /view-all-pitches-sorted
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
sort_order |
string (ASC | DESC) | No | Sort direction. | DESC |
page |
number | No | Pagination page number (1-based). Defaults to 1. | 1 |
page_size |
number | No | Number of rows per page. Defaults to 50, maximum 200. | 50 |
search |
string | No | Free-text search term for list endpoints. | banking |
only_owner |
boolean | No | When true, list only deal rooms owned by caller. | false |
archived |
boolean | No | When true, list archived records. | false |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
List active deal rooms
{
"jsonrpc": "2.0",
"id": "dealroom_list-1",
"method": "tools/call",
"params": {
"name": "dealroom_list",
"arguments": {
"page": 1,
"page_size": 50,
"sort_order": "DESC",
"search": "Mural",
"only_owner": false,
"archived": false
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "dealroom_list",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for dealroom_list.",
"status": 400,
"retryable": false
}
}
dealroom_open
Open deal room and return canonical metadata.
Backend routes: /retrieve-pitch
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
pitch_id |
string | Yes | Deal room / playbook pitch identifier. | PCH1774126974294428638749 |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
Open one deal room
{
"jsonrpc": "2.0",
"id": "dealroom_open-1",
"method": "tools/call",
"params": {
"name": "dealroom_open",
"arguments": {
"pitch_id": "PCH1774126974294428638749"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "dealroom_open",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for dealroom_open.",
"status": 400,
"retryable": false
}
}
dealroom_edit
Edit a deal room using the same payload contract as /edit-pitch-with-sections-and-contents.
Backend routes: Derived/indirect handler route.
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
pitch_id |
string | Yes | Deal room / playbook pitch identifier. | PCH1774126974294428638749 |
pitch_data |
object | No | Direct payload object for `/edit-pitch-with-sections-and-contents` pitchData. Use this when you want to pass a full update object instead of individual top-level fields. | {"title":"Mural x Revspire Workspace","headline":"Updated buyer workspace","public_access":true} |
sections |
array | No | Deal room sections array sent to `/edit-pitch-with-sections-and-contents`. If omitted, MCP auto-loads existing sections from the current pitch. | [{"id":"SEC1774126974294428638749","name":"Security and Compliance","order":1,"visibility":"Internal & External","contents":[{"id":"HXP1774126974294428638749","content":"KBD0215806635290000000000","arrangement":1,"tagline":"Security Overview","visibility":"Internal & External"}]}] |
content_groups |
array | No | Optional content group payload array forwarded to `/edit-pitch-with-sections-and-contents` for grouped content layouts. | [{"id":"GRP1774126974294428638749","name":"Security Bundle","order":1}] |
custom_field_values |
object | No | Custom field key-value map sent during deal room edit. | {"budget_confirmed":"Yes","target_close_date":"2026-06-30"} |
allow_empty_sections |
boolean | No | When true and `sections` is explicitly empty, MCP allows sending an empty sections array instead of auto-filling from existing deal room sections. | false |
dealroom_name |
string | No | Display name for new deal room. If omitted, backend can derive from fallback `name`/playbook metadata. | Mural - Openspace Mid Market Deal Room |
name |
string | No | Alternate name field accepted by upstream create route. | Mural - Openspace Mid Market Deal Room |
opportunity_id |
string | No | Optional CRM opportunity ID associated with newly created deal room. | 006fk000000casSAAQ |
account_id |
string | No | Optional CRM account ID associated with newly created deal room. | 001fk000003Ja1xAAC |
title |
string | No | Optional title override shown in deal room hero/header. | Mural x Revspire Workspace |
headline |
string | No | Optional headline override for deal room cover section. | Everything your buying team needs in one place |
description |
string | No | Long-form description text for deal room metadata. | Mutual action plan, case studies, and security resources for evaluation. |
public_access |
boolean | No | If true, creates deal room with public access mode enabled. | true |
primary_color |
string | No | Brand primary color hex code for generated deal room. | #2C6BED |
crm_type |
string | No | CRM source hint forwarded to creation route. | salesforce |
disable_otp |
boolean | No | Disable OTP requirement for external viewers where policy permits. | false |
published |
boolean | No | When true, publish the created deal room immediately. | true |
cta_config |
object | No | Call-to-action configuration object expected by pitch create route. | {"primaryLabel":"Book a demo","primaryUrl":"https://calendly.com/revspire/demo"} |
dynamic_profiling |
boolean | No | Enable dynamic profiling features in created deal room. | false |
ai_bot_questions |
string | No | Seed questions for AI assistant in created deal room. | What does implementation timeline look like? |
branding |
object | No | Branding payload override object used during clone/create. | {"logo":"https://cdn.example.com/logo.png","theme":"light"} |
pitch_content_option |
object | No | Content inclusion options for playbook-to-dealroom cloning. | {"includeArchived":false} |
crm_amount |
number | No | Argument `crm_amount` for tool `dealroom_edit`. | 1 |
crm_currency_iso |
string | No | Argument `crm_currency_iso` for tool `dealroom_edit`. | example_crm_currency_iso |
crm_stage_id |
string | No | Argument `crm_stage_id` for tool `dealroom_edit`. | CRM_STAGE_ID_EXAMPLE |
crm_stage_name |
string | No | Argument `crm_stage_name` for tool `dealroom_edit`. | example_crm_stage_name |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Update deal room metadata without changing sections
{
"jsonrpc": "2.0",
"id": "dealroom_edit-1",
"method": "tools/call",
"params": {
"name": "dealroom_edit",
"arguments": {
"pitch_id": "PCH1774126974294428638749",
"dealroom_name": "Mural - Security Review Room",
"title": "Mural x Revspire Security Review",
"headline": "Updated stakeholder workspace",
"public_access": true
}
}
}
Update metadata and send explicit sections payload
{
"jsonrpc": "2.0",
"id": "dealroom_edit-2",
"method": "tools/call",
"params": {
"name": "dealroom_edit",
"arguments": {
"pitch_id": "PCH1774126974294428638749",
"pitch_data": {
"description": "Updated workspace for procurement and legal review."
},
"sections": [
{
"id": "SEC1774126974294428638749",
"name": "Procurement",
"order": 1,
"visibility": "Internal & External",
"contents": [
{
"id": "HXP1774126974294428638749",
"content": "KBD0215806635290000000000",
"arrangement": 1,
"tagline": "Pricing Pack",
"visibility": "Internal & External"
}
]
}
],
"content_groups": [],
"custom_field_values": {
"target_close_date": "2026-06-30"
},
"allow_empty_sections": false
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "dealroom_edit",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for dealroom_edit.",
"status": 400,
"retryable": false
}
}
dealroom_create_from_playbook
Create deal room from playbook with optional placeholder rendering and usage increment.
Backend routes: Derived/indirect handler route.
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
playbook_id |
string | Yes | Source playbook pitch ID used for cloning into a deal room. | ITV8581355464240000000000 |
dealroom_name |
string | No | Display name for new deal room. If omitted, backend can derive from fallback `name`/playbook metadata. | Mural - Openspace Mid Market Deal Room |
name |
string | No | Alternate name field accepted by upstream create route. | Mural - Openspace Mid Market Deal Room |
opportunity_id |
string | No | Optional CRM opportunity ID associated with newly created deal room. | 006fk000000casSAAQ |
account_id |
string | No | Optional CRM account ID associated with newly created deal room. | 001fk000003Ja1xAAC |
title |
string | No | Optional title override shown in deal room hero/header. | Mural x Revspire Workspace |
headline |
string | No | Optional headline override for deal room cover section. | Everything your buying team needs in one place |
description |
string | No | Long-form description text for deal room metadata. | Mutual action plan, case studies, and security resources for evaluation. |
public_access |
boolean | No | If true, creates deal room with public access mode enabled. | true |
primary_color |
string | No | Brand primary color hex code for generated deal room. | #2C6BED |
crm_type |
string | No | CRM source hint forwarded to creation route. | salesforce |
disable_otp |
boolean | No | Disable OTP requirement for external viewers where policy permits. | false |
published |
boolean | No | When true, publish the created deal room immediately. | true |
cta_config |
object | No | Call-to-action configuration object expected by pitch create route. | {"primaryLabel":"Book a demo","primaryUrl":"https://calendly.com/revspire/demo"} |
dynamic_profiling |
boolean | No | Enable dynamic profiling features in created deal room. | false |
ai_bot_questions |
string | No | Seed questions for AI assistant in created deal room. | What does implementation timeline look like? |
branding |
object | No | Branding payload override object used during clone/create. | {"logo":"https://cdn.example.com/logo.png","theme":"light"} |
pitch_content_option |
object | No | Content inclusion options for playbook-to-dealroom cloning. | {"includeArchived":false} |
placeholder_replacements |
object | No | Template placeholder replacement key-value map used while rendering clone. | {"company_name":"Mural","renewal_date":"2026-09-30"} |
content_option_selections |
object | No | Map of slot content IDs (or slot instance IDs) to selected alternative content IDs from playbook content options. | {"KBD0215806635290000000000":"KBD5567454989590000000000"} |
allow_placeholder_failures |
boolean | No | When true, continue create flow even if some placeholders cannot be resolved. | true |
copy_background_assets |
boolean | No | When true, clone playbook public assets (main background, login background, and client logo) to the new deal room. | true |
disable_auto_description |
boolean | No | When true, skip MCP generated description and keep explicit/source description fallback behavior. | false |
client_name |
string | No | Optional client/company name used by MCP description generator for a more specific buyer-facing summary. | Mural |
strict_usage_increment |
boolean | No | When true, fail if playbook usage increment step cannot complete. | false |
render_folder_id |
string | No | Optional target folder ID for rendered cloned deal room assets. | WRS3019077808610000000000 |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Create deal room from playbook template
{
"jsonrpc": "2.0",
"id": "dealroom_create_from_playbook-1",
"method": "tools/call",
"params": {
"name": "dealroom_create_from_playbook",
"arguments": {
"playbook_id": "ITV8581355464240000000000",
"dealroom_name": "Mural - Openspace Mid Market Deal Room",
"client_name": "Mural",
"public_access": true,
"content_option_selections": {
"KBD0215806635290000000000": "KBD5567454989590000000000"
},
"placeholder_replacements": {
"company_name": "Mural"
},
"allow_placeholder_failures": true,
"copy_background_assets": true
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "dealroom_create_from_playbook",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for dealroom_create_from_playbook.",
"status": 400,
"retryable": false
}
}