Skip to main content
Glama

Server Details

One-step legal compliance for vibe-coded apps: privacy, terms, cookie banner and EU AI Act check.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
marcosnovo/lexvibe-mcp
GitHub Stars
0
Server Listing
@lexvibe/mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: check_ai_act classifies AI risk, check_store and check_website audit different platform listings, claim_app creates an app, generate_policies drafts legal docs, get_claim_status tracks claim confirmation, and get_install_snippet provides installation code. No two tools overlap in function.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., check_ai_act, claim_app, generate_policies). The naming is predictable and easy to understand.

Tool Count5/5

Seven tools is a well-scoped set for the server's purpose: three for compliance checks, one for app creation, one for policy generation, one for status tracking, and one for installation snippets. Each tool earns its place without being excessive.

Completeness4/5

The tool surface covers the primary workflows: checking compliance, creating an app, generating policies, and installation. A minor gap is the lack of update/delete tools for apps, but the core lifecycle is covered. Agents can successfully complete the intended tasks.

Available Tools

10 tools
applicable_frameworksWhich laws apply to my marketsA
Read-only
Inspect

Given the markets a product serves, return every framework that applies, the documents it must publish, the strictest cookie-consent regime across those markets, and whether a universal opt-out signal (Global Privacy Control) has to be honoured. This is the read-only version of what generate_policies uses internally, so the answer matches the documents LexVibe would actually produce. Use it to answer 'I sell to the EU and Texas — what do I need?'. Read-only, instant.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketsYesMarkets the product serves, e.g. ["eu", "us"].
Behavior4/5

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

The description adds value beyond annotations by stating it is 'read-only, instant' and that the answer matches documents LexVibe would produce. Annotations already declare readOnlyHint=true. No contradictions. It does not discuss rate limits or other behaviors, but the added context is sufficient.

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?

The description is concise, using three sentences to convey all necessary information. It includes a clear example, and there is no redundant or extraneous text.

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

Completeness5/5

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

Despite lacking an output schema, the description fully explains what the tool returns: frameworks, documents, cookie-consent regime, and GPC status. It also mentions it is read-only and instant, covering essential behavioral aspects for a query tool.

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

Parameters5/5

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

Schema coverage is 100% for the single parameter 'markets'. The description adds meaning by explaining its purpose ('markets the product serves') and providing an example ('["eu", "us"]'). This adds context beyond the schema's own description.

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 the tool's function with specific verbs and resources: 'return every framework that applies, the documents it must publish, the strictest cookie-consent regime, and whether a universal opt-out signal has to be honoured.' It distinguishes itself from sibling tools like 'generate_policies' by noting it's the read-only version.

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?

The description provides explicit usage guidance with an example: 'Use it to answer 'I sell to the EU and Texas — what do I need?'.' It also contrasts with generate_policies, indicating when to use this tool instead. However, it does not explicitly state 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.

check_ai_actClassify EU AI Act riskA
Read-only
Inspect

Classify a product's risk level under the EU AI Act — minimal, limited, high or prohibited — and return the applicable obligations, each with its compliance deadline (limited-risk transparency duties apply from Aug 2, 2026; Annex III high risk from Dec 2, 2027). The boolean parameters fall into three groups, all optional and defaulting to the safest 'not applicable' value: (1) transparency triggers — usesAI, interactsWithPeople, generatesContent, automatedDecisions; (2) the eight prohibited practices of art. 5 — socialScoring, realtimeBiometricPublic + realtimeBiometricLawEnforcement, emotionRecognitionWorkEducation, biometricCategorisationSensitive, untargetedFaceScraping, manipulativeOrExploitative, individualPredictivePolicing; (3) high-risk triggers — embeddedInRegulatedProduct, annexIII domains. Answer the boolean questions about what the system does; leave unknowns at their defaults, which never over-report risk. Read-only and instant.

ParametersJSON Schema
NameRequiredDescriptionDefault
usesAINoDoes the product use AI at all (LLM calls, recommendations, computer vision…)? false ⇒ minimal risk, the AI Act does not apply.
annexIIINoAnnex III high-risk domains that apply. Only these exact values count; anything else is not Annex III and must be left out.
socialScoringNoDoes it score people's social behavior or traits causing detrimental treatment in unrelated contexts, or disproportionate to the behavior (art. 5.1.c)? Prohibited. A seller rating or fitness points app is NOT this.
generatesContentNoDoes it generate text, images, audio or video shown to users? Triggers the art. 50 duty to label AI-generated content.
automatedDecisionsNoDoes it make automated decisions with legal or similarly significant effects on people (credit, hiring, admissions…)? Adds GDPR art. 22 duties; high risk only if an Annex III domain applies.
interactsWithPeopleNoDo people interact directly with the AI (chatbot, voice assistant…)? Triggers the art. 50 duty to disclose they are talking to an AI.
untargetedFaceScrapingNoDoes it untargetedly scrape facial images from the internet or CCTV footage to build or expand a face-recognition database (art. 5.1.e)? Prohibited. Matching a user's own consented selfie against their own ID photo is NOT this.
realtimeBiometricPublicNoReal-time remote biometric identification in publicly accessible spaces (e.g. live face recognition)? High risk (Annex III biometrics) — prohibited only when combined with realtimeBiometricLawEnforcement.
embeddedInRegulatedProductNoIs the AI a safety component embedded in an Annex I regulated product (toys, machinery, medical devices…)? High risk via art. 6.1, deadline Aug 2, 2028.
manipulativeOrExploitativeNoDoes it use subliminal techniques beyond a person's consciousness, or exploit a known vulnerability (age, disability, specific social or economic situation) to materially distort behavior and cause harm — e.g. dark patterns targeting a diagnosed gambling addiction (art. 5.1.a-b)? Prohibited. Ordinary persuasive marketing or UX nudges aimed at the general population are NOT this.
individualPredictivePolicingNoPredicting an individual's criminal risk based solely on profiling or personality traits (art. 5.1.d)? Prohibited.
emotionRecognitionWorkEducationNoDoes it infer emotions (frustration, attention, mood…) from employees at work or students in education, e.g. to flag disengaged staff or bored students (art. 5.1.f)? Prohibited. Emotion inference on end users of a public consumer product (not their employees/students) is NOT this.
realtimeBiometricLawEnforcementNoOnly if realtimeBiometricPublic: is it used FOR LAW ENFORCEMENT purposes? That combination is prohibited under art. 5.1.h and already in force; any other use of public real-time biometric ID is high risk instead. Without this the prohibition can never be reached.
biometricCategorisationSensitiveNoDoes it use biometric data (face, voice, gait…) to infer sensitive attributes — race, political opinion, religion, trade-union membership, sexual orientation (art. 5.1.g)? Prohibited. Ordinary face-unlock or liveness checks that don't infer these attributes are NOT this.
Behavior5/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only and instant.' It goes beyond annotations by adding crucial behavioral context: defaults 'never over-report risk' and specific compliance deadlines for obligations. This transparency about safety defaults and output behavior exceeds what annotations provide.

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?

The description is front-loaded with the core purpose, then efficiently enumerates parameter groups in a numbered list. Every sentence earns its place: purpose, deadlines, parameter grouping, and usage guidance. Despite covering 14 parameters, it remains dense and structured with no fluff. This is a model of concise, high-density documentation.

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?

Given the tool's complexity (14 optional parameters, no output schema), the description covers the essential aspects: what it returns (risk level, obligations with deadlines), how to answer parameters, and the conservative default behavior. It does not specify the exact structure of the returned obligations, but it gives sufficient high-level information for an agent to know what to expect. The lack of an output schema raises the burden, and a short note on the return format would make it a 5.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by grouping the 14 booleans into three logical categories (transparency triggers, prohibited practices, high-risk triggers) and explaining the dependency between realtimeBiometricPublic and realtimeBiometricLawEnforcement. This organization aids the agent in understanding the parameter structure, going beyond the schema's per-parameter descriptions.

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 the tool's function: 'Classify a product's risk level under the EU AI Act — minimal, limited, high or prohibited — and return the applicable obligations, each with its compliance deadline.' This is a specific verb+resource with distinct output. It also distinguishes itself from sibling tools (e.g., check_website, check_store) by focusing on AI Act risk classification.

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?

