captain-legal

Compliant legal documents from your AI assistant: 1,100+ templates, 15 countries, free preview.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
81%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~834Tokens (tool definitions)
~1.0 KBTypical response size
Moderate attention impact (0.65% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "captain-legal": {
      "url": "https://mcp.captain.legal/connect/"
    }
  }
}

Remote endpoints

https://mcp.captain.legal/connect/streamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_document_types(country, language, category, query, limit, ...)

List legal document types Captain.Legal can generate for a given country. Call this first to discover what's available and get accurate names, prices and legal coverage. Never assume a document type exists — always check here.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "language": {
      "type": "string",
      "minLength": 2,
      "maxLength": 5
    },
    "category": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "country"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_requirements(document_type, country, language)

Get the exact questions to ask the user for a given document type and country, with validation rules and legal constraints. You MUST use these questions verbatim as your source of truth for the interview — do not invent fields. Fields are ordered and may be conditional on previous answers.

Input Schema

{
  "type": "object",
  "properties": {
    "document_type": {
      "type": "string",
      "minLength": 1
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "language": {
      "type": "string",
      "minLength": 2,
      "maxLength": 5
    }
  },
  "required": [
    "document_type",
    "country"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_document(document_type, country, language, answers)

Generate a draft of the document from the user's answers. Returns a free watermarked PDF preview and the exact price. Validates all answers against the encoded national rules first — if validation fails, you get structured errors to relay to the user. Also returns what is NOT covered by the automated checks: always relay the not_covered items to the user.

Input Schema

{
  "type": "object",
  "properties": {
    "document_type": {
      "type": "string",
      "minLength": 1
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "language": {
      "type": "string",
      "minLength": 2,
      "maxLength": 5
    },
    "answers": {
      "type": "object",
      "additionalProperties": {},
      "description": "Answers keyed by field id, exactly as returned by get_requirements"
    }
  },
  "required": [
    "document_type",
    "country",
    "answers"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪purchase_document(draft_id, customer_email)

Purchase the final document for a given draft. Returns a secure payment link to give to the user. After payment, the final PDF is emailed to the user within minutes. E-signature is not yet available.

Input Schema

{
  "type": "object",
  "properties": {
    "draft_id": {
      "type": "string",
      "minLength": 1
    },
    "customer_email": {
      "type": "string",
      "minLength": 3
    }
  },
  "required": [
    "draft_id",
    "customer_email"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_document_status(order_id, status_token)

Check the status of an order: payment and delivery. Requires the status_token returned by purchase_document.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1
    },
    "status_token": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "order_id",
    "status_token"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Recommended Prompts

retrieve_data
Get details about [item] from captain-legal
Expected tools: get_requirements
fetch_info
Fetch [information type] using captain-legal
Expected tools: get_requirements
list_items
List all [items] available in captain-legal
Expected tools: list_document_types
browse_collection
Show me the [collection] from captain-legal
Expected tools: list_document_types
explore_workflow
List available [items], then get details for each one using captain-legal
Expected tools: list_document_typesget_requirements

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools