LegalAIMCP Directory
Server Details
Search a curated directory of AI tools and MCP servers for law firms. Read-only, free, no auth.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool serves a distinct purpose: search filters the directory, recommend provides firm-specific rankings, get retrieves detailed info for a single tool, and list categories provides an orientation. The descriptions explicitly clarify when to use search versus recommend, eliminating ambiguity.
All tools follow a consistent verb_legal_ai_noun pattern: get, list, recommend, search. The only minor variation is singular 'tool' vs plural 'tools', but this does not hinder predictability and the naming convention is uniform.
With 4 tools, the server is well-scoped for a directory service: search, browse categories, retrieve details, and get recommendations. Each tool earns its place, and the count is neither excessive nor thin.
The tool surface covers the core consumer workflow for a directory: orient via categories, search/filter, dive into details, and receive personalized recommendations. There are no obvious dead ends, and the set is complete for its stated purpose.
Available Tools
4 toolsget_legal_ai_toolGet one legal AI toolARead-onlyIdempotentInspect
Get the full listing for one legal AI tool by its slug, including the complete description and MCP install command. Use after search_legal_ai_tools to go deeper on a specific result.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Listing slug, e.g. "harvey-ai" — taken from a search result |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | The listing, present when found is true |
| found | Yes | False when no published listing has this slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds that the tool returns 'complete description and MCP install command', giving concrete behavioral details beyond annotations.
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?
Two short, front-loaded sentences with zero waste. First sentence states purpose, second provides usage context.
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 parameter, high annotation coverage, and an existing output schema, the description provides all necessary context: what the tool does, when to use it, and what the response contains.
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 a description for the slug parameter. The description mentions 'by its slug' but does not add significant meaning beyond the schema's explanation and example.
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 (Get), resource (legal AI tool), and distinguishing details (by slug, includes complete description and MCP install command). It also explicitly positions itself after search_legal_ai_tools, differentiating from siblings.
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 explicitly says 'Use after search_legal_ai_tools to go deeper on a specific result', providing clear when-to-use guidance and an exclusion for search functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_legal_ai_categoriesList practice-area categoriesARead-onlyIdempotentInspect
List the practice-area categories in the legalaimcp.com directory, with how many published tools each contains. Useful for orienting before a search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | Total published tools in the directory |
| categories | Yes | All practice-area categories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety and idempotency are clear. The description adds that it lists categories with counts, consistent with annotations. No contradictions.
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?
Two sentences, front-loaded with the main action, no waste. Every word contributes to clarity.
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 zero parameters and an output schema, the description fully explains what the tool returns (categories with counts). No gaps for the intended use.
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 coverage is 100%. Baseline of 4 applies; description adds no param info but none is 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?
Clearly states the tool lists practice-area categories and their tool counts. Differentiates from sibling tools (get_legal_ai_tool and search_legal_ai_tools) by focusing on categories rather than specific tools.
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?
Explicitly states 'Useful for orienting before a search,' providing clear context for when to use. While it doesn't contrast with siblings, the usage scenario is clear and sufficient for this simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_legal_ai_toolsRecommend legal AI tools for a firmARead-onlyIdempotentInspect
Rank legal AI tools by fit for a specific practice area and firm size, with a score and the matched factors behind it. Use this instead of search_legal_ai_tools when someone describes their firm (e.g. "solo family law practice" or "20-attorney litigation firm") and wants a recommendation, not just a list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of recommendations to return (1-5, default 5) | |
| firm_size | Yes | Firm size: solo, small (2-10 attorneys), mid (11-50), or large (50+) | |
| practice_area | Yes | Practice-area category slug — get slugs from list_legal_ai_categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of recommendations returned |
| recommendations | Yes | Ranked highest-fit first. Empty when nothing in the directory matched either input. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds behavioral value beyond those annotations by stating that the tool ranks tools and returns 'a score and the matched factors behind it,' and by framing it as recommendation-oriented rather than list-oriented. No contradictions with annotations.
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?
Two sentences, no filler. The first sentence front-loads the core behavior and output; the second sentence provides actionable usage guidance. Every clause contributes to selection or invocation.
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?
With an output schema present, a fully described input schema, and annotations covering safety and idempotency, the description completes the picture by clarifying when to choose this tool over its sibling. Nothing needed for correct selection or invocation is missing.
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 each parameter already has clear semantics, including enum values and defaults for limit. The description reinforces the role of practice area and firm size in determining fit but does not need to add more; the schema carries the parameter documentation burden.
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 opens with the specific verb 'Rank' and names the resource ('legal AI tools') and the ranking criteria ('fit for a specific practice area and firm size'), and promises a score plus matched factors. It clearly distinguishes itself from the sibling search_legal_ai_tools by saying it gives a recommendation rather than just a list.
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 explicitly says 'Use this instead of search_legal_ai_tools' and identifies the exact triggering condition: when someone describes their firm and wants a recommendation, not just a list. Concrete examples ('solo family law practice', '20-attorney litigation firm') make the usage boundary easy for an agent to apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_legal_ai_toolsSearch legal AI toolsARead-onlyIdempotentInspect
Search the legalaimcp.com directory of AI tools and MCP servers built for law firms. Filter by free-text query, practice-area category, and pricing model. Use this when someone asks what AI tooling exists for legal work such as contract review, legal research, client intake, billing, or compliance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (1–25, default 10) | |
| query | No | Free-text search over tool names, taglines, and descriptions, e.g. "contract review" | |
| pricing | No | Pricing-model filter: free, freemium, paid, or contact | |
| category | No | Practice-area filter — get slugs from list_legal_ai_categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of tools returned |
| tools | Yes | Matching tools, link-verified listings first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, idempotent read operation. The description adds that results can be filtered by query, category, and pricing, but does not disclose any additional behavioral traits beyond what the annotations and schema already convey.
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 two sentences long, front-loaded with the core purpose, and uses specific examples. Every word adds value; there is no fluff or 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?
Given the presence of an output schema and comprehensive annotations, the description covers the essential purpose and filtering capabilities. It could be slightly improved by hinting at pagination or response structure, but the output schema likely handles that. The description is complete enough for effective use.
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%, so the baseline is 3. The description lists the three filter types (free-text, category, pricing), which mirrors the schema's descriptions without adding new meaning or usage nuances. No extra value is provided beyond what the parameter descriptions already offer.
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 it searches the legalaimcp.com directory for AI tools and MCP servers, with specific filter dimensions (free-text, category, pricing). It includes concrete examples like 'contract review' and distinguishes from sibling tools by implying that get_legal_ai_tool retrieves a single tool and list_legal_ai_categories returns category slugs.
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 explicitly says 'Use this when someone asks what AI tooling exists for legal work...', providing clear context. However, it does not explicitly state when not to use it or contrast with siblings beyond the implicit differentiation, which would improve the score to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
recommend_legal_ai_tools2 fields changed- added
Output schema / properties / recommendations / items / properties / pricing_noteAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Informational only, never affects rank: paid/contact tiers often bundle dedicated support that a free/freemium pick may not. Ties are broken by cost alone — this lets the requester weigh support separately." +} - changed
Output schema / properties / recommendations / items / requiredPrevious value: -[ - "slug", - "name", - "tagline", - "category", - "category_label", - "pricing_model", - "pricing_details", - "links_verified", - "links_verified_at", - "website", - "repo", - "install_command", - "maker", - "listing_url", - "score", - "matched_factors" -]New value: +[ + "slug", + "name", + "tagline", + "category", + "category_label", + "pricing_model", + "pricing_details", + "links_verified", + "links_verified_at", + "website", + "repo", + "install_command", + "maker", + "listing_url", + "score", + "matched_factors", + "pricing_note" +]
1 tool update
- Added
recommend_legal_ai_tools
3 tool updates
- Changed
get_legal_ai_tool2 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Listing slug, e.g. \"harvey-ai\" — taken from a search result URL"New value: +"Listing slug, e.g. \"harvey-ai\" — taken from a search result" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "found": { + "description": "False when no published listing has this slug", + "type": "boolean" + }, + "tool": { + "additionalProperties": false, + "description": "The listing, present when found is true", + "properties": { + "category": { + "description": "Practice-area category slug", + "type": "string" + }, + "category_label": { + "description": "Human-readable category name", + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Full listing description" + }, + "install_command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "MCP install command, if the tool ships an MCP server" + }, + "links_verified": { + "description": "True if an automated check confirmed every URL on this listing resolved, as of links_verified_at. An automated link check only — NOT an endorsement, security audit, or legal review.", + "type": "boolean" + }, + "links_verified_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO date of the last passing link check; null = not confirmed (often just bot-blocking)" + }, + "listing_url": { + "description": "Canonical listing page on legalaimcp.com", + "type": "string" + }, + "maker": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Creator or vendor name" + }, + "name": { + "description": "Tool name", + "type": "string" + }, + "pricing_details": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pricing notes, if any" + }, + "pricing_model": { + "description": "One of: free, freemium, paid, contact", + "type": "string" + }, + "repo": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Source repository, if open source" + }, + "slug": { + "description": "Stable listing identifier — pass to get_legal_ai_tool", + "type": "string" + }, + "tagline": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "One-line summary" + }, + "website": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Tool website" + } + }, + "required": [ + "slug", + "name", + "tagline", + "category", + "category_label", + "pricing_model", + "pricing_details", + "links_verified", + "links_verified_at", + "website", + "repo", + "install_command", + "maker", + "listing_url", + "description" + ], + "type": "object" + } + }, + "required": [ + "found" + ], + "type": "object" +}
- Changed
list_legal_ai_categories1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "categories": { + "description": "All practice-area categories", + "items": { + "additionalProperties": false, + "properties": { + "count": { + "description": "Published tools in this category", + "type": "number" + }, + "label": { + "description": "Human-readable category name", + "type": "string" + }, + "slug": { + "description": "Pass as `category` to search_legal_ai_tools", + "type": "string" + } + }, + "required": [ + "slug", + "label", + "count" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "description": "Total published tools in the directory", + "type": "number" + } + }, + "required": [ + "total", + "categories" + ], + "type": "object" +}
- Changed
search_legal_ai_tools5 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Practice area filter"New value: +"Practice-area filter — get slugs from list_legal_ai_categories" - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of results to return (1–25, default 10)" - changed
Input schema / properties / pricing / descriptionPrevious value: -"Pricing model filter"New value: +"Pricing-model filter: free, freemium, paid, or contact" - changed
Input schema / properties / query / descriptionPrevious value: -"Free-text search over tool names and taglines, e.g. \"contract review\""New value: +"Free-text search over tool names, taglines, and descriptions, e.g. \"contract review\"" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "count": { + "description": "Number of tools returned", + "type": "number" + }, + "tools": { + "description": "Matching tools, link-verified listings first", + "items": { + "additionalProperties": false, + "properties": { + "category": { + "description": "Practice-area category slug", + "type": "string" + }, + "category_label": { + "description": "Human-readable category name", + "type": "string" + }, + "install_command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "MCP install command, if the tool ships an MCP server" + }, + "links_verified": { + "description": "True if an automated check confirmed every URL on this listing resolved, as of links_verified_at. An automated link check only — NOT an endorsement, security audit, or legal review.", + "type": "boolean" + }, + "links_verified_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO date of the last passing link check; null = not confirmed (often just bot-blocking)" + }, + "listing_url": { + "description": "Canonical listing page on legalaimcp.com", + "type": "string" + }, + "maker": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Creator or vendor name" + }, + "name": { + "description": "Tool name", + "type": "string" + }, + "pricing_details": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pricing notes, if any" + }, + "pricing_model": { + "description": "One of: free, freemium, paid, contact", + "type": "string" + }, + "repo": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Source repository, if open source" + }, + "slug": { + "description": "Stable listing identifier — pass to get_legal_ai_tool", + "type": "string" + }, + "tagline": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "One-line summary" + }, + "website": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Tool website" + } + }, + "required": [ + "slug", + "name", + "tagline", + "category", + "category_label", + "pricing_model", + "pricing_details", + "links_verified", + "links_verified_at", + "website", + "repo", + "install_command", + "maker", + "listing_url" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "count", + "tools" + ], + "type": "object" +}
3 tool updates
- First observed
get_legal_ai_tool - First observed
list_legal_ai_categories - First observed
search_legal_ai_tools
Related MCP Connectors
Search a curated directory of AI tools, AI agents and MCP servers by task, pricing and platform.
Search a curated directory of 300+ verified AI agents, MCP servers, and agentic tools.
Search MCP servers, MCP clients and AI agents, and retrieve listing details. Free, read-only access.
Independent directory of agentic AI tools — search, compare & recommend via MCP. Read-only.
Related MCP Servers
- AlicenseAqualityCmaintenanceLegalMCP is a comprehensive US legal MCP server that enables AI assistants to search over 4 million US court opinions, manage Clio practice data, and access PACER federal filings through natural language.1868MIT
- FlicenseAqualityBmaintenanceA read-only MCP server that enables AI clients to search a knowledge base and retrieve complete source documents via narrow search and fetch tools.2-
- AlicenseAqualityDmaintenanceMCP Server providing AI agents access to over 3 million US court decisions via CourtListener and EU legislation via EUR-Lex, with tools for searching cases, citations, judges, and court information.6MIT
- AlicenseAqualityDmaintenanceProvides AI assistants access to 991,000+ bar-verified U.S. attorney profiles for accurate lawyer search, verification, and referral without hallucination.739 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.