Skip to content
ESQ CoPilot logo

ESQ CoPilot MCP server

Which MCP servers are ESQ CoPilot's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-28

← Back to ESQ CoPilot

Whose server it is
  • Registry namecom.esqcopilot/matching-engineverified in the MCP registry

The registry name sits under esqcopilot.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-28
  • Stateanswerschecked 2026-10-28
  • Tools10
  • Server calls itselfesq-matching-engine
  • Server version1.4.0
  • Protocol version2025-06-18

On 2026-10-28 the server answered initialize and tools/list without a sign-in. First answer in 235 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 1 of the 7 days it takes to judge reliability.

Once connected

  • update_matching_preferences change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 10 of 10 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-10-28
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer244 ms
  • Space in an agent's context≈ 5,813 tokensthe definitions of all its tools (10), which an agent carries on every turn
  • Tool definitionsB · 83 of 100
  • Typed results10 of 10 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 10 of 10

Worth a look

  • Tools that change data, on a server that answers without a sign-in: update_matching_preferences

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers10 tools · read 2026-10-28
  • get_matching_requirements

    Use first when someone asks for a lawyer but the state or type of legal matter is unclear ("I need a lawyer", "help me with my landlord"). Returns the few questions still needed (state, matter type, location, timing, budget) and what was…

  • find_attorneys

    Use when someone wants a lawyer for a U.S. legal matter, e.g. "find an affordable tenant lawyer in Santa Ana" or "I was fired after complaining, who can help in Los Angeles". Needs state and matter type (or a short description). Returns…

  • compare_attorneys

    Use when the user asks to compare lawyers from find_attorneys ("which of these is a better fit?"). Compares 2 to 5 lawyers on practice fit, location, years licensed, fees, availability, data confidence and gaps. Pass match_id to use the…

  • estimate_legal_cost

    Use when the user asks what a lawyer or a type of matter will cost. Returns only published fees, confirmed quotes or sourced market figures, each labeled; says plainly when there is not enough data instead of guessing. Not a quote.

  • check_attorney_availability

    Use when the user asks whether a lawyer takes new clients or can meet soon. Returns only what lawyers reported or confirmed, with last-checked time and certainty (reported, tentative, confirmed); unknown when nothing was reported. There…

  • get_attorney_profile

    Use when the user wants details on one lawyer from a match. Returns license status with its official source and check date, private-client intake evidence, practice areas, service area, fees, availability, languages, data freshness, the…

  • request_attorney_introduction

    Use only when the user asks to be introduced to ONE specific lawyer AND has seen that lawyer's name, the exact details to be shared and the consent text from get_attorney_profile, then said yes. Never call it on your own initiative or for…

  • get_referral_status

    Use when the user asks what happened with an introduction. Returns lifecycle_state (recorded, queued, sent, delivered, responded, consultation_requested, consultation_confirmed, cancelled, completed, failed), whether it reached the…

  • update_matching_preferences

    Save or change matching criteria (location, budget, timing, practice area, language, priorities) for this conversation. No personal contact details. Deleted automatically after 24 hours.

  • submit_matching_feedback

    Optional 1-5 ratings on match relevance, lawyer responsiveness, pricing and availability accuracy, satisfaction, and whether the lawyer was hired. No case details.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "matching-engine": {
      "type": "http",
      "url": "https://match.esqcopilot.com/mcp/c/eyJrIjoiY29ubmVjdG9yIiwiaSI6ImNvbl9tY3BfcmVnaXN0cnlfZXNxIiwicCI6Im1jcC1yZWdpc3RyeSJ9.3b61cb285412dd02ba328c4c5ccd0b00"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http esqcopilot https://match.esqcopilot.com/mcp/c/eyJrIjoiY29ubmVjdG9yIiwiaSI6ImNvbl9tY3BfcmVnaXN0cnlfZXNxIiwicCI6Im1jcC1yZWdpc3RyeSJ9.3b61cb285412dd02ba328c4c5ccd0b00

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://match.esqcopilot.com/mcp/c/eyJrIjoiY29ubmVjdG9yIiwiaSI6ImNvbl9tY3BfcmVnaXN0cnlfZXNxIiwicCI6Im1jcC1yZWdpc3RyeSJ9.3b61cb285412dd02ba328c4c5ccd0b00 as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.