Skip to main content
Glama

Claim a real LexVibe app

claim_app

Create a REAL LexVibe app in the user's account (replaces any YOUR_APP_ID placeholder). Returns a claim link: show it to the user so they can sign in and confirm — the link expires in 30 minutes. On confirmation LexVibe creates the app, scans the URL (if given), generates and hosts the legal documents. After the user confirms, call get_claim_status with the returned code to retrieve the real app id and install snippet. Provide at least url or appName.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPublic URL of the app: a website URL, or an App Store / Google Play listing URL for a mobile-only product. LexVibe scans whichever kind is provided on confirmation. If you don't have a listing URL yet, set `platform` explicitly instead.
aiActNoIf you already ran check_ai_act for this product, pass the SAME answers object here. The EU AI Act classification is then saved against the app on confirmation and shown in the user's dashboard, instead of being lost when this conversation ends.
answersNoCompliance flags you already know (pass check_website's suggestedAnswers): usesAnalytics, processesPayments, usesGenerativeAI, collectsEmails, sharesWithThirdParties, platformType, companyEntity, contactEmail…
appNameNoApp / business name (required if no url is provided).
marketsNoRegions where the app has users; each market pack cites its own frameworks: eu → GDPR/ePrivacy, uk → UK GDPR/PECR, us → CCPA/CPRA, ca → PIPEDA, latam → LGPD…; 'global' is NOT a union of the others — it only cites generic OECD international privacy best practices, for users outside every listed market. To cover several specific frameworks, list each market explicitly, e.g. ['eu', 'us', 'latam']. Defaults to [eu].
platformNoTarget platform when there is no url to infer it from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / aiAct
      Added value: +{
      +  "additionalProperties": {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "items": {
      +          "maxLength": 60,
      +          "type": "string"
      +        },
      +        "maxItems": 8,
      +        "type": "array"
      +      }
      +    ]
      +  },
      +  "description": "If you already ran check_ai_act for this product, pass the SAME answers object here. The EU AI Act classification is then saved against the app on confirmation and shown in the user's dashboard, instead of being lost when this conversation ends.",
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"Public URL of the app (website or App Store / Google Play listing). LexVibe scans it on confirmation."New value: +"Public URL of the app: a website URL, or an App Store / Google Play listing URL for a mobile-only product. LexVibe scans whichever kind is provided on confirmation. If you don't have a listing URL yet, set `platform` explicitly instead."
  3. Changed1 schema field changed
    • changedInput schema / properties / markets / description
      Previous value: -"Regions where the app has users. Defaults to [eu]."New value: +"Regions where the app has users; each market pack cites its own frameworks: eu → GDPR/ePrivacy, uk → UK GDPR/PECR, us → CCPA/CPRA, ca → PIPEDA, latam → LGPD…; 'global' is NOT a union of the others — it only cites generic OECD international privacy best practices, for users outside every listed market. To cover several specific frameworks, list each market explicitly, e.g. ['eu', 'us', 'latam']. Defaults to [eu]."
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, which are generic. The description adds valuable behavior: the claim link expires in 30 minutes, confirmation triggers scanning and legal document generation, and the tool replaces placeholders. It also discloses the async nature via needing to call get_claim_status afterward. However, it doesn't mention what happens if neither url nor appName is provided (validation error) or potential side effects like overwriting existing data beyond the placeholder replacement.

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

Conciseness4/5

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

The description is a single paragraph that is information-dense but front-loaded with the main action. Each sentence adds new information: what it does, what it returns, expiration, confirmation effects, and follow-up. It's somewhat long but justified due to the multi-step process. No filler; slightly better than average.

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?

The tool has 6 params but no required ones, no output schema, and complex async behavior. The description covers the key steps: returning a claim link, expiry, user confirmation side effects, and the need to poll get_claim_status. It doesn't describe error cases (e.g., invalid URL) or what the install snippet contains, but given the output schema is absent and sibling tools exist for those, the description is fairly complete. The 30-minute expiry is noted, which is critical.

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%, so all parameters are documented with descriptions. The description itself adds context by grouping 'url' and 'appName' as alternatives and referencing check_ai_act and check_website outputs. However, it doesn't explain the interplay of all parameters (e.g., how platform interacts with url) beyond what the schema already states. Baseline 3 is appropriate because the schema carries the load.

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?

The description clearly states it creates a real LexVibe app in the user's account and replaces the YOUR_APP_ID placeholder. It distinguishes from siblings by naming get_claim_status and get_install_snippet as follow-up tools, and the context of claim link user confirmation makes the purpose specific and actionable.

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

Usage Guidelines5/5

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

The description explicitly says to show the returned link to the user, that it expires in 30 minutes, and instructs to call get_claim_status with the returned code after confirmation. It also provides a prerequisite: provide at least `url` or `appName`. This clearly directs when to use this tool and what to do next, effectively guiding flow.

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.