FormsByState
Server Details
US legal documents matched to each state's law: leases, notices, NDAs, wills. PDF or Word.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct operation: catalog (list_documents), schema retrieval (get_document_fields), legal metadata (get_state_rules), validation (validate_document), and generation (render_document). Descriptions clearly differentiate outputs and use cases with no overlapping boundaries.
All tools follow a consistent verb_noun pattern (get_*, list_*, render_*, validate_*), using snake_case throughout. The convention is predictable and easy to follow.
Five tools perfectly cover the document lifecycle from discovery through validation to generation. Each tool earns its place; no redundancy or missing operational steps.
The surface covers the full workflow: catalog lookup, field schema, state rules, validation, and rendering. No obvious gaps for an agent assisting with form completion and generation.
Available Tools
5 toolsget_document_fieldsGet document fieldsARead-onlyInspect
Fields (steps, ids, labels, types, options, required) for a document in a state. Pass partial answers to reveal conditional fields.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | UI language for labels/facts (documents themselves are English) | |
| state | Yes | US state: 2-letter code (TX), slug (texas) or name | |
| doc_id | Yes | Document id from list_documents, e.g. lease, eviction_notice, bill_of_sale, nda, lien_waiver | |
| answers | No | Answers so far, keyed by field id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, openWorldHint=false), and the description adds genuinely non-obvious behavior: output varies with the answers you supply because conditional fields are revealed dynamically. It stops short of describing error behavior for invalid doc_id/state combinations.
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 short sentences with no filler. The core purpose comes first and the conditional-field mechanic follows immediately, so an agent can act on it after one read.
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?
No output schema exists, so the description carries the return-value burden, and it does name the returned field attributes. For a 4-param read-only tool with fully documented schema, this is nearly complete aside from the implicit dependency on list_documents for doc_id values (which the schema itself supplies).
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 description coverage is 100%, so the schema already documents lang, state, doc_id, and answers in detail; baseline 3 applies. The description's parenthetical lists returned field attributes rather than parameter semantics, and adds nothing beyond what the schema states about the answers object.
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?
States a specific verb+resource (retrieve field definitions for a document in a given state) and enumerates what a field contains (steps, ids, labels, types, options, required). It is clearly distinguishable from render_document or validate_document, though it never names those siblings explicitly.
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?
"Pass partial answers to reveal conditional fields" is a concrete usage tip for progressive form completion, but there is no guidance on when to pick this over validate_document or render_document, and no stated prerequisites (e.g. must call list_documents first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_rulesGet state rulesARead-onlyInspect
State-law facts for a document (deadlines, caps, required disclosures) with statute citations and links, plus FAQ.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | UI language for labels/facts (documents themselves are English) | |
| state | Yes | US state: 2-letter code (TX), slug (texas) or name | |
| doc_id | Yes | Document id from list_documents, e.g. lease, eviction_notice, bill_of_sale, nda, lien_waiver |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered, and the description is consistent with them (no write claims). It adds real behavioral value beyond the annotations by disclosing the return content — statute citations, links, and an FAQ — which matters because no output schema exists. It omits operational traits such as caching, rate limits, or citation freshness.
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?
A single compact sentence with the resource front-loaded and the most decision-relevant content (what facts are returned) leading. Every clause earns its place; no 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?
With no output schema, the description carries the burden of describing returns, and it does so adequately (facts, citations, links, FAQ). Parameters are fully covered by the schema and the tool is read-only per annotations. It could have noted data scope or limitations, which is the only reason it is not a 5.
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 description coverage is 100%, with enum values and example doc ids fully documented in the schema, so the baseline is 3. The description adds no parameter-level detail (e.g. how 'state' formats are handled or what 'lang' affects) beyond what the schema already states.
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 names a specific resource and scope: state-law facts for a given document, enumerating the payload (deadlines, caps, required disclosures, statute citations, links, FAQ). That is far more concrete than a tautology, and it is clearly distinct from siblings like render_document or validate_document. It stops short of a 5 because it never explicitly contrasts itself with any sibling by name.
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?
There is no statement of when to call this versus get_document_fields or validate_document, and no exclusions or prerequisites. Usage can only be inferred from the phrase 'for a document'. This matches the calibration case for a tool with no when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsList documentsCRead-onlyInspect
Catalog of document types with ids, prices and categories.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | UI language for labels/facts (documents themselves are English) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the useful fact that the catalog carries prices and categories (effectively a return-content summary, valuable since there is no output schema), but says nothing about ordering, size, or whether the catalog is complete.
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?
One short sentence with no waste and the key content (returned fields) front-loaded. The fragmentary phrasing without a verb is a minor style cost rather than verbosity.
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?
With no output schema, the description is the only source of return-value information, and it does name the fields – a meaningful contribution. However, it leaves the document-vs-document-type ambiguity and the absence of any usage context unresolved for a tool that is presumably the catalog entry point in a 5-tool family.
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 description coverage is 100% and the only parameter (lang) is fully documented in the schema, including the important caveat that UI labels are localized while document content stays English. The description does not mention lang at all, so it adds nothing beyond the schema – baseline 3.
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 identifies the resource and discloses the returned fields (ids, prices, categories), but it is a noun phrase with no verb, and it says 'document types' while the tool name says 'documents' – an ambiguity an agent must resolve. It gives no contrast with siblings like get_document_fields or render_document.
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?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling tools it competes with (get_document_fields, get_state_rules, validate_document, render_document). An agent must infer from the name alone that this is the discovery/catalog entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_documentRender documentBInspect
Generate the document. Free: watermarked PDF preview + link to finish and download the clean PDF/Word on formsbystate.com. Developer key: clean PDF and Word.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | UI language for labels/facts (documents themselves are English) | |
| state | Yes | US state: 2-letter code (TX), slug (texas) or name | |
| doc_id | Yes | Document id from list_documents, e.g. lease, eviction_notice, bill_of_sale, nda, lien_waiver | |
| format | No | Default pdf | |
| answers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as a non-read-only, non-idempotent, non-destructive, closed-world creation call, and the description adds genuinely new behavior: output is tiered, with a watermarked PDF preview plus a completion link for free users and clean PDF/Word for developer-key users. This is meaningful disclosure beyond the annotations, though it omits latency/auth mechanics.
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?
Three short clauses, front-loaded with the core action followed by the tier-dependent output. No filler sentences, though the tier details are somewhat compressed and could be marginally clearer.
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?
There is no output schema, and while the description loosely sketches the return (link/watermarked preview vs clean files), it says nothing about the nested answers object the agent must populate or what happens on failure. Adequate but with clear gaps for a 5-parameter tool with a nested object.
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 description coverage is 80% (lang, state, doc_id, format all documented), so the schema already carries parameter meaning. The description adds nothing about the required answers object or the format/lang interactions, leaving the baseline 3.
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 states a clear verb+resource ('Generate the document') and adds what the output contains at each tier. It is understandable on its own, but it never differentiates itself from siblings like validate_document or get_document_fields, so an agent must infer where render fits in the workflow.
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 when-to-use guidance is given: there is no mention of calling list_documents/get_document_fields first, no prerequisite on answers, and no contrast with validate_document. The free-vs-developer-key text is pricing/access information rather than guidance on when to select this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_documentValidate documentARead-onlyInspect
Check answers: missing required fields, state-law errors and warnings, and a text preview of the document.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: 2-letter code (TX), slug (texas) or name | |
| doc_id | Yes | Document id from list_documents, e.g. lease, eviction_notice, bill_of_sale, nda, lien_waiver | |
| answers | Yes | All answers so far, keyed by field id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnlyHint=true, openWorldHint=false), so the burden is lightened, and the description still adds value by disclosing the result payload: missing-field detection, state-law errors vs. warnings, and a text preview. It stops short of describing error cases, preview size, or whether validation mutates any stored state.
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?
A single front-loaded sentence that names the action first and the outputs second, with no filler. It is efficiently sized, though the colon-list format makes it read slightly like a schema echo rather than guidance.
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?
With three fully documented required parameters and no output schema, the description does the needed work of telling the agent what comes back (errors, warnings, preview). It is nearly complete; only the workflow relationship to render_document and sibling tools is left unstated.
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 description coverage is 100%, so the schema already explains doc_id, state formats, and the answers map, making 3 the baseline. The description only references 'answers' generically and adds no format or validation-dependency detail beyond the schema.
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?
States a specific verb ('Check/validate') and its subject ('answers') and enumerates the three outputs produced: missing required fields, state-law errors/warnings, and a text preview. This is clear, but it does not explicitly distinguish the tool from siblings like get_document_fields or get_state_rules, which superficially overlap in checking fields and state rules.
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 no when-to-use guidance, no prerequisites (e.g., whether answers must come from get_document_fields first), and never names an alternative such as render_document or get_state_rules. The agent must infer the validation step in the workflow purely from the tool name.
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.
5 tool updates
- First observed
get_document_fields - First observed
get_state_rules - First observed
list_documents - First observed
render_document - First observed
validate_document
Related MCP Connectors
Generate attorney-drafted NDAs, MSAs, DPAs, and more as PDF, ODT, or Markdown. No account required.
Fill in 1,000+ legal PDF templates in many languages, get a signed PDF back. Free, no API key.
Compliant legal documents from your AI assistant: 1,100+ templates, 15 countries, free preview.
Contract drafting, statute-cited US state law requirements, non-compete checks, risk analysis.
Related MCP Servers
- AlicenseAqualityAmaintenanceFill standard legal agreement templates (NDAs, SAFEs, NVCA docs, employment, cloud terms) and produce DOCX files.32,480 npm55Apache 2.0

pactlio-mcpofficial
AlicenseAqualityBmaintenanceContract 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 gradedqualityCmaintenanceEnables generating startup legal documents such as NDAs, MSAs, DPAs, privacy policies, and offer letters from attorney-drafted templates, with downloads in PDF, ODT, or Markdown through MCP and no account required.-
- AlicenseNot gradedqualityDmaintenanceAnswer a few questions. Get clean, jurisdiction-aware privacy policies and terms of service.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.