Skip to main content
Glama

Server Details

Plot turns the trips you plan with an AI assistant into a real, shared itinerary. Connect it and your assistant can save flights (every leg), hotels, restaurants, activities, trains and car rentals to the right day in local time, read your trips back, and update or delete bookings. Sign in with your Plot account; there are no API keys. Works with ChatGPT, Claude, Muse and any client that supports remote MCP.

Ownership verified

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

8 tools
add_bookingAdd a bookingAInspect

Save one booking to Plot: a flight, hotel, car rental, train/bus/ferry/transfer, or a plan (restaurant, activity or event). Fill in exactly one of flight, hotel, car_rental, transport or plan. A flight with several segments (a round trip, a connection) is ONE booking: send all its segments together. Works like forwarding a booking email: leave trip_id out and Plot puts it in the right trip, or starts one. If the confirmation code is already in Plot, that booking is updated rather than duplicated, and the result says matched_existing_booking. Without a confirmation code Plot cannot tell a repeat from a new booking, so check get_trip before sending one again. Times are local to where they happen, with no timezone. Leave out anything the traveler has not told you.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNo
hotelNo
flightNo
trip_idNoAdd to this trip. Omit it and Plot decides, exactly as it does for a forwarded booking email: it joins the trip these dates and places belong to, or starts a new one.
transportNo
car_rentalNo

TDQS

A4.5/5.0
Behavior5/5

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

The description reveals significant non-obvious behavior beyond the annotations: duplicate confirmation codes cause an update rather than a duplicate, the result reports matched_existing_booking, omitting trip_id lets Plot auto-assign or create a trip, times are local without timezone, and unconfirmed data should be omitted. These are exactly the side effects and conventions an agent needs to know.

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 dense and front-loaded, with the core action and category rule in the first sentence. Every sentence adds a distinct constraint. It is a single wall of text rather than scannable bullets, but for the complexity involved the length is justified and there is no filler.

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?

For a complex nested-object write tool with no output schema, the description covers the most important operational behaviors: category exclusivity, trip assignment, dedup, timezone handling, and data fidelity. It is missing an explicit description of the full return shape (beyond the matched_existing_booking marker) and error cases, but the schema supplies required field details.

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 only 17%, so the description must add semantic value, and it does: exact-one-of-category constraint, flight-segment grouping, trip_id omission behavior, and confirmation-code dedup semantics. It does not enumerate every field, but the schema's own nested property descriptions carry that weight, and the top-level inter-parameter rules are the critical missing piece.

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 a specific verb and resource: 'Save one booking to Plot', then enumerates exactly which record types are accepted (flight, hotel, car rental, transport, plan). It clearly distinguishes this tool from create/update/get/list trip siblings by focusing on booking creation and even clarifies the dedup-to-update nuance.

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 gives explicit usage rules: 'Fill in exactly one of flight, hotel, car_rental, transport or plan' and instructs to send all flight segments together. It also names get_trip as a check before resending a booking without a confirmation code. However, it does not explicitly contrast add_booking with update_booking or state when not to use this tool.

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

create_tripCreate a tripAInspect

Create an empty trip with a name and, optionally, dates. Only needed to set up a trip before its bookings exist. To save a booking, use add_booking: it creates or finds the right trip by itself. To put bookings in a trip you create here, pass its id as trip_id, otherwise Plot may place them elsewhere.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWhat to call the trip, e.g. 'Lisbon in October'.
end_dateNoLast day of the trip.
start_dateNoFirst day of the trip.

TDQS

A4.4/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the annotations: create_trip makes an empty trip, add_booking can create or find a trip automatically, and bookings may be placed elsewhere if trip_id is not provided. This gives agents a clear mental model of the side effects, though it does not cover duplicate-name or exact return behavior.

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 four sentences, front-loaded with the core purpose-read more. Every sentence earns its place: the core action, when it is needed, the sibling alternative, and the trip_id linkage behavior. 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?

For a simple creation tool, the description covers the main workflow and integration with add_booking. It does not explicitly describe how the agent obtains the newly created trip id for passing as trip_id, but the tool is otherwise complete enough to invoke 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?

The input schema already provides 100% documentation coverage for name, start_date, and end_date, including format and example. The description adds only that dates are optional, which is already inferable from the schema's required list, so it does not significantly augment parameter semantics.

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 creates an empty trip with a name and optional dates, making the verb and resource explicit. It also distinguishes itself from add_booking by noting it is only needed before bookings exist.

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 when to use this tool ('Only needed to set up a trip before its bookings exist') and names the alternative ('To save a booking, use add_booking'). It also explains the consequence of not passing the trip id, providing clear selection guidance.

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

delete_bookingDelete a bookingA
DestructiveIdempotent
Inspect

Remove one booking from a trip. It cannot be restored, though you can add it again. For a flight, pass segment_id to remove just one segment; leave it out to remove the whole booking. This only removes the booking; the trip stays.

ParametersJSON Schema
NameRequiredDescriptionDefault
trip_idYesThe trip the booking is in.
booking_idYesThe booking's id, from get_trip.
segment_idNoFlights only: remove just this segment.
booking_typeYesWhat kind of booking it is.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds valuable behavioral context: it cannot be restored, you can add it again, and segment_id controls whether a single segment or the entire booking is removed. This goes beyond the raw hints and clarifies the exact destructive scope.

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?

Three sentences, each earning its place: the core action, the irreversibility/recovery caveat, and the flight-specific segmentation rule. The most important scoping fact ('trip stays') is front-loaded at the end of the first sentence, and no redundant wording exists.

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?

For a destructive tool with no output schema, the description covers the key facts an agent needs: what gets removed, the segment variant, irreversibility, and that the trip is unaffected. It doesn't discuss error conditions or return format, but those are less critical for a delete operation given the 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%, so the baseline is 3. The description adds meaning beyond the schema by explaining that segment_id is optional, only for flights, and that omitting it removes the whole booking. This is material param semantics the schema alone doesn't convey.

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 explicitly states the action ('Remove one booking from a trip') and clearly differentiates from delete_trip by noting 'the trip stays.' It also specifies the segment_id behavior for flights, leaving 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 Guidelines4/5

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

The description provides clear context: when to pass segment_id (flights only) and when to omit it, plus the irreversibility and that the trip remains. It doesn't explicitly name sibling alternatives like delete_trip, but the 'trip stays' statement implicitly draws the boundary, and the segment_id guidance is actionable.

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

delete_tripDelete a tripA
DestructiveIdempotent
Inspect

Permanently delete a trip and every booking on it. There is no undo. Only the trip's owner can do this. Called without confirm it deletes nothing and reports what would be lost; show that to the traveler, and only call again with confirm=true once they have agreed in plain words.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNotrue only after the traveler has agreed to the deletion.
trip_idYesThe trip's id, from list_trips.

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the destructiveHint annotation by explaining permanent deletion with no undo, cascade to all bookings, owner-only authorization, and the two-phase confirm behavior where confirm=false only reports what would be lost. This is rich, actionable behavioral context.

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?

Three sentences with no filler. Core action and consequence are front-loaded, followed by authorization and the confirm workflow. Every sentence earns its place.

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?

Complete for a destructive two-parameter tool with no output schema: effect, consequences, authorization, and the required interaction protocol are all specified. An agent has everything needed to decide and invoke it 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?

Schema coverage is 100%, so the baseline is 3. The description adds real semantic value to confirm: it clarifies that confirm=false is a dry-run report and confirm=true is the actual deletion after traveler consent, which the schema only hints at.

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: permanently delete a trip and cascade to every booking on it. This clearly distinguishes it from the sibling delete_booking, which removes only a single booking, leaving no ambiguity about scope.

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?

Provides strong operational context: only the trip's owner can call it, there is no undo, and confirm must be true only after explicit traveler agreement. It does not explicitly name alternatives (e.g., use delete_booking for a single booking), so some exclusion guidance is missing.

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

get_tripGet a tripA
Read-onlyIdempotent
Inspect

Get one trip with everything booked on it: flights (with their segments), hotels, car rentals, trains and other transport, and plans such as restaurants, activities and events. Times are local to the place they happen. Each booking has an id that update_booking and delete_booking need.

ParametersJSON Schema
NameRequiredDescriptionDefault
trip_idYesThe trip's id, from list_trips.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description correctly doesn't repeat those. It adds genuine behavioral context beyond the annotations: times are local to the place they happen, and each booking id feeds the update/delete tools.

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, front-loaded with the core action and then expanding into a compact, useful enumeration of contents and caveats. Every sentence earns its place with no filler or redundancy.

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 one-parameter read-only tool with no output schema, the description names the expected payload categories, the timezone convention, and how the returned booking ids are consumed by sibling tools. This is sufficient for an agent to call the tool and interpret the result.

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%, including that trip_id comes from list_trips, so the baseline is 3. The description doesn't add parameter-specific detail beyond the schema, but none is needed for a single, well-documented uuid parameter.

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 the specific operation 'Get one trip' and precisely defines its scope: one trip with everything booked on it, naming the categories (flights with segments, hotels, car rentals, trains, and plans). This clearly distinguishes it from list_trips and the mutation 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?

The description gives clear context for use: retrieve a single trip with full booking detail, and the booking ids it returns are required by update_booking and delete_booking. It doesn't explicitly name alternatives or say when not to use it, so it falls just short of full routing guidance.

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

list_tripsList tripsA
Read-onlyIdempotent
Inspect

List the traveler's trips with their ids, names and dates. Call this first to find the trip a booking belongs to, and to check what already exists before adding anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
whenNoWhich trips to list. Defaults to upcoming, soonest first.
limitNoMost trips to return. Defaults to 20.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds useful context that the tool is a discovery step and that the result includes ids, names, and dates, reinforcing the read-only listing behavior without contradicting 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?

Two focused sentences: the first states the action and output, the second gives direct usage guidance. No filler or redundant information.

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 simple read-only listing tool, the description plus fully documented schema covers invocation, output fields, and why/when to use it. The absence of an output schema is compensated by explicitly naming the returned fields.

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 describes both parameters completely with defaults, constraints, and an enum for 'when'. The description adds no parameter-level detail, but with 100% schema coverage, the baseline 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 a specific verb and resource ('List the traveler's trips') and names the returned fields (ids, names, dates). This clearly separates it from create/update/delete siblings and from get_trip.

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 explicitly says to call this first to find the trip for a booking and to check what already exists before adding anything. This gives clear context, though it doesn't name explicit alternatives or when-not-to-use conditions.

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

update_bookingUpdate a bookingA
Idempotent
Inspect

Change a booking. Pass its trip_id and booking_id (both from get_trip) and, under the key for its type, only the fields that change. For a flight, changed segments go in segments[] with their segment_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNo
hotelNo
flightNo
trip_idYesThe trip the booking is in.
transportNo
booking_idYesThe booking's id, from get_trip.
car_rentalNo

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already establish readOnly=false, destructive=false, and idempotent=true, so the safety profile is known. The description adds patch-like partial-update semantics ('only the fields that change') and ID provenance from get_trip, which are behavioral details beyond the annotations. It does not mention side effects like hotel_name triggering a re-lookup, but that is disclosed in the 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 with no filler. The core verb comes first, the required identifiers and partial-update rule follow, and the flight-specific segment rule is folded into the second sentence. Every clause adds operational value.

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?

For a large nested schema with no output schema, the description covers the selection and primary invocation pattern: IDs, partial update, per-type keys, and flight segments. The schema's rich property descriptions fill in field-level requirements such as hotel_name lookup behavior and cancellation rules. A small gap is that the description doesn't state what the call returns, but that is not essential for mutation.

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 only 29%, so the description carries real weight here. It correctly identifies the two required identifiers and their source, and encodes the central rule: put changed fields under the key for the booking type, and for flights only changed segments with segment_id. It doesn't enumerate every type key or field-level nuance, but the schema's own descriptions cover those details.

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 'Change a booking' — a specific verb and resource — and the title reinforces it. It is clearly distinct from add_booking and delete_booking, and the phrase 'under the key for its type' signals the per-type update model without requiring the agent to open the schema.

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 gives concrete invocation guidance: pass trip_id and booking_id from get_trip, include only changed fields under the appropriate type key, and for flights send changed segments with their segment_id. It does not explicitly contrast with add_booking or delete_booking, but the update-scope instruction is enough context to select this tool.

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

update_tripUpdate a tripA
Idempotent
Inspect

Rename a trip or change its dates. Only the fields you pass change.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
trip_idYesThe trip's id, from list_trips.
end_dateNoNew last day.
start_dateNoNew first day.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate a non-read-only, idempotent, non-destructive mutation. The description adds the key semantic 'Only the fields you pass change,' clarifying partial-update behavior beyond 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?

Two short sentences, with the core action front-loaded and no filler. The partial-update behavior is stated economically and every word earns its place.

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?

For a straightforward update tool with no output schema, the description covers the essential behavior and mutation scope. It doesn't discuss error conditions or return values, but those are minor given the simple schema and 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 75%, and the description reinforces the meaning of name, start_date, and end_date by framing them as rename and change dates. It also clarifies that all fields are optional updates, adding value beyond the schema.

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: rename a trip or change its dates. It clearly differentiates from sibling tools like delete_trip and update_booking by focusing on trip identity fields and partial updates.

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 gives clear context: use this when renaming a trip or adjusting its start/end dates. It doesn't explicitly name alternatives or exclusions, but the sibling list and tool name make the intended scope obvious.

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

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    9 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources