PAKT MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAKT_API_URL | No | The base URL of the PAKT API | http://127.0.0.1:8000 |
| PAKT_API_TOKEN | Yes | The token for your PAKT account, generated via scripts.mcp_token |
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 |
|---|---|
| list_contractsA | List the account's contracts: company, status, dates, our role, and whether the document is in and analysed. Use get_contract for one contract's risks. |
| get_contractC | One contract's overview: its details, the verdict (summary, top risks, asymmetries), how many clauses are red, yellow and green, every clause's risk level with who it favours and why, and its amendments with their conflict counts. |
| analyze_contractA | Upload a contract document and run PAKT's pipeline on it: text extraction (OCR for scans), clause splitting, the risk of every clause and the verdict. Give contract_id to replace an existing contract's document, or company, title, contract_number, start_date and our_role to create a new contract. Waits for the analysis - usually a minute or two - and returns the same overview as get_contract. |
| compare_amendmentA | The conflicts between a contract's amendments and the contract itself: for each amendment item, the base clauses it contradicts, modifies, adds or changes in our favour (benefits), how serious each is (red, yellow, green) and why - with counts of conflicts against us and in our favour. Give file_path and signed_date to upload a new amendment and wait for its analysis; amendment_id for one amendment; neither for all of the contract's amendments. |
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 4 tools
list_contracts, get_contract, analyze_contract, and compare_amendment each target a distinct action and resource. The only mild overlap is that analyze_contract returns 'the same overview as get_contract,' which could blur read vs. upload boundaries, but their primary intents remain clear.
All four tools follow a strict verb_noun snake_case pattern: list_contracts, get_contract, analyze_contract, compare_amendment. Consistent and predictable throughout.
Four tools is a tight, focused set for a contract-risk analysis server. It sits at the low end of the ideal range but each tool earns its place and none is redundant.
Core workflows (list, read overview, upload/analyze, compare amendments with create-or-replace logic) are covered. Gaps remain around deleting contracts, updating metadata, and standalone amendment listing, but these are minor workarounds rather than dead ends.