Skip to main content
Glama

Server Details

Curated, human-reviewed deal feed for AI agents — live deal search + price watches. No auth.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

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.3/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action: managing watches (register, check, cancel), retrieving deals (get, latest, search), and providing feedback (report_outcome). No overlapping functionality.

Naming Consistency4/5

Naming uses snake_case with a consistent verb_noun pattern (e.g., cancel_watch, get_deal) except for latest_deals which is an adjective_noun form. Slight inconsistency but overall predictable.

Tool Count5/5

Seven tools cover the full lifecycle of deal watching and retrieval without excess. Each tool serves a clear purpose, making the set well-scoped.

Completeness4/5

Covers watch management (CRUD), deal search/retrieval, and outcome reporting. Minor gap: no tool to update a watch's settings, but not critical for the domain.

Available Tools

7 tools
cancel_watchCancel a watchA
DestructiveIdempotent
Inspect

Stop deliveries for a watch: the feed URL dies immediately and the webhook deactivates. Idempotent. Sourcing for an already-promoted product continues (shared watchlist state) — cancellation affects this watch's delivery only.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_idYesThe watch_id returned by register_watch.
Behavior5/5

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

The description adds significant behavioral context beyond annotations: it states the feed URL dies immediately, webhook deactivates, idempotency, and that sourcing for promoted products continues. No contradiction with annotations (destructiveHint=true, idempotentHint=true).

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 (two sentences) and front-loaded with the core action. Every sentence provides essential information without 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?

Given low complexity (single parameter, no output schema), the description covers all relevant behavioral details: what happens on cancellation, idempotency, and shared state. No gaps are apparent.

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 good parameter description ('The watch_id returned by register_watch.'). The tool description does not add further parameter semantics, so baseline score of 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?

The description clearly states 'Stop deliveries for a watch' and specifies the exact consequences (feed URL dies, webhook deactivates). It distinguishes itself from sibling tools like 'register_watch' and 'check_watch' by focusing on cancellation.

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 implies when to use (when you want to stop deliveries) but does not explicitly state when not to use or mention alternatives. It is clear enough for an AI agent to infer proper usage.

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

check_watchCheck a watchA
Read-only
Inspect

Status of a watch by watch_id: interpretation progress, the canonical product/category it bound to, channel states (feed / webhook / email), and live matching deals once bound (each with a server-verified human_summary). Interpretation typically completes within 1-2 minutes of registration; channels activate automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_idYesThe watch_id returned by register_watch.
Behavior4/5

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

Beyond annotations (readOnlyHint=true), the description discloses included status fields, timing (interpretation 1-2 min, channels auto-activate), and server-verified human_summary. 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.

Conciseness5/5

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

Two sentences, front-loaded with core purpose, no filler. Every clause adds value (status fields, timing, channel activation).

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 tool with one param and no output schema, the description sufficiently covers what to expect (progress, binding, channel states, deals with summaries). Timing hint aids agent decision-making.

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% with param description 'The watch_id returned by register_watch.' The tool description merely restates 'by watch_id', adding no additional meaning beyond what the schema provides.

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 retrieves the status of a watch by watch_id, listing specific fields (interpretation progress, bound product/category, channel states, live deals). This distinguishes it from siblings like register_watch (creation), cancel_watch (deletion), and get_deal (single deal retrieval).

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

Usage Guidelines3/5

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

The description implies use after registration via timing (1-2 minutes for interpretation) but does not explicitly contrast with siblings (e.g., when to use get_deal vs check_watch). No when-not-to-use or alternative recommendations.

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

get_dealGet one dealA
Read-only
Inspect

Fetch one deal by id. Default is the compact projection (~13 fields including product_url and the server-verified human_summary). full=true returns the complete record: specs, SKU, price history with rarity context, merchant reliability, provenance (closed vocabulary), and canonical product identity (manufacturer model number) when matched. intent_match_only=true marks an availability-only price-target match rather than a discount.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNotrue = full ~30-field record with provenance + price history. Default false (compact).
deal_idYesDeal id from search_deals / latest_deals results.
Behavior4/5

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

Annotations indicate read-only. Description adds details on output fields, server-verified human_summary, closed vocabulary provenance, and canonical product identity matching. However, mentions a parameter (intent_match_only) not present in schema, which could cause confusion.

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?

Front-loaded with 'Fetch one deal by id.' Each sentence adds value. Could be slightly more concise by removing the reference to the missing intent_match_only parameter.

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?

