mcpField
D
Dealroom

Dealroom

Remote
dealroom.todo.lawLegal & Government2Updated today

About Dealroom

Dealroom is a platform for asynchronous, two-party contract negotiation, suited to teams handling structured clause discussions. Its compromise formula uses both parties’ firmness and option bias, and it can be self-hosted.

Key features

  1. 01Negotiate contract clauses step by step
  2. 02Suggest compromises from firmness and bias
  3. 03Built-in NDA, DPA, and MSA templates
  4. 04English and Castilian Spanish contracts
  5. 05Separate platform admin and supervisor roles

Use cases

  1. 01Negotiate contract terms asynchronously between two parties
  2. 02Generate compromises from each party’s preferences
  3. 03Draft agreements with built-in contract templates
  4. 04Self-host negotiation management at a law firm

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://dealroom.todo.law/api/v1/agent/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://dealroom.todo.law/api/v1/agent/mcpAuth required

Tools

18
ParameterTypeRequiredDescription
langenumNoLanguage of names and labelsen | es
summarybooleanNoOptional: leave the inputs out of each type (each then carries inputCount)
contractTypestringNoOptional: one code (for example DPA) or guide slug; only that type is returned, with its inputs

Details

From the project README

Dealroom

License: AGPL v3

Two-party async contract negotiation platform with weighted compromise algorithm.

Features

  • Contract Negotiation — Structured clause-by-clause negotiation workflow
  • Weighted Compromise — Algorithm suggests fair compromises based on party firmness and option bias
  • Contract Skills — Built-in templates (NDA, DPA, MSA, etc.) plus premium skills for your own instance
  • Bilingual Contracts — English and Castilian Spanish; the contract language is chosen when the deal is created and both parties negotiate in it
  • Two-Level Admin — Platform admins manage marketplace; supervisors monitor deals
  • Self-Hostable — AGPL-licensed sovereign kit for running on your own hardware (see below)

Hosted and the kit

  • Hosted (dealroom.todo.law) charges per contract. Drafting and negotiating are free. Each contract is paid once, when it is first downloaded or when its signature starts; every skill, premium ones included, is covered by that price. Agents pay per contract with prepaid credits sold in packs of ten (see docs/agent-api.md, "Paying per contract"). There is no monthly plan.
  • The kit (self-hosted) has no caps. Premium skills are sold only for the kit: 60 a year each in the kit (in your currency) on the todo.law storefront, installed and activated offline with a licence file.

The hosted build is Vercel production (VERCEL_ENV=production, or AUTH_COOKIE_DOMAIN=.todo.law); the rules live in src/lib/hosted.ts and src/config/features.ts. The earlier free-pilot limits (edit window, record ceilings) were retired on 11 October 2026.

Note: the earlier dual-brand system (todo.law + northend.law) was retired in May 2026; the codebase now ships a single brand (src/config/brand.ts documents the rationale and the restore path).

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • API: tRPC
  • Database: PostgreSQL + Prisma
  • Auth: NextAuth (magic link, invite code, Google OAuth)

Getting Started

Prerequisites
  • Node.js 20+
  • PostgreSQL database
  • Resend account (for magic link emails)
Installation
# Install dependencies
npm install

# Set up environment variables
cp .env.example .env

# Push database schema
npx prisma generate && npx prisma db push

# Seed initial data
npx prisma db seed

# Start development server
npm run dev

Open http://localhost:3000 to access the app.

Self-Hosting (Sovereign Kit)

Law firms can run Dealroom entirely on their own hardware with the Docker-based sovereign kit — app + PostgreSQL + migrator (+ optional Caddy TLS), published on port 8486, health-gated via /api/health:

cd deploy/sovereign
cp .env.example .env   # fill in secrets
docker compose up -d

See deploy/sovereign/README.md for the full runbook (backups, restore, cron wiring, hardening checklist). docs/deployment.md covers the hosted/Vercel path.

Environment Variables
DATABASE_URL=postgresql://...
NEXTAUTH_SECRET=...
NEXTAUTH_URL=http://localhost:3000
RESEND_API_KEY=...
[email protected]
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
SKILLS_DIR=/path/to/skills          # Optional: premium skills directory
STRIPE_SECRET_KEY=...               # Optional: in-app billing (ignored on hosted dealroom.todo.law)

Administration

Create Platform Admin
npm run admin:create -- [email protected] --name="Admin Name"

Access the platform admin portal at /admin.

Create Supervisor
npm run supervisor:create -- [email protected] --name="Jane Smith"

Or create via the admin portal at /admin/supervisors.

Supervisors access their portal at /supervise and can only view deals assigned to them.

Documentation

DocumentDescription
deployment.mdHosted (Vercel) and self-hosted postures, environment variables
administration.mdTwo-level admin system, deal lifecycle, signing
lawyer-involvement.mdThree stages of lawyer involvement (EN)
intervencion-abogado.mdTres fases de intervención de abogado/a (ES)
agent-api.mdAgent Negotiation REST API reference
skills-and-licensing.mdSkill packages, licensing, activation, i18n

Project governance: SECURITY.md · CONTRIBUTING.md · NOTICES.md · CHANGELOG.md

Project Structure

src/
├── app/                    # Next.js App Router pages
│   ├── (admin)/           # Platform admin portal
│   ├── (supervisor)/      # Supervisor portal
│   ├── (dashboard)/       # User dashboard
│   └── api/               # API routes
├── components/            # React components
├── config/
│   ├── brand.ts           # Brand router
│   ├── brands/            # Brand config (todo.ts; single brand since May 2026)
│   └── features.ts        # Feature flags
├── lib/                   # Shared utilities
└── server/
    ├── routers/           # tRPC routers
    └── services/          # Business logic
prisma/
├── schema.prisma          # Database schema
└── seed.ts               # Seed data
skills/                    # Built-in contract templates
docs/                      # Documentation

Key Concepts

Deal Flow
  1. Create — Initiator creates deal, selects skill and jurisdiction
  2. Invite — Respondent receives invitation link
  3. Submit — Both parties submit clause preferences and firmness levels
  4. Negotiate — Algorithm suggests compromises; parties can also propose changes to open fields (negotiable parameters)
  5. Agree — Parties accept final terms
  6. Sign — Contract generated for signing
Compromise Algorithm
stake = ((5-flexibility)/5 × 0.6) + (|bias| × 0.4)

Each party sets a firmness level (1–5) per clause; the UI shows firmness while the database stores flexibility (6 − firmness). The party with higher stake wins the clause; equal stakes trigger a balanced compromise. A global fairness pass rebalances if one party wins disproportionately.

Administration Levels
RolePortalAccess
Platform Admin/adminManage skill catalog, customers, supervisors
Supervisor/superviseMonitor assigned deals only
User/dealsOwn negotiations only

License

Copyright (c) 2025-2026 Rindogatan LLC

This project is licensed under the GNU Affero General Public License v3.0.

Under AGPL §13, if you run a modified Dealroom as a network service you must offer its Corresponding Source to your users. The /licenses page carries that offer (the footers no longer link to it since 2026-10-01); point it at your fork with NEXT_PUBLIC_SOURCE_URL at build time, and add a visible link if your deployment needs one. Third-party attribution lives in NOTICES.md.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.