Dealroom

Draft and negotiate contracts clause by clause; a published formula proposes the compromise.

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
82%
命名品質
95%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'join_negotiation' description lacks action verb在 join_negotiation 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,738Token(工具定義)
~1.7 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.14%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "dealroom": {
      "url": "https://dealroom.todo.law/api/v1/agent/mcp"
    }
  }
}

遠端端點

https://dealroom.todo.law/api/v1/agent/mcpstreamable-http

它能做什麼

工具清單

工具(12)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢list_contract_types(lang)

Every contract type Dealroom can make, with the code to use as contractType, the guide slug, the governing laws and languages it is offered in, the role the caller can take (DPA and BAA only) and the inputs it asks for. Call this first to know what to ask the user. No API key needed.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ],
      "default": "en",
      "description": "Language of names and labels"
    }
  },
  "required": []
}
🟢generate_contract(contractType, governingLaw, language, title, party, ...)

Make a finished contract in one call: give the contract type, your side's details and, if you know them, the other side's. Clauses you leave out take the standard option. One prepaid credit is spent (the same price as any contract); with no credit the answer is HTTP 402 with code PAYMENT_REQUIRED and nothing is created. Returns the contract as Markdown, then the deal id, the link where the person can read it in Dealroom and the Markdown, HTML, PDF, DOCX and TXT links (free to fetch again).

輸入結構描述

{
  "type": "object",
  "properties": {
    "contractType": {
      "type": "string",
      "description": "Code (for example NDA) or guide slug (for example nda), from list_contract_types"
    },
    "governingLaw": {
      "type": "string",
      "enum": [
        "CALIFORNIA",
        "NEW_YORK",
        "ENGLAND_WALES",
        "SPAIN"
      ],
      "description": "Required when the contract type offers more than one"
    },
    "language": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ],
      "default": "en"
    },
    "title": {
      "type": "string",
      "description": "Name of the deal; made from the parties when left out"
    },
    "party": {
      "type": "object",
      "description": "Your side (the side the API key acts for)",
      "properties": {
        "legalName": {
          "type": "string",
          "description": "Full legal name of the company or person"
        },
        "address": {
          "type": "string",
          "description": "Registered or postal address"
        },
        "taxId": {
          "type": "string",
          "description": "Company or tax number, where the contract shows one"
        },
        "signatoryName": {
          "type": "string",
          "description": "Name of the person who signs"
        },
        "signatoryTitle": {
          "type": "string",
          "description": "Title of the person who signs, for example CEO"
        },
        "email": {
          "type": "string",
          "format": "email"
        }
      },
      "required": [
        "legalName"
      ]
    },
    "counterparty": {
      "type": "object",
      "description": "The other side. Left out: its block stays blank for it to complete.",
      "properties": {
        "legalName": {
          "type": "string",
          "description": "Full legal name of the company or person"
        },
        "address": {
          "type": "string",
          "description": "Registered or postal address"
        },
        "taxId": {
          "type": "string",
          "description": "Company or tax number, where the contract shows one"
        },
        "signatoryName": {
          "type": "string",
          "description": "Name of the person who signs"
        },
        "signatoryTitle": {
          "type": "string",
          "description": "Title of the person who signs, for example CEO"
        },
        "email": {
          "type": "string",
          "format": "email"
        }
      },
      "required": [
        "legalName"
      ]
    },
    "role": {
      "type": "string",
      "description": "DPA and BAA only: the role you take (see roles in list_contract_types)"
    },
    "terms": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Inputs by id (see inputs in list_contract_types); required ones must be given"
    },
    "clauses": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Optional clause choices: clause id to option code (see get_template)"
    },
    "inline": {
      "type": "string",
      "enum": [
        "md",
        "html",
        "txt"
      ],
      "default": "md",
      "description": "The contract itself in the answer: md (Markdown, the default here), html or txt"
    },
    "idempotencyKey": {
      "type": "string",
      "description": "Send the same value when retrying, so a retry never makes or charges a second contract"
    }
  },
  "required": [
    "contractType",
    "party"
  ]
}
🟢list_templates(query)

List available contract templates with clauses, options, and bias values. Use this to understand which contract types are available and what options exist for each clause. Pass `query` to search by code, abbreviation or name in English or Spanish ("nda", "dpa", "hipaa", "confidencialidad"), best match first.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional search: contract code, abbreviation or name (English or Spanish)"
    }
  },
  "required": []
}
🟢get_template(contractType)

