legal-contract-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANTHROPIC_API_KEY | No | Optional — enable LLM-powered summaries. If not set, the server falls back to extractive summaries. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_contractB | Load a contract file (.txt, .docx, or .pdf) from disk and return its doc_id. Args: path: Absolute or relative path to the contract file. |
| list_documentsA | List all contracts currently loaded into this server's session. |
| extract_clausesA | Detect standard clause types (indemnification, termination, IP, etc.) present in a loaded contract, with a text snippet for each. Args: doc_id: doc_id returned by load_contract. |
| flag_risksA | Run heuristic risk rules against a loaded contract (e.g. uncapped liability, auto-renewal without notice, one-sided termination) and return the flags with severity and supporting evidence. Args: doc_id: doc_id returned by load_contract. |
| summarize_contractA | Summarize a loaded contract in plain English and list the top things a reviewer should double check. Uses Claude if ANTHROPIC_API_KEY is set in the server environment, otherwise falls back to an extractive summary built from detected clauses and risk flags. Args: doc_id: doc_id returned by load_contract. |
| compare_contractsA | Compare two loaded contracts: which clause types each one has that the other lacks, and how their risk flags differ. Args: doc_id_a: doc_id of the first contract. doc_id_b: doc_id of the second contract. |
| missing_clausesA | List standard clause types from the reference library that were NOT found in a loaded contract — useful for spotting gaps. Args: doc_id: doc_id returned by load_contract. |
| search_clause_libraryA | Search the reference library of standard clause types by keyword, e.g. 'liability' or 'renewal', and get plain-English definitions. Args: query: Free-text search term. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: loading, listing, extracting clauses, flagging risks, summarizing, comparing, gap analysis, and library search. There is no meaningful overlap between tool responsibilities.
Most tools follow a consistent snake_case verb_noun pattern like load_contract, extract_clauses, and compare_contracts. The one minor deviation is missing_clauses, which is not in an imperative verb form.
With 8 tools, the server is well-scoped for contract analysis. Each tool covers a distinct part of the workflow without redundancy or bloat.
The core analysis workflow is well covered: load, extract, flag, summarize, compare, and check missing clauses. Minor gaps exist such as no tool for unloading documents or retrieving raw full contract text, but agents can work around these.