Dealroom
MCP serverDev toolsDraft and negotiate contracts clause by clause; a published formula proposes the compromise.
Available today. Use it from your connected AI after setup.
Needs your own account with this service. Keys stay in your vault.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use Dealroom to list contract types
Install Dealroom
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user dealroom 'https://dealroom.todo.law/api/v1/agent/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://dealroom.todo.law/api/v1/agent/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=dealroom&config=eyJ1cmwiOiJodHRwczovL2RlYWxyb29tLnRvZG8ubGF3L2FwaS92MS9hZ2VudC9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://dealroom.todo.law/api/v1/agent/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add dealroom --url 'https://dealroom.todo.law/api/v1/agent/mcp'Run it once, then sign in with codex mcp login dealroom if the server asks for an account.
From the project's README
As published by rindogatan/deal-room in README.md.
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 free-pilot limits (edit window, record ceilings) apply only to the hosted
build (Vercel production, VERCEL_ENV=production, or AUTH_COOKIE_DOMAIN=.todo.law)
while hosted billing is off; once billing is on they no longer apply. The
rules live in src/lib/pilot.ts and src/config/features.ts.
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.tsdocuments 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_FROM=noreply@yourdomain.com
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=admin@example.com --name="Admin Name"
Access the platform admin portal at /admin.
Create Supervisor
npm run supervisor:create -- --email=supervisor@lawfirm.com --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
| Document | Description |
|---|---|
| deployment.md | Hosted (Vercel) and self-hosted postures, environment variables |
| administration.md | Two-level admin system, deal lifecycle, signing |
| lawyer-involvement.md | Three stages of lawyer involvement (EN) |
| intervencion-abogado.md | Tres fases de intervención de abogado/a (ES) |
| agent-api.md | Agent Negotiation REST API reference |
| skills-and-licensing.md | Skill 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
- Create — Initiator creates deal, selects skill and jurisdiction
- Invite — Respondent receives invitation link
- Submit — Both parties submit clause preferences and firmness levels
- Negotiate — Algorithm suggests compromises; parties can also propose changes to open fields (negotiable parameters)
- Agree — Parties accept final terms
- 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
| Role | Portal | Access |
|---|---|---|
| Platform Admin | /admin | Manage skill catalog, customers, supervisors |
| Supervisor | /supervise | Monitor assigned deals only |
| User | /deals | Own 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.
Tools it offers (12)
What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
list_contract_typesgenerate_contractlist_templatesget_templatecreate_playbookinitiate_negotiationjoin_negotiationget_dealdownload_contractbuy_creditsget_credit_balanceget_subscriptions
Signals
- GitHub stars
- 1
- Last commit
- Oct 2026
ahel review
S4low
published under sergiomaldo's namespace; repository belongs to rindogatan
Automated review, not a security audit. Ruleset v1.
Advanced
- Delivery
- dealroom MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-sergiomaldo-dealroom- Source
- github.com/rindogatan/deal-room
- Hosted endpoint
https://dealroom.todo.law/api/v1/agent/mcp
github.com/rindogatan/deal-room