Get full details for a specific contract template including all clauses and their options with bias values.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contractType": {
      "type": "string",
      "description": "Contract type identifier",
      "enum": [
        "A2A_API_ACCESS",
        "ACTA_CONSEJO_ADMINISTRACION",
        "ACTA_JUNTA_GENERAL",
        "ADVERTISING_IO",
        "ADVISORY",
        "AFFILIATE_PROGRAM",
        "A2A_MONITORING",
        "PHANTOM_SHARES_GRANT",
        "RESIDENTIAL_TENANCY_GB",
        "RESIDENTIAL_TENANCY_US_CA",
        "DELAWARE_CERT_OF_INCORPORATION",
        "A2A_COMPUTE_PROCUREMENT",
        "CONSULTING",
        "A2A_CONTENT_LICENSE",
        "RESIDENTIAL_TENANCY_ES",
        "CONVERTIBLE_NOTE",
        "DATA_LICENSING",
        "DPA",
        "A2A_DATA_SHARING",
        "EMPLOYMENT",
        "CONTRATO_LABORAL",
        "EQUITY_INCENTIVE",
        "FOUNDERS",
        "BAA_NEGOTIATOR",
        "CESION_PI",
        "IP_ASSIGNMENT",
        "INFLUENCER_MARKETING",
        "JOINT_VENTURE",
        "A2A_KNOWLEDGE_ACCESS",
        "PHANTOM_SHARES_PLAN",
        "A2A_MARKETPLACE",
        "MSA",
        "NDA",
        "A2A_ORCHESTRATION",
        "A2A_PAYMENT_AUTHORIZATION",
        "PRIVACY_NOTICE",
        "SAFE",
        "SAAS",
        "SEED_INVESTMENT",
        "CONTRATO_SERVICIOS",
        "SHAREHOLDERS",
        "PACTO_SOCIOS",
        "SOFTWARE_DEVELOPMENT",
        "A2A_SUPPLY_CHAIN",
        "A2A_TASK_DELEGATION",
        "TECHNOLOGY_LICENSE",
        "TEMPLATE",
        "TERM_SHEET",
        "A2A_TOOL_LICENSE",
        "WHITE_LABEL_RESELLER"
      ]
    }
  },
  "required": [
    "contractType"
  ]
}
🟡create_playbook(name, contractType, governingLaw, contractLanguage, entries)

Create a negotiation playbook defining preferences for each clause: preferred option, priority (1-5), flexibility (1-5), red lines, and acceptable alternatives.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Unique playbook name"
    },
    "contractType": {
      "type": "string",
      "description": "Contract type",
      "enum": [
        "A2A_API_ACCESS",
        "ACTA_CONSEJO_ADMINISTRACION",
        "ACTA_JUNTA_GENERAL",
        "ADVERTISING_IO",
        "ADVISORY",
        "AFFILIATE_PROGRAM",
        "A2A_MONITORING",
        "PHANTOM_SHARES_GRANT",
        "RESIDENTIAL_TENANCY_GB",
        "RESIDENTIAL_TENANCY_US_CA",
        "DELAWARE_CERT_OF_INCORPORATION",
        "A2A_COMPUTE_PROCUREMENT",
        "CONSULTING",
        "A2A_CONTENT_LICENSE",
        "RESIDENTIAL_TENANCY_ES",
        "CONVERTIBLE_NOTE",
        "DATA_LICENSING",
        "DPA",
        "A2A_DATA_SHARING",
        "EMPLOYMENT",
        "CONTRATO_LABORAL",
        "EQUITY_INCENTIVE",
        "FOUNDERS",
        "BAA_NEGOTIATOR",
        "CESION_PI",
        "IP_ASSIGNMENT",
        "INFLUENCER_MARKETING",
        "JOINT_VENTURE",
        "A2A_KNOWLEDGE_ACCESS",
        "PHANTOM_SHARES_PLAN",
        "A2A_MARKETPLACE",
        "MSA",
        "NDA",
        "A2A_ORCHESTRATION",
        "A2A_PAYMENT_AUTHORIZATION",
        "PRIVACY_NOTICE",
        "SAFE",
        "SAAS",
        "SEED_INVESTMENT",
        "CONTRATO_SERVICIOS",
        "SHAREHOLDERS",
        "PACTO_SOCIOS",
        "SOFTWARE_DEVELOPMENT",
        "A2A_SUPPLY_CHAIN",
        "A2A_TASK_DELEGATION",
        "TECHNOLOGY_LICENSE",
        "TEMPLATE",
        "TERM_SHEET",
        "A2A_TOOL_LICENSE",
        "WHITE_LABEL_RESELLER"
      ]
    },
    "governingLaw": {
      "type": "string",
      "enum": [
        "CALIFORNIA",
        "NEW_YORK",
        "ENGLAND_WALES",
        "SPAIN"
      ]
    },
    "contractLanguage": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ],
      "default": "en"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "clauseId": {
            "type": "string"
          },
          "preferredOptionId": {
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "flexibility": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "isRedLine": {
            "type": "boolean"
          },
          "acceptableOptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "clauseId",
          "preferredOptionId"
        ]
      }
    }
  },
  "required": [
    "name",
    "contractType",
    "governingLaw",
    "entries"
  ]
}
⚪initiate_negotiation(playbookId, dealName, initiatorEmail, initiatorCompany, respondentEmail, ...)