The description provides clear context for when to use the tool: it classifies products under the EU AI Act. It gives behavioral guidance ('Answer the boolean questions about what the system does; leave unknowns at their defaults') and notes the tool never over-reports risk. However, it does not explicitly mention alternatives or exclusions, so it stops 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.

check_storeCheck app-store listing complianceA
Read-only
Inspect

Free legal-compliance check of a mobile app from its PUBLIC App Store (apps.apple.com) or Google Play (play.google.com) listing URL — no repo or developer-account access needed. Follows the privacy-policy link the developer declared on the listing, analyzes that page, and returns detected data processing, compliance recommendations, whether the EU AI Act applies, and suggestedAnswers for generate_policies. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesApp Store or Google Play listing URL, e.g. https://apps.apple.com/app/id123456789 or https://play.google.com/store/apps/details?id=com.example.app.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context by explaining that it follows the developer-declared privacy-policy link, analyzes that page, and returns specific outputs. It explicitly says 'Read-only' and emphasizes no repo/developer-account access, reinforcing the non-invasive nature beyond the annotations.

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?

The description is concise and front-loaded: three sentences deliver the tool's purpose, input requirements, behavior, and outputs. Every sentence earns its place with no filler or repetition.

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?

Despite no output schema, the description lists four concrete return categories (detected data processing, compliance recommendations, EU AI Act applicability, suggestedAnswers) and specifies supported stores and required input. It lacks edge-case details like privacy-policy link absence, but for a one-parameter tool this is sufficiently complete.

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?

The schema covers the url parameter 100%, including format and examples. The description only restates that it is a public listing URL, adding no meaning beyond the schema. Baseline 3 is appropriate because the schema does the heavy lifting.

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 uses a specific verb ('check') and resource ('app-store listing compliance'), and clearly specifies the input (public App Store or Google Play listing URL). It distinguishes itself from siblings by explaining it follows the privacy-policy link and returns compliance recommendations, EU AI Act applicability, and suggestedAnswers.

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?

It provides clear context: use when you have a public app-store listing URL and no repo or developer-account access. It stops short of explicitly naming alternatives or stating when not to use it, but the scope is well-defined and implies suitable use cases.

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

check_websiteCheck website complianceA
Read-only
Inspect

Free legal-compliance check of a public website (no signup). Fetches the URL server-side and detects data processing relevant to compliance — analytics, marketing pixels, payments, generative AI, email collection, third-party sharing — then returns the legal documents and cookie-consent setup the site needs, whether the EU AI Act applies, and suggestedAnswers you can pass straight to generate_policies. Result contract: fetched is true only when the page HTML was actually read; when false, fetchError says why ("unreachable": the URL could not be resolved or connected; "blocked": the server answered with an error status) and the detected signals are NOT meaningful — report the check as inconclusive, not as clean. Run it again after adding any SDK, analytics, payment, auth or AI integration: when an appId is passed (or read from the installed LexVibe snippet) the result ALWAYS includes a drift key — status "in_sync", "outdated" (listing processing the hosted legal documents don't cover yet) or "unavailable" with a bounded reason (no-database, app-not-found, no-baseline, domain-mismatch, page-not-fetched) when the comparison could not be made; treat "unavailable" as unknown, never as in sync. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or bare domain, e.g. https://myapp.com or myapp.com.
appIdNoOptional LexVibe app id of a claimed app. When provided (or when the page already carries the installed LexVibe snippet), the result includes a drift report comparing the current site against the baseline its legal documents were generated from.
Behavior5/5

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

The description goes far beyond the readOnlyHint=true annotation by disclosing server-side fetching, the exact meaning of 'fetched' (true only when HTML was actually read), error categories ('unreachable', 'blocked'), and the drift-report semantics (statuses 'in_sync', 'outdated', 'unavailable' with bounded reasons). It also states that detected signals are NOT meaningful when fetch fails. This rich behavioral contract is absent from the annotations and schema.

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 long but information-dense, with purposeful structuring via colons and examples. It front-loads the core purpose and then uses conditional clauses to explain edge cases. No sentence is wasted; however, the density makes it moderately heavy to parse. It earns a 4 rather than 5 due to the complexity of the prose, but remains efficient for the tool's complexity.

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

Completeness5/5

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

Despite the absence of an output schema, the description fully covers the result contract: 'fetched' semantics, 'fetchError' reasons, drift key with statuses and bounded reasons, and how to interpret each. It also explains when to treat results as unknown. For a tool with this complexity, this is outstandingly complete – the agent has all necessary context to act correctly.

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

Parameters4/5

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

The schema already provides full descriptions of both 'url' and 'appId' (100% coverage). The description adds value by explaining the behavioral consequence of appId: 'When provided (or when the page already carries the installed LexVibe snippet), the result includes a drift report.' It also mentions that url can be a bare domain, reinforcing the schema. No new parameter details are needed beyond the schema, but the behavioral linkage elevates it above the baseline.

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 opens with 'Free legal-compliance check of a public website' – a specific verb ('check') and resource ('website compliance'). It clearly distinguishes from siblings like check_ai_act and check_store by enumerating the detected data-processing categories (analytics, marketing pixels, payments, generative AI, email collection, third-party sharing) and the output (legal documents, cookie-consent setup, EU AI Act applicability). This leaves no ambiguity about what the tool does.

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?

Provides explicit when-to-use guidance: 'Run it again after adding any SDK, analytics, payment, auth or AI integration.' It also explains when results are unreliable ('when false... report the check as inconclusive, not as clean') and how to handle the drift status 'unavailable' ('treat as unknown, never as in sync'). This gives the agent clear decision rules for invoking and interpreting the tool.

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

claim_appClaim a real LexVibe appAInspect

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.

ParametersJSON 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.
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.

generate_policiesGenerate legal documentsA
Read-only
Inspect

Generate the legal documents (privacy policy, terms of service and, if applicable, an AI disclosure) localized and tailored to the target markets (GDPR, UK GDPR, CCPA…). Returns Markdown drafts. Pass check_website's or check_store's suggestedAnswers as answers so the documents disclose the right processing. Anonymous remote generation is template-based and capped at 3 locales; AI-tailored, hosted and auto-updated documents require a LexVibe account (https://golexvibe.com).

ParametersJSON Schema
NameRequiredDescriptionDefault
entityNoData controller / legal entity responsible for the app.
answersNoCompliance flags; pass check_website's suggestedAnswers. Recognized keys: usesAnalytics, processesPayments, usesGenerativeAI, collectsEmails, sharesWithThirdParties, platformType.
appNameYesPublic / commercial name of the product.
localesNoDocument languages (max 3 for anonymous callers). Defaults to the languages suggested by the chosen markets.
marketsYesRegions where the app has users; determines the legal frameworks covered.
contactEmailNoContact email for privacy requests and data-subject rights.
Behavior5/5

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

Beyond the readOnlyHint and destructiveHint annotations, the description discloses the output format (Markdown drafts), the difference between anonymous template-based generation and AI-tailored hosted versions, the locale cap, and the account requirement. This significantly enriches understanding of the tool's behavior and limitations.

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?

The description is well-structured and front-loaded with the core purpose. It consists of four sentences, each providing essential information: what is generated, the output format, the integration with check tools, and the anonymous vs. account-based modalities. No redundant or filler content is present.

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

Completeness5/5

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

Despite having no output schema, the description effectively conveys what the tool produces (Markdown drafts) and how the parameters influence the result (e.g., markets and locales). It covers the key operational details for a complex tool with nested objects and six parameters, making it complete enough for an agent to invoke correctly.

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

Parameters4/5

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

The input schema already covers all parameters (100% coverage), so the baseline is 3. The description adds value by explicitly tying the `answers` parameter to check_website/check_store outputs and explaining that locales and markets determine legal frameworks and document languages. This goes beyond the schema's basic field descriptions.

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 the tool's function: generating legal documents (privacy policy, terms of service, AI disclosure) localized to target markets. It is specific about the resource and distinguishes it from sibling tools like check_website and check_store, which analyze rather than generate documents.

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?

The description provides clear usage context, including how to pass suggestedAnswers from check_website or check_store to tailor documents. It also explains when the anonymous template-based generation applies (up to 3 locales) versus when a LexVibe account is needed. However, it does not explicitly state when not to use this tool or name alternative generation tools, so it stops 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.

get_claim_statusGet claim statusA
Read-only
Inspect

Check whether the user has confirmed a claim created with claim_app. While the user hasn't confirmed yet it returns {status: 'pending'} — wait a few seconds and call again (the link expires in 30 minutes). Once claimed it returns the REAL app id, the install snippet and the hosted privacy-policy URL: replace any placeholder (YOUR_APP_ID) snippet with the real one.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe claim code returned by claim_app.
Behavior5/5

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

Beyond the readOnlyHint annotation, the description reveals key behaviors: pending status shape, the 30-minute link expiry, and the fact that on success it returns the real app ID, install snippet, and privacy-policy URL. It also instructs to replace the placeholder, which is non-obvious and valuable. No contradiction 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.

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and every detail earns its place. It is concise without being under-specified, and the structure flows logically from purpose to behavior to usage note.

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

Completeness5/5

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

Given the simple 1-parameter schema and no output schema, the description fully explains both the input (claim code) and the output shape (pending vs. successful response with real ID and snippet). It even covers the expiry behavior and post-processing instruction. Nothing is missing.

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?

The schema fully describes the only parameter (code) with a description matching the tool's mention. The description does not add any additional semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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 states a specific verb and resource: 'Check whether the user has confirmed a claim created with claim_app.' This clearly distinguishes it from siblings like claim_app (which creates the claim) and get_install_snippet (which retrieves a snippet but not for pending claims). The purpose is unambiguous.

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?

The description provides clear when-to-use context: it is the polling tool for claim confirmation. It also tells the user to wait and call again if status is pending. However, it doesn't explicitly state when not to use it or name alternatives, so a 4 is appropriate.

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

get_install_snippetGet install snippetA
Read-only
Inspect

Return what to install for a LexVibe app id. For web: the one-line snippet (cookie banner with real script blocking + hosted policy links) to paste before , plus a JSX variant for React/Next.js layouts. For iOS/Android: the hosted privacy-policy URL and the exact App Store Connect / Google Play Console fields to paste it into. No app id yet? Call claim_app to create one in the user's account.

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesLexVibe app id from the dashboard.
accentNoOptional brand color for the banner, as a hex value like #4f46e5.
platformNoTarget platform. Defaults to web.web
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: the output varies by platform, includes a JSX variant for React/Next.js, and specifies exact placement contexts (before </head>, App Store Connect/Google Play Console fields). No contradiction 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.

Conciseness5/5

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

The description is compact: two sentences with no filler. It front-loads the core purpose and then efficiently covers web, iOS/Android, and the no-app-id case, earning its place for each clause.

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

Completeness5/5

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

For a read-only tool with no output schema, the description covers all necessary use cases: web script snippet with JSX variant, iOS/Android hosted policy URL and exact store fields, and the prerequisite of an app id with a clear fallback to claim_app. This is sufficiently complete for an agent to select and invoke the tool correctly.

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%—all three parameters have clear descriptions. The tool description adds some context around platform-specific output but does not add parameter-level meaning beyond the schema. Since the schema already documents appId, accent, and platform thoroughly, the baseline score of 3 is appropriate.

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 uses the specific verb 'Return' and clearly identifies the resource ('what to install for a LexVibe app id'), then enumerates platform-specific outputs. It distinguishes itself from sibling tools like claim_app (create an app) and generate_policies (generate policies), so the agent knows this is about retrieving an install snippet.

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?

Explicitly names the alternative: 'No app id yet? Call claim_app to create one in the user's account.' It also clarifies that web returns a script snippet and iOS/Android return policy URLs and store fields, giving the agent clear context on when this tool is appropriate and what to use instead when precondition not met.

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

list_frameworksList the frameworks LexVibe tracksA
Read-only
Inspect

List every privacy and AI framework LexVibe generates documents against — 60 laws across 60+ jurisdictions, including GDPR, ePrivacy, the EU AI Act, UK GDPR and PECR, Swiss nFADP, CCPA/CPRA and 18 US state privacy laws modelled individually, PIPEDA and Quebec Law 25, LGPD and other LatAm regimes, APPI, PIPA, PDPA, Australia's Privacy Act, India's DPDP, China's PIPL, Saudi and UAE PDPL, POPIA and more. Each entry carries its id, jurisdiction, effective date and official-text URL. Optionally filter by market pack or by jurisdiction. Read-only, instant.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional market pack to filter by (eu, uk, us, latam, apac…).
jurisdictionNoOptional jurisdiction id to filter by, e.g. "us-tx", "br", "eu".
Behavior5/5

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

Beyond annotations (readOnlyHint=true, destructiveHint=false), the description adds 'Read-only, instant,' which provides performance expectations and reinforces safety. 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.

Conciseness4/5

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

The description is front-loaded with the core action ('List every privacy and AI framework…') and includes many examples, which is informative but somewhat lengthy. Still, every sentence adds value and no fluff.

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 description specifies output fields (id, jurisdiction, effective date, official-text URL) despite no output schema. It covers filtering and read-only nature. It lacks pagination details, but for a static list, it is sufficiently complete.

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 description coverage is 100% with both parameters already described (market enum, jurisdiction string). The description lists example jurisdictions (e.g., 'us-tx', 'br', 'eu') but adds no new syntax or constraints beyond the schema. Baseline score of 3 is appropriate.

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 the tool lists every privacy and AI framework LexVibe tracks, with specifics about 60 laws across 60+ jurisdictions and examples like GDPR, ePrivacy, EU AI Act, etc. It distinguishes from siblings like lookup_framework by indicating it returns a comprehensive list with optional filters.

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?

The description explains optional filtering by market or jurisdiction, implying usage for browsing or overview. It does not explicitly state when to use this tool versus alternatives like applicable_frameworks or lookup_framework, but the context is clear enough for a simple list operation.

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

lookup_frameworkLook up a privacy or AI frameworkA
Read-only
Inspect

Look up a privacy or AI law by id and get structured, primary-sourced facts: full name, jurisdiction, effective date, applicability threshold, the documents it requires, the rights it grants, its cookie-consent regime, whether it requires honouring Global Privacy Control, key articles, and a link to the OFFICIAL text (plus the supervisory authority). Use it to answer 'what does the TDPSA require?' or 'when does the EU AI Act apply?' with citations instead of guesses. Call list_frameworks first if you don't know the id. Read-only, instant, no signup.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFramework id, e.g. "gdpr", "eu-ai-act", "ccpa", "tdpsa", "lgpd", "pipl", "dpdp", "popia". Get the full list from list_frameworks.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description reinforces these with 'Read-only, instant, no signup,' adding value beyond the structured fields.

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?

The description is concise, front-loaded with the primary action, and efficiently uses two sentences to cover purpose, details, and usage guidance without waste.

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?

Given no output schema, the description lists many returned fields and includes official text and authority, which is complete enough for a lookup tool with strong annotations.

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

Parameters4/5

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

Schema coverage is 100% and the parameter description includes examples and a reference to list_frameworks for obtaining valid ids, adding meaning beyond the schema alone.

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 looks up a privacy or AI law by id and returns structured facts, listing specific fields. It distinguishes itself from sibling tools like list_frameworks by focusing on detailed lookup vs. listing ids.

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 advises calling list_frameworks first if the id is unknown, providing clear context for when to use an alternative. No explicit when-not-to-use, but the guidance is sufficient.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.