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 verbjoin_negotiation 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,738トークン数(ツール定義)
~1.7 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.14%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件