Start a new contract negotiation. Returns a negotiation token for the respondent to join.

輸入結構描述

{
  "type": "object",
  "properties": {
    "playbookId": {
      "type": "string",
      "description": "ID of your playbook"
    },
    "dealName": {
      "type": "string",
      "description": "Human-readable deal name"
    },
    "initiatorEmail": {
      "type": "string",
      "format": "email"
    },
    "initiatorCompany": {
      "type": "string"
    },
    "respondentEmail": {
      "type": "string",
      "format": "email"
    },
    "respondentCompany": {
      "type": "string"
    }
  },
  "required": [
    "playbookId",
    "dealName",
    "initiatorEmail"
  ]
}
⚪join_negotiation(negotiationToken, playbookId, respondentEmail, respondentCompany)

Join an existing negotiation as the respondent. Triggers automatic compromise resolution and returns the result.

輸入結構描述

{
  "type": "object",
  "properties": {
    "negotiationToken": {
      "type": "string",
      "description": "Token from the initiator"
    },
    "playbookId": {
      "type": "string",
      "description": "ID of your playbook (must match contract type)"
    },
    "respondentEmail": {
      "type": "string",
      "format": "email"
    },
    "respondentCompany": {
      "type": "string"
    }
  },
  "required": [
    "negotiationToken",
    "playbookId",
    "respondentEmail"
  ]
}
🟢get_deal(dealId)

Get deal details including per-clause agreed options, satisfaction scores, and reasoning.

輸入結構描述

{
  "type": "object",
  "properties": {
    "dealId": {
      "type": "string",
      "description": "Agent deal room ID"
    }
  },
  "required": [
    "dealId"
  ]
}
🟢download_contract(dealId, format)

Download the agreed contract as Markdown, HTML, PDF, DOCX or TXT (Markdown by default: agents read it best). Negotiation is free; the contract is paid when its document is first fetched: one prepaid credit of the customer is spent (any of its keys draws on the one balance). Later fetches of the same deal are free. With no credit left the answer is HTTP 402 with code PAYMENT_REQUIRED and the link to buy credits.

輸入結構描述

{
  "type": "object",
  "properties": {
    "dealId": {
      "type": "string",
      "description": "Agent deal room ID"
    },
    "format": {
      "type": "string",
      "enum": [
        "pdf",
        "docx",
        "txt",
        "md",
        "html"
      ],
      "default": "md",
      "description": "md (Markdown) or html for agents and tools; pdf, docx or txt for people and printers"
    }
  },
  "required": [
    "dealId"
  ]
}
⚪buy_credits(currency, returnUrl)

Open a hosted checkout for a pack of ten contract credits for this API key's customer (any of its keys can spend them). Returns checkoutUrl for a person to open in a browser; the credits arrive when the payment succeeds. Answers 409 where payments are off.

輸入結構描述

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "enum": [
        "usd",
        "eur"
      ],
      "default": "usd"
    },
    "returnUrl": {
      "type": "string",
      "description": "URL to return to after checkout"
    }
  },
  "required": []
}
🟢get_credit_balance

Remaining contract credits of this API key's customer (one balance shared by all of its keys) and the latest ledger entries.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_subscriptions

List earlier per-skill subscriptions and their status. Skills are no longer sold one by one; every template is included.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "required": []
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本12 個工具