legal-contract-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@legal-contract-mcpCan you load the NDA at tests/sample_contracts/weak_nda.txt and flag risky clauses?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
legal-contract-mcp
An MCP (Model Context Protocol) server that gives an LLM client (Claude, Claude Code, Claude Desktop, etc.) tools to do a first-pass review of contracts: load a .txt/.docx/.pdf, detect standard clause types, flag heuristic risk issues, generate a summary, and diff two contracts against each other.
This is not legal advice — it's a rules-based first pass meant to speed up human review, built to demonstrate a real, non-trivial MCP server (as opposed to a toy "add two numbers" example).
Why this exists
Most MCP server examples are thin wrappers around an API call. This one does actual work locally:
Parses real document formats (txt/docx/pdf)
Detects 12 standard clause types via a maintained pattern library, not a single regex
Runs 8 explainable risk heuristics (e.g. indemnification without a liability cap, auto-renewal without a clear notice period, non-competes with no defined scope) — every flag cites the exact clause text it's based on
Falls back gracefully to an extractive summary if no
ANTHROPIC_API_KEYis set, and upgrades to an LLM-generated summary if one is
Related MCP server: Contract Review AI MCP
Tools exposed
Tool | Description |
| Load a |
| List contracts loaded in this session |
| Detected clause types with snippets |
| Standard clause types NOT found — gap check |
| Heuristic risk flags with severity + evidence |
| Plain-English summary (LLM or extractive fallback) |
| Diff clause types and risk flags between two contracts |
| Look up a clause type's definition by keyword |
Setup
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"Optional — enable LLM-powered summaries:
export ANTHROPIC_API_KEY=sk-ant-...Run it
Inspector (interactive dev UI):
mcp dev src/legal_contract_mcp/server.pyAs a stdio server (for Claude Desktop / Claude Code config):
{
"mcpServers": {
"legal-contract-mcp": {
"command": "python",
"args": ["-m", "legal_contract_mcp.server"],
"cwd": "/absolute/path/to/legal-contract-mcp",
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}Then in a chat with the connected client:
Load the contract at tests/sample_contracts/weak_nda.txt and flag its risks.
Test
pytest # unit tests for clause detection + risk rules
python scripts/smoke_test.py # spins up the real MCP server over stdio and calls every toolIncludes two sample contracts (tests/sample_contracts/weak_nda.txt and solid_msa.txt) chosen so the risk engine's output differs meaningfully between a weak and a well-drafted agreement — tests assert on that difference, not just "does it run."
Project structure
src/legal_contract_mcp/
parsing.py # txt/docx/pdf -> plain text, in-memory doc store
clause_library.py # 12 clause types: definitions + detection patterns
clauses.py # runs the library against a document
risk_rules.py # 8 heuristic risk rules, each with cited evidence
llm.py # optional Claude-powered summary, extractive fallback
server.py # FastMCP tool definitions
tests/
sample_contracts/ # weak NDA vs. solid MSA fixtures
test_clauses_and_risks.pyExtending it
Add a clause type: add an entry to
CLAUSE_LIBRARYinclause_library.pywith a definition and one or more regex patterns.Add a risk rule: add a function block to
evaluate_risks()inrisk_rules.py— return aRiskFlagwithrule,severity,message, andevidence.Swap the in-memory store in
parsing.pyfor a database if you want documents to persist across server restarts.
Disclaimer
This tool provides automated, heuristic pattern-matching only. It is not a substitute for review by a licensed attorney and should not be relied on as legal advice.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityFmaintenanceAn enterprise-grade MCP server that provides specialized tools for legal reasoning and analysis, automatically detecting legal domains and offering domain-specific guidance, templates, and citation formatting.333

Contract Review AI MCPofficial
Alicense-qualityAmaintenanceContract Review AI - MCP server providing AI-powered tools and automation by MEOK AI Labs92MIT- Alicense-qualityAmaintenanceLegal Document AI - MCP server providing AI-powered tools and automation by MEOK AI Labs6MIT
- Flicense-qualityBmaintenanceMCP server that analyzes legal documents, extracts key clauses, identifies risks, and summarizes contracts. 8 tools for AI agents needing legal document intelligence.
Related MCP Connectors
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for generating rough-draft project plans from natural-language prompts.
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rajasrikondaveeti/legal-contract-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server