contracts
Server Details
Contract drafting, statute-cited US state law requirements, non-compete checks, risk analysis.
- Status
- Healthy
- Uptime
- 100.0% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool serves a distinct function: legal research (non-compete, jurisdiction), contract listing, intake questions, draft initiation, status polling, and checkout. No two tools overlap in purpose, making selection unambiguous.
All tools follow a clear verb_noun pattern: get_, check_, list_, start_. The verbs are varied but consistently placed, and nouns clearly indicate the resource. No mixed conventions like camelCase or inconsistent verbs.
With 7 tools, the server covers the core contract generation workflow without bloat. Each tool is necessary for the pipeline, and the count is well within the optimal range.
The tool set covers listing, intake, drafting, status, and checkout, but lacks an explicit tool to retrieve the full contract after payment—the flow relies on the human via the checkout link. This minor gap is workable but slightly incomplete.
Available Tools
7 toolscheck_non_compete_enforceabilityCheck non-compete enforceability by US stateAInspect
Whether a non-compete agreement is enforceable, limited, or void in a given US state (or DC), with salary thresholds and the key statute. Data covers all 50 states + DC.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state name or slug, e.g. "California" or "california" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the output categories (enforceable, limited, void) and included data (salary thresholds, statute). Does not mention potential limitations or side effects, but for a read-only lookup this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences, front-loaded with key information. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description sufficiently covers purpose, input, and output. Mentions specific data points (salary thresholds, statute) but could be more precise about what 'key statute' entails. Overall adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter. Description adds value by providing an example input ('California' or 'california') and clarifying slug format, which goes beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the tool checks enforceability of non-compete agreements by US state, including whether enforceable, limited, or void, along with salary thresholds and key statute. Covers all 50 states + DC, clearly distinguishing it from broader contract analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. alternatives. While the description implies it's for state-specific non-compete law, it does not provide when-not scenarios or mention related tools like analyze_contract or get_jurisdiction_requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checkout_linkGet checkout link for a drafted contractAInspect
Returns the URL where a human can view the preview and pay to unlock the full contract for a draft created with start_contract_draft. Share this link with your user.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_id | Yes | The preview_id returned by start_contract_draft |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses that the tool returns a URL for a human to preview and pay, indicating a read-only action without side effects on the contract itself. It does not detail authorization requirements or rate limits, but the simple nature of the operation and the clear wording make the behavior sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose in the first sentence and an actionable instruction in the second. Every word contributes, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is complete: it explains what the tool returns (a URL), why it exists (for payment/unlocking), and how to use it (share with the user). The context around the contract workflow is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with a clear description ('The preview_id returned by start_contract_draft'). The tool description reinforces this linkage but adds no new semantic meaning beyond what the schema states. Baseline 3 is appropriate when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the primary function: 'Returns the URL where a human can view the preview and pay to unlock the full contract.' This uses a specific verb ('returns') and a resource ('URL') and references the related workflow (start_contract_draft), making it distinct from sibling tools that analyze contracts or check status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: after a draft has been created via start_contract_draft, and it instructs to 'Share this link with your user.' This provides clear context and an intended sequence, though it does not explicitly mention alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_draft_statusGet contract draft status / previewAInspect
Check a contract draft from start_contract_draft. Returns "awaiting_human" until a person opens the preview URL, "pending" while generating. When complete, returns the free preview (opening sections), the titles of locked sections, and the URL where a human can pay to unlock the full contract.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_id | Yes | The preview_id returned by start_contract_draft |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral burden. It explains the status lifecycle ('awaiting_human' until the preview is opened, 'pending' while generating) and exactly what the completed response includes: a free preview, locked section titles, and the unlock URL. This is rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description leads with the core action, then packs the relevant status behavior and response contents into a compact and well-ordered form. There is no filler, and each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description successfully covers the normal usage flow, the status values, and the returned data. The only real gap is that it does not name the exact terminal status field/value the agent should look for when the draft is complete, nor does it describe what happens with an invalid preview_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents preview_id fully, including its pattern and that it is returned by start_contract_draft. The description reinforces that lineage but does not add new parameter-level meaning such as examples, format specifics, or failure handling, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource, 'Check a contract draft from start_contract_draft', and clearly describes what the tool returns. This makes it easy to distinguish from sibling tools like start_contract_draft, which creates the draft, and get_checkout_link, which handles payment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by naming start_contract_draft as the source of the preview_id, so an agent knows this is the follow-up polling step after draft creation. It does not explicitly contrast when not to use it versus alternatives, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intake_questionsGet intake questions for a contract typeAInspect
The questions Pactlio asks to draft a specific contract type — use these to collect the information needed before calling start_contract_draft. Returns fields, types, options, and validation rules.
| Name | Required | Description | Default |
|---|---|---|---|
| jurisdiction | No | Optional jurisdiction filter, e.g. "california" | |
| contract_type | Yes | Contract type id from list_contract_types, e.g. "nda_mutual", "contractor_agreement" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool returns fields, types, options, and validation rules, which gives insight into the output structure. However, it does not explicitly state that the tool is read-only or describe any side effects, though for a question retrieval tool these are likely minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous information. It is front-loaded with the core purpose and adds essential context about usage and return content efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no nested objects, no output schema), the description is complete. It explains the tool's purpose, its place in a workflow, and the nature of the returned data, which is sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described in the input schema. The tool description does not add additional parameter-level meaning beyond the high-level context, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves intake questions for a specific contract type, explicitly links it to the drafting workflow by mentioning use before start_contract_draft, and distinguishes it from siblings like list_contract_types and start_contract_draft.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('before calling start_contract_draft') and implies its role in collecting prerequisite information. It does not provide exclusions or alternative tools, but the context makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jurisdiction_requirementsGet jurisdiction-specific contract requirementsAInspect
Statute-cited legal requirements, key differences, common pitfalls, terminology, and FAQs for a contract type in a specific US state or country. Use contract slug (e.g. "contractor-agreement") + jurisdiction slug (e.g. "california", "us", "uk", "eu-gdpr").
| Name | Required | Description | Default |
|---|---|---|---|
| contract_slug | Yes | Contract type slug, e.g. "non-compete", "contractor-agreement" | |
| jurisdiction_slug | Yes | Jurisdiction slug, e.g. "california", "texas", "us", "uk", "canada" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the type of information returned (requirements, pitfalls, etc.), which implies a read-only lookup. However, it does not explicitly confirm no side effects, auth needs, or rate limits, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first defines the output, the second specifies how to call it with slug examples. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with two string parameters and no output schema, the description covers the return content and usage adequately. It does not mention limitations or pagination, but the tool's complexity is low, so it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters. The description adds context by showing example values for contract_slug and jurisdiction_slug, but does not add new constraints or format details. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns statute-cited legal requirements, key differences, common pitfalls, terminology, and FAQs for a contract type in a specific jurisdiction. It provides concrete examples of slugs, distinguishing it from sibling tools like analyze_contract or check_non_compete_enforceability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use contract slug and jurisdiction slug with examples. It implies when to use (for legal requirements), but does not explicitly state when not to use or list alternatives. Clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contract_typesList contract typesAInspect
List all contract and legal document types Pactlio can generate, with descriptions, use cases, and USD prices. Start here to find the right contract type slug/id for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns descriptions, use cases, and prices. For a read-only list with no parameters, this is sufficient transparency, though it omits potential pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded with action and value. Every word earns its place; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description adequately explains what the tool returns and its purpose. It could mention ordering or pagination, but for a likely small set, it's sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 params), so schema_description_coverage is effectively 100%. Baseline for 0 params is 4; the description doesn't need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all contract types with descriptions, use cases, and prices, and positions it as the starting point for finding slugs/IDs. This distinguishes it from siblings like analyze_contract or start_contract_draft.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises 'Start here to find the right contract type slug/id for other tools,' indicating it's a prerequisite step. While no when-not guidance is given, the context implies it's the primary discovery tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_contract_draftStart drafting a contract (free preview)AInspect
Prepare a contract draft with Pactlio's multi-agent AI engine (drafter, critic, compliance checker). Returns a preview_id and a URL. Generation (3-5 minutes) starts only when a human opens that URL in a browser — share it with your user, then poll get_draft_status. Free preview shows the opening sections; the full contract is unlocked by a human via checkout. Provide deal_summary fields collected via get_intake_questions (at minimum: parties, plus the required fields for the contract type). REQUIRES accept_terms: true — first confirm with your user that they accept the Pactlio Terms of Use and understand the output is an AI-generated draft for review, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| accept_terms | Yes | Must be true. Confirms your end user accepts the Pactlio Terms of Use (https://www.pactlio.com/terms) and understands the result is an AI-generated draft for review — not legal advice, and no attorney-client relationship is created. | |
| deal_summary | Yes | Answers keyed by field name from get_intake_questions, e.g. {"parties":{"you":"Acme Inc","other":"Jane Doe"},"customFields":{...}} | |
| jurisdiction | No | Jurisdiction id, e.g. "california", "us_general", "uk_england_wales" | |
| contract_type | Yes | Contract type id, e.g. "nda_mutual" (see list_contract_types) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It covers generation timing (3-5 minutes), the human-in-the-loop activation, the free-preview vs. full-contract distinction, the legal disclaimer, and the mandatory accept_terms flag. This is exemplary for a zero-annotation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense. It fronts the purpose and then logically orders the return value, timing, human-activation, preview/unlock, prerequisites, and the legal condition. Every clause serves a purpose, though it could be tightened slightly without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex initiating tool with async behavior, prerequisites, and human involvement, this description is complete. It specifies return values (preview_id, URL), the follow-up polling action, the necessity of intake data, the mandatory terms acceptance, and the legal caveat. No critical information is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema by linking deal_summary to get_intake_questions, specifying minimum required fields (parties), and emphasizing that accept_terms must be true after confirming with the user. It also hints at the contract_type source via list_contract_types in the schema, which is reinforced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb-resource pair ('Prepare a contract draft') and distinguishes it from siblings by describing the multi-agent AI engine, the preview mechanism, and the URL flow. It also references get_draft_status and get_intake_questions, making its role in the workflow explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage sequence: collect deal_summary via get_intake_questions, require accept_terms:true, share the URL for human opening, then poll get_draft_status. It doesn't explicitly name alternatives like analyze_contract or get_checkout_link, but the workflow implications are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Removed
analyze_contract
3 tool updates
- Changed
get_checkout_link1 field changed- changed
Input schema / properties / preview_id / patternPrevious value: -"^[a-f0-9]{24}$"New value: +"^([a-f0-9]{24}|[a-f0-9]{32})$"
- Changed
get_draft_status1 field changed- changed
Input schema / properties / preview_id / patternPrevious value: -"^[a-f0-9]{24}$"New value: +"^([a-f0-9]{24}|[a-f0-9]{32})$"
- Changed
start_contract_draft2 fields changed- added
Input schema / properties / accept_termsAdded value: +{ + "description": "Must be true. Confirms your end user accepts the Pactlio Terms of Use (https://www.pactlio.com/terms) and understands the result is an AI-generated draft for review — not legal advice, and no attorney-client relationship is created.", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "contract_type", - "deal_summary" -]New value: +[ + "contract_type", + "deal_summary", + "accept_terms" +]
8 tool updates
- First observed
analyze_contract - First observed
check_non_compete_enforceability - First observed
get_checkout_link - First observed
get_draft_status - First observed
get_intake_questions - First observed
get_jurisdiction_requirements - First observed
list_contract_types - First observed
start_contract_draft
Related MCP Connectors
- ClmentOAuthcom.clment
Contract review that keeps your contracts: cited answers, Word redlines, key-date alerts.
Review contracts for risks: summary, severity-rated flags, key terms, and clause coverage.
US legal documents matched to each state's law: leases, notices, NDAs, wills. PDF or Word.
Anonymous NDA risk analysis for AI agents. $9 per report. No signup, no data retention.
Related MCP Servers
AlicenseAqualityCmaintenanceContract and wills legal tools for AI agents: statute-cited requirements per contract type and US state, non-compete enforceability for all 50 states + DC, intake schemas, async multi-agent contract drafting with free previews, and contract risk analysis.8MIT- FlicenseNot gradedqualityDmaintenanceAnalyzes contracts for safety score and risk assessment, identifying dangerous clauses and dispute patterns, with recommendations for improvements.-
- FlicenseNot gradedqualityBmaintenanceEnables automated labor and service contract risk review through MCP, supporting single or batch contract analysis, risk knowledge base queries, and regional regulation lookups.-
- AlicenseNot gradedqualityCmaintenanceEnables users to paste contracts, leases, terms of service, and other documents to receive a plain-English summary of key risks, deadlines, rights, and negotiation points.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.