Law.AI — Lawyer Search
Server Details
Verified lawyer and attorney search, discovery, and matching for AI — 991K+ US profiles.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.5/5 across 5 of 5 tools scored. Lowest: 2.9/5.
Each tool has a clearly distinct purpose: name lookup, multi-criteria search, profile retrieval, and listing of jurisdictions and practice areas. No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., find_lawyer_by_name, get_jurisdictions). No deviations.
Five tools are well-scoped for a lawyer search service, covering core operations without unnecessary bloat.
The tool set covers all expected functions for a lawyer search domain: name lookup, filtered search, profile details, and exploratory listings of jurisdictions and practice areas.
Available Tools
5 toolsfind_lawyer_by_nameCInspect
Look up a lawyer by name to verify they exist and are licensed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Lawyer name to search | |
| state | No | US state to narrow results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the burden. It vaguely states 'verify they exist and are licensed' but does not disclose mutation behavior (none, but not stated), rate limits, or data freshness. Lacks specifics on return format.
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 a single concise sentence with no fluff. It front-loads the purpose, but could be slightly more detailed without losing brevity.
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 output schema, the description fails to specify what the tool returns (e.g., boolean, details). It also does not provide enough context for an agent to decide between this and 'search_lawyers'.
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 baseline is 3. The description adds no extra meaning beyond the parameter names; 'name' and 'state' are self-explanatory but no format or constraints are added.
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 verb 'look up' and the resource 'lawyer' with the purpose to verify existence and licensing. It distinguishes from sibling 'search_lawyers' by specificity to name lookup, but could be more precise about what is returned.
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 guidance on when to use this tool versus alternatives like 'search_lawyers' or 'get_lawyer_profile'. No context about prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jurisdictionsAInspect
List US states with lawyer counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the output is a list of US states with lawyer counts, but does not elaborate on ordering, coverage, or other behavioral traits. Adequate for a simple tool.
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?
Single sentence with 6 words, no unnecessary text. Every word contributes meaning.
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, no output schema, and no annotations, the description is fully sufficient for a simple list tool. It tells the agent exactly what the tool returns.
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?
No parameters exist; schema coverage is 100% vacuously. Baseline for zero parameters is 4, and description adds no parameter info since none are needed.
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 uses specific verb 'List' and resource 'US states with lawyer counts', clearly distinguishing from sibling tools like find_lawyer_by_name or search_lawyers which are about individual lawyers.
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?
Implied usage based on description, but no explicit guidance on when to use this tool versus siblings or when not to use it. The agent must infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lawyer_profileAInspect
Get full profile for a specific lawyer by their Law.AI ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Lawyer ID from Law.AI |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behaviors. It clearly indicates a read-only retrieval operation, but doesn't mention authentication, rate limits, or what constitutes a 'full profile'. For a simple get operation, this is adequate but 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 one concise sentence (13 words) with no unnecessary words. It is front-loaded and efficient.
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 tool with one required parameter and no output schema, the description is mostly complete. It doesn't detail return values, but the name implies a profile object, which is reasonable. Slightly more detail on what 'full profile' includes would improve completeness.
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% and the description doesn't add significant meaning beyond the schema's 'Lawyer ID from Law.AI'. No extra context on format or constraints is provided, 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 ('Get') and resource ('full profile for a specific lawyer by their Law.AI ID'), clearly differentiating from sibling tools like find_lawyer_by_name (name-based search) and search_lawyers (broader search).
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 implicitly indicates when to use the tool (when you have a specific Law.AI ID), but doesn't explicitly state when not to use it or mention alternatives. The sibling tool names provide context, but the description itself could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_practice_areasAInspect
List all practice areas with lawyer counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It only states 'list', implying read-only, but lacks disclosure of important traits like pagination, rate limits, or authorization needs. Minimal behavioral information.
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 a single, clear sentence with no wasted words. It is appropriately sized for the tool's simplicity.
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 has no parameters and no output schema, the description is adequate. It explains the purpose and output (list with counts). However, it could be slightly more explicit about the data structure (e.g., fields returned).
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?
No parameters exist, and schema description coverage is 100%. Baseline for 0 parameters is 4, and the description does not add unnecessary parameter info. The description is sufficient for a parameterless tool.
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 practice areas with lawyer counts, using a specific verb and resource. It distinguishes from siblings like 'find_lawyer_by_name' and 'search_lawyers', which focus on individual lawyers.
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 guidance on when to use this tool versus alternatives. The description does not specify context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lawyersBInspect
Search verified lawyer profiles by practice area, state, city, and bar status.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name | |
| limit | No | Results (default 10, max 50) | |
| state | No | US state (name or abbreviation) | |
| offset | No | Pagination offset | |
| bar_status | No | "Active" (default), "Inactive", or "Any" | |
| practice_area | No | Practice area, e.g. "Criminal Defense" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as whether results are paginated (though schema has limit/offset), ordering, data freshness, authentication requirements, or what 'verified' means. The description gives only high-level intent.
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 a single sentence with no excess words. It is appropriately front-loaded. However, it could include additional context without becoming verbose, such as default pagination or result ordering.
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 has 6 parameters, no required fields, no output schema, and no annotations, the description is incomplete. It lacks information on pagination behavior, return structure (list of profiles vs. count), how filters interact, and when to prefer this over sibling tools.
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 having a description, so baseline is 3. The description adds minimal value beyond listing the parameter names; it does not clarify how filters combine (AND/OR), which are required, or provide examples.
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 action (Search), resource (verified lawyer profiles), and the key filtering dimensions (practice area, state, city, bar status). It differentiates from sibling tools like find_lawyer_by_name (which searches by name) and get_lawyer_profile (single profile).
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 no guidance on when to use this tool versus siblings like find_lawyer_by_name, get_jurisdictions, or get_lawyer_profile. It does not clarify use cases or alternatives, leaving the agent to infer from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!