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
- Repository
- risk-ai/lawai-mcp-server
- GitHub Stars
- 0
- Server Listing
- Law.AI MCP Server
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.9/5 across 5 of 5 tools scored.
Each tool has a clear, distinct purpose: direct name lookup, profile retrieval by ID, filtered search, and reference lists for jurisdictions and practice areas. No overlaps in functionality.
The get_ prefix is used consistently for retrieving profiles and reference data, while find_lawyer_by_name and search_lawyers use different verbs that still align with their lookup/search purposes. Minor inconsistency in verb choice, but overall pattern is readable.
Five tools is well-scoped for a lawyer search server, covering lookup, search, profile details, and reference data without unnecessary bulk.
The tool surface fully covers the lawyer search domain: search by filters, lookup by name, retrieve full profile, and obtain supporting reference data. No obvious missing operations.
Available Tools
5 toolsfind_lawyer_by_nameAInspect
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the purpose—verifying existence and licensing—but does not disclose return format, edge cases (e.g., no match, multiple matches), or any operational details. This is a significant transparency gap for a lookup 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?
The description is a single, focused sentence that directly communicates the core function without redundancy or unnecessary detail. Every word earns its place.
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 lookup tool, the description provides the essential purpose but leaves out important context such as what the response contains and how the optional state parameter affects results. Given the absence of an output schema and annotations, this is minimally adequate but could be more complete.
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?
The input schema already fully describes both parameters (name and state) with 100% coverage. The description adds a minimal interpretative layer (verification intent) but does not elaborate beyond the schema, so a baseline 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 clearly states the tool's purpose: looking up a lawyer by name to verify existence and licensing. It uses a specific verb (look up) and resource (lawyer by name), and distinguishes itself from siblings like search_lawyers and get_lawyer_profile by focusing on verification rather than broad search or profile details.
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 conveys a clear use case: verifying whether a lawyer exists and is licensed. However, it does not explicitly mention when to avoid this tool or suggest alternatives (e.g., search_lawyers for broader searches), so it falls short of full usage guidance.
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 are provided, so the description carries full responsibility for disclosing behavior. 'List' indicates a read-only operation, and the description specifies exactly what will be returned (US states and lawyer counts). There is no ambiguity about side effects or hidden behavior.
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, front-loaded sentence that directly states the tool's function with no filler. Every word earns its place.
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's simplicity (no parameters, no output schema, no annotations), the description fully covers what an agent needs to know: the action, the scope (US states), and the data included (lawyer counts). No additional information is necessary for correct invocation.
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?
The tool has zero parameters, so the schema is empty. Per the rubric, this establishes a baseline of 4. The description adds context about the output (what is listed) but does not need to elaborate on parameter meanings since none exist.
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 the verb 'List' with a specific resource ('US states with lawyer counts'). It clearly distinguishes from siblings like find_lawyer_by_name and search_lawyers, which deal with individual lawyers rather than jurisdiction-level aggregates.
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 implies the usage context: retrieving a list of US states alongside lawyer counts. It does not explicitly discuss when not to use this tool or mention alternatives, but given the distinct nature of sibling tools (e.g., get_practice_areas), the clear statement of the listing behavior provides adequate context without exclusions.
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?
No annotations are provided, so the description carries the burden of behavioral disclosure. It indicates a read-only lookup ('Get') by ID, but does not disclose not-found behavior, authentication needs, or response 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 sentence, front-loaded with the verb 'Get' and resource. Every word earns its place; there is no redundancy.
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?
The tool is simple: one parameter, no nested objects, and no output schema. 'Get full profile' gives adequate return context. It could be more specific about profile fields, but for a simple getter this is sufficient.
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 parameter is well-described as 'Lawyer ID from Law.AI.' The description reinforces this but adds no additional constraints or context 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?
The description uses specific verb 'Get' and clearly identifies the resource: 'full profile for a specific lawyer by their Law.AI ID.' This distinguishes it from sibling tools like search_lawyers and find_lawyer_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?
The description implies when to use the tool (when you have a Law.AI ID), but it does not explicitly mention alternatives or exclusions. Sibling tool names suggest alternatives, but the description itself lacks direct guidance.
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?
With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states "all" (implying no scoping or filters) and "with lawyer counts" (revealing a key aspect of the return content). However, it does not discuss whether the operation is read-only, potential error cases, or any rate limits. The verb "List" suggests a safe read-only operation, but this is not stated explicitly.
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 that immediately states the action and expected output. There is no extraneous information or repetition. It is well-structured and front-loaded, making it easy for an agent to quickly grasp the tool's function.
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's simplicity (no parameters, no output schema, no annotations), the description provides sufficient information about what the tool returns (practice areas with lawyer counts). It does not elaborate on the exact return format (e.g., array vs. objects), but for a basic list operation this is acceptable. Sibling tools offer enough context to infer that this is a general list endpoint, and the description covers the core purpose without requiring additional detail.
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?
The input schema is empty with zero parameters, so the schema coverage is effectively 100%. According to the rubric, 0 parameters earns a baseline of 4, and the description does not need to explain parameter semantics. The description adds value by clarifying that the result includes lawyer counts, which is helpful context for the return value.
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's purpose with a specific verb ("List") and resource ("practice areas"), and adds scope ("all") and content detail ("with lawyer counts"). This distinguishes it from siblings like get_lawyer_profile and search_lawyers, which focus on individual lawyers or searches.
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 alternatives. It does not mention when one would prefer this over get_jurisdictions or other siblings, nor any exclusions or prerequisites. The only implied context is that it returns practice areas, but there is no explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lawyersAInspect
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?
With no annotations, the description carries the full transparency burden. It does not disclose behavior such as default bar_status ('Active'), pagination via limit/offset, or what 'verified' means. It only states that it searches, but no side effects or data handling details are provided.
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, well-structured sentence that front-loads the verb and key object. No unnecessary words.
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?
The tool is moderately complex with 6 parameters and no output schema. The description gives a basic sense of what it does but does not mention return format, pagination defaults, or how filters combine. It is minimally viable but leaves gaps.
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 each parameter has a description. The description merely lists the filter fields which are already in the schema, adding no additional semantic or format details. Baseline 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 clearly states the action ('Search') and the resource ('verified lawyer profiles'), and lists the key filter dimensions (practice area, state, city, bar status). This distinguishes it from siblings like find_lawyer_by_name and get_lawyer_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 context implies this is for searching with filters, but there is no explicit guidance on when to use it versus alternatives like find_lawyer_by_name, or any exclusions or prerequisites. Usage is implied rather than stated.
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!
Related MCP Servers
- Alicense-qualityBmaintenanceAccess ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.68MIT
- Alicense-qualityAmaintenance200+ AI-powered legal research and drafting skills for attorneys — case law analysis, motion drafting, contract review, deposition prep, and ABA compliance tools. LawTasksAI.com never sees your client data.MIT
- Alicense-qualityBmaintenanceProvides AI assistants with verified regulatory data from 850+ official sources across 50+ jurisdictions, enabling accurate compliance research.MIT

Lawstronaut MCPofficial
Flicense-qualityAmaintenanceConnects AI agents to 50+ million laws and court cases across 150+ jurisdictions via the Model Context Protocol.1
Your Connectors
Sign in to create a connector for this server.