Without an output schema, the description compensates by detailing the compact vs full record contents. Includes specificity like server-verified, closed vocabulary, and canonical identity. Missing parameter mention is a minor gap.

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% with descriptions, but the description adds meaning: explains what full=true returns and where deal_id comes from. The extra mention of intent_match_only (not in schema) detracts slightly.

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 fetches one deal by id and explains the two projections (compact vs full). It distinguishes itself from sibling tools like search_deals, latest_deals, and watch tools.

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 guidance on when to use full=true vs default, and mentions intent_match_only (though not in schema). Implicitly relates deal_id to search_deals or latest_deals from sibling context.

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

latest_dealsNewest live dealsA
Read-only
Inspect

The newest approved deals, freshest first — a pull-shaped view of the live deal stream. Returns up to 5 (max 10) compact deals with server-verified human_summary sentences. Editorial surface: availability-only price-target matches are excluded here (search_deals includes them). For ongoing monitoring, register_watch provides push delivery; always-on runtimes can consume the SSE river at https://api.kitsdeals.com/v1/river.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5).
categoryNoCategory filter (comma-separated allowed). Currently in scope: electronics.
max_price_centsNoOnly deals at or below this price, in cents.
Behavior5/5

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

Discloses behavior beyond annotations: returns up to 5 compact deals (max 10) with server-verified human_summary sentences, and notes what is excluded. 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.

Conciseness4/5

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

Concise with two clear sentences followed by a longer but informative third sentence. Efficiently packs purpose, alternatives, and key constraints.

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?

Adequately covers purpose, usage context, and behavioral details for a simple read-only tool with no output schema and only optional parameters.

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 description adds little beyond schema. Mentions the limit range and category filter, but these are already described in 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?

Clearly states the tool returns newest approved deals in reverse chronological order, and explicitly distinguishes from siblings like search_deals and register_watch.

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 guidance on when to use this tool vs alternatives: excludes availability-only price-target matches (use search_deals for those), and suggests register_watch for push delivery or the SSE river for ongoing monitoring.

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

register_watchRegister a deal watchAInspect

Register a standing intent (deal watch). The intent enters the sourcing pipeline and delivery channels are wired in the same call: a token-gated Atom feed (token returned once in this response), an optional webhook (activates after interpretation, ~1-2 min), and an optional email channel (double-opt-in). Intents with a concrete model_number auto-promote in ~60s; family-level intents require operator review (hours). specs accepts must-have attribute constraints in the webhook-filter vocabulary — unknown keys are rejected, and deals missing a constrained spec are excluded from delivery. Progress and live matches are readable via check_watch with the returned watch_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
specsNoStructured spec/attribute constraints. Keys are generated from docs/spec-keys.json: numeric <spec_key>_min/_max (size_inches_min), enum/list <spec_key>_in (camera_type_in, bundle_includes_in), and boolean direct keys (bundle). Example: { "size_inches_min": 65, "camera_type_in": ["dslr"], "bundle": true }. Unknown keys are rejected; deals missing the constrained spec are excluded (must-have semantics). If you skip this, explicit numeric thresholds in the intent text ("at least 65 inches", "16GB RAM or more") are extracted automatically at interpretation — your explicit specs always override extraction; soft phrasing ("around 65 inches") is never auto-constrained.
intentYesFree-text intent (e.g. "Oura Ring 4 silver under $350"). The interpretation pipeline owns the structuring.
agent_idNoSelf-identifier for telemetry (e.g. "claude-desktop:tom"). Helps us prioritize agent demand.
user_emailNoEmail address for deal alerts (a double-opt-in confirmation is sent first).
model_numberNoManufacturer model number (MPN) for the exact variant — e.g. "K-65XR70" for the Sony BRAVIA 7 65". A concrete MPN auto-promotes in ~60s; family-level intents without one require operator review (hours).
max_price_centsNoHard price ceiling for delivery, in cents (a numeric string like "150000" is accepted).
min_discount_pctNoMinimum discount percentage for delivery.
webhook_callback_urlNohttps:// endpoint to receive push deliveries (activates post-interpretation).
Behavior5/5

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

Annotations provide no behavioral hints, so the description carries the full burden. It details side effects (token-gated feed, webhook activation delay, email double-opt-in), timing (auto-promotion vs. review), validation (unknown keys rejected, must-have semantics), and non-idempotent nature. This is comprehensive and beyond annotations.

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

