Skip to main content
Glama

LegalAIMCP Directory

Get one legal AI tool

get_legal_ai_tool
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
slugYesListing slug, e.g. "harvey-ai" — taken from a search result

Output Schema

NameRequiredDescriptionDefault
toolNoThe listing, present when found is true
foundYesFalse when no published listing has this slug

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • removedOutput schema / properties / tool / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / install_command / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / install_command / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / links_verified_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / links_verified_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / maker / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / maker / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / pricing_details / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / pricing_details / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / repo / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / repo / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / tagline / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / tagline / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tool / properties / website / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tool / properties / website / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / tool / properties / source_review
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "customer_account_tested": {
      +          "const": false,
      +          "type": "boolean"
      +        },
      +        "reviewed_at": {
      +          "type": "string"
      +        },
      +        "scope": {
      +          "const": "public_documentation",
      +          "type": "string"
      +        },
      +        "source_urls": {
      +          "items": {
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "reviewed_at",
      +        "source_urls",
      +        "scope",
      +        "customer_account_tested"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Dated primary-source review for the matching published claims. This is not a runtime, security or legal-output test."
      +}
    • changedOutput schema / properties / tool / required
      Previous value: -[
      -  "slug",
      -  "name",
      -  "tagline",
      -  "category",
      -  "category_label",
      -  "pricing_model",
      -  "pricing_details",
      -  "links_verified",
      -  "links_verified_at",
      -  "website",
      -  "repo",
      -  "install_command",
      -  "maker",
      -  "listing_url",
      -  "connection",
      -  "description"
      -]New value: +[
      +  "slug",
      +  "name",
      +  "tagline",
      +  "category",
      +  "category_label",
      +  "pricing_model",
      +  "pricing_details",
      +  "links_verified",
      +  "links_verified_at",
      +  "website",
      +  "repo",
      +  "install_command",
      +  "maker",
      +  "listing_url",
      +  "source_review",
      +  "connection",
      +  "description"
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / properties / tool / properties / connection
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "customer_account_tested": {
      +          "const": false,
      +          "type": "boolean"
      +        },
      +        "documentation_reviewed_at": {
      +          "type": "string"
      +        },
      +        "permissions": {
      +          "type": "string"
      +        },
      +        "requirements": {
      +          "type": "string"
      +        },
      +        "setup": {
      +          "type": "string"
      +        },
      +        "source_url": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "type": {
      +          "enum": [
      +            "official",
      +            "community"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "type",
      +        "source_url",
      +        "documentation_reviewed_at",
      +        "requirements",
      +        "permissions",
      +        "setup",
      +        "customer_account_tested"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Reviewed setup documentation, not a compatibility or security test. Null means no reviewed setup guide is attached, not that a connector cannot exist."
      +}
    • changedOutput schema / properties / tool / required
      Previous value: -[
      -  "slug",
      -  "name",
      -  "tagline",
      -  "category",
      -  "category_label",
      -  "pricing_model",
      -  "pricing_details",
      -  "links_verified",
      -  "links_verified_at",
      -  "website",
      -  "repo",
      -  "install_command",
      -  "maker",
      -  "listing_url",
      -  "description"
      -]New value: +[
      +  "slug",
      +  "name",
      +  "tagline",
      +  "category",
      +  "category_label",
      +  "pricing_model",
      +  "pricing_details",
      +  "links_verified",
      +  "links_verified_at",
      +  "website",
      +  "repo",
      +  "install_command",
      +  "maker",
      +  "listing_url",
      +  "connection",
      +  "description"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / slug / description
      Previous 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"
    • changedOutput 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"
      +}
  5. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds value by disclosing the payload shape (complete description plus MCP install command), which tells the agent this is the authoritative detail fetch. No mention of behavior for a missing slug, but that is minor given the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler. The what-is-returned clause comes first and the sequencing guidance second, so the agent gets the essential purpose before the routing hint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't enumerate return fields, and it still signals the highlights. Combined with rich annotations and a fully documented single parameter, the definition is essentially complete; only error/not-found behavior is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the slug parameter is fully documented in the schema, including pattern, max length, and an example. The description only restates that lookup is by slug, adding no syntax or provenance detail beyond what the schema already says ("taken from a search result"). Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get), a specific resource (one legal AI tool), and the retrieval key (slug), plus what the result contains — full description and MCP install command. An agent can immediately distinguish this single-record lookup from the list/search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly positions the tool in a workflow: "Use after search_legal_ai_tools to go deeper on a specific result," naming the sibling that should precede it. It stops short of stating when not to use it (e.g., when you already have the full record), so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources