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