Conciseness5/5

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

The description is a single, dense paragraph of 7 sentences. It front-loads the purpose and delivers key behavioral details without waste. Every sentence adds value, and the length is appropriate 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 no output schema, the description mentions all critical outputs (token returned once, watch_id). It covers side effects, timing, validation, and relationships with other tools (check_watch). For the tool's complexity (8 parameters, nested objects), it is 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 descriptions cover 100% of parameters with detailed explanations. The tool description adds context about how parameters interact (e.g., specs override extraction) but does not significantly enhance per-parameter meaning beyond the schema, so 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 clearly states the tool registers a 'standing intent (deal watch)' and explains the core action. It distinguishes itself from sibling tools like cancel_watch and check_watch by focusing on creation and setup of delivery channels.

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 implies its use for new watch registrations but does not explicitly state when to avoid using it or suggest alternatives. Sibling tool names provide context, but the description itself lacks explicit when-to-use and when-not-to-use guidance.

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

report_outcomeReport a deal outcomeAInspect

Record what happened after a deal was acted on. Outcomes: purchased, deal_dead, wrong_price, out_of_stock, irrelevant, checkout_failed. Feedback feeds deal ranking, and deal_dead / wrong_price reports trigger fast removal of bad deals.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoAnything else worth knowing.
deal_idYesThe deal id.
outcomeYesWhat happened.
actual_price_centsNoPrice actually seen/paid, in cents — include when it differed from ours.
Behavior5/5

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

The description discloses side effects beyond annotations: feedback feeds deal ranking and certain outcomes trigger fast removal of bad deals. Annotations (readOnlyHint=false, destructiveHint=false) are consistent with the description, no contradiction.

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: first defines action and lists options, second explains impact. Concise, front-loaded, no superfluous text.

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?

Covers purpose, outcomes, and impact. No output schema, but description is adequate. Missing explicit mention of idempotency (annotations idempotentHint=false), but not critical for understanding.

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%, so baseline is 3. The description lists outcomes redundantly with the enum and contextualizes the purpose, but does not add new meaning to individual parameters 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 uses the verb 'Record' and specifies the resource 'what happened after a deal was acted on,' listing six distinct outcomes, distinguishing it from sibling tools like get_deal or search_deals.

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 indicates when to use the tool (after acting on a deal) and explains consequences (feeds ranking, triggers removal), but does not explicitly state when not to use it or compare to alternatives.

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

search_dealsSearch live dealsA
Read-only
Inspect

Search live, human-reviewed deals by keyword. Matching is token-AND over product name, brand, category, and merchant. Returns up to 5 active deals (best score first) with price, discount, condition, merchant, product URL, and a server-verified human_summary sentence. Zero matches is a normal result for time-scarce inventory; the response then includes a no_match block describing the register_watch alternative.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5).
queryYesSearch keywords — product name, brand, model number, or merchant. Token-AND: every word must match.
categoryNoCategory filter (comma-separated allowed). Currently in scope: electronics.
max_price_centsNoOnly deals at or below this price, in cents (e.g. 35000 = $350).
min_discount_pctNoOnly deals with at least this discount percentage.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the tool is read-only. The description adds behavioral details: token-AND matching, maximum 5 results sorted by best score, specific return fields (price, discount, condition, merchant, product URL, human_summary), and zero-match handling with no_match block. This is rich context beyond annotations, though it omits scoring algorithm and pagination.

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 concise with three sentences, each adding value. It front-loads the main action and then provides details on matching and zero-match behavior. Could be slightly more streamlined, but efficient for its content.

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 provides a complete picture: what it does, how matching works, what it returns (with specific fields), and how to handle zero results (register_watch alternative). It does not cover error handling or rate limits, but for a read-only search tool with no output schema, it adequately informs an AI agent.

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%, so the schema already documents each parameter with descriptions. The description adds context about token-AND matching and overall search behavior, but does not add meaning beyond what the schema provides for individual parameters. 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 specific verb 'search' with resource 'live deals', details token-AND matching over product name, brand, category, and merchant, and explains return fields and zero-match behavior, clearly distinguishing from sibling tools like get_deal and latest_deals.

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 usage context (keyword search), including normal zero-match behavior and the register_watch alternative for no results. It lacks explicit when-not-to-use or comparison with siblings like latest_deals, but provides sufficient guidance for an AI agent.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources