Skip to content

com.agentery/agentery

by agentery.com · remote · no sign-in to list tools · v1.8.0 · published by com.agentery

Price benchmarks, alternatives & daily price history across 17,000+ AI agents and MCP servers.

Deletes · 4Changes · 7

23 tools: 4 can delete or cancel things, 7 change things and 12 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agentery https://agentery.com/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Deletes or cancels 4Claude Code: deny
  • delete_custom_benchmarkDisable access to a custom benchmark.No findings

    Why it is in this group

    • The name "delete_custom_benchmark" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Disable access to a custom benchmark. Keeps only a minimal audit record; no underlying Agentery data is touched. Pass `benchmark_id`.

    Annotations the server declares

    • title: Delete custom benchmark
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • refine_resultsUse when an earlier search_providers or research_capability answer missed what was meant: pass its request_ref and the correction in plain words (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use when an earlier search_providers or research_capability answer missed what was meant: pass its request_ref and the correction in plain words (e.g. 'must integrate with Slack', 'budget is $20/month', 'data must stay in the EU'). Agentery re-runs the search with the changed constraints (the others are kept) and returns the new answer plus what changed. source: 'human' (the user's words), 'agent' (your assessment, default) or 'follow_up'. Agentery sees only the request and correction you send, never your wider conversation. Task answers (search_providers, compare_providers, research_capability, price_benchmark, market_report) carry ONE request_ref plus a 'conversation' block: the facts remembered for the task, any optional clarification questions (at most two, one round) and the exact refine_results call to continue. Answer with plain words, 'unknown' or 'skip'; source is one of human, agent, follow_up. Pass the same request_ref to another task tool to continue the task there. References expire 24 h after the last turn.

    Annotations the server declares

    • title: Refine search results
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • stop_research_updatesStop watching a research job (the result stays retrievable with get_research).No findings

    Why it is in this group

    • The name "stop_research_updates" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop watching a research job (the result stays retrievable with get_research).

    Annotations the server declares

    • title: Stop research updates
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • update_custom_benchmarkAdd/remove members or rename a custom benchmark.No findings

    Why it is in this group

    • The name "update_custom_benchmark" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Add/remove members or rename a custom benchmark. Creates a NEW immutable version (the previous version stays fully reproducible) and returns the exact change-impact on the median/quartiles/index. Pass `benchmark_id`.

    Annotations the server declares

    • title: Update custom benchmark
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
Changes things 7Claude Code: ask
  • create_custom_benchmarkUse when someone wants to keep watching the prices of products they choose (e.g.No findings

    Why it is in this group

    • The name "create_custom_benchmark" says "create": a word for a change.
    Description, as the server wrote it
    Use when someone wants to keep watching the prices of products they choose (e.g. five named writing tools). Creates a PRIVATE custom benchmark (a saved, calculated peer cohort) over Agentery's data — no account needed. Two modes: (A) explicit members: pass `members` (a list of exact handles; product names/domains resolve where unambiguous). (B) fork a market: pass `base_niche` (its slug) plus optional `remove`/`add`. Returns a one-time secret `benchmark_id` (cb_… token) — store it; it's your only key. Use it later in get/update/delete and in market_report/get_price_index/get_price_index_history. Ambiguous names are returned as candidates, never silently resolved; unresolved inputs block creation unless allow_partial:true. All prices/history are computed from Agentery's immutable observations; canonical market data is never changed.

    Annotations the server declares

    • title: Create custom benchmark
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • market_gapsUse when a seller or investor asks which tasks people look for that few paid products serve.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when a seller or investor asks which tasks people look for that few paid products serve. Clusters requests seen on this MCP server by meaning and returns those far from any paid provider: the request phrasing, distinct_callers, raw_requests, the nearest paid provider and its similarity (low = under-served). headline = jobs asked by two or more callers; weak_leads = one caller; information_requests = questions about a named product. These are research leads from limited traffic, not buyer counts or proof of a market-wide gap; few or none is normal while volume is low. Marked test traffic is excluded. No arguments needed.

    Annotations the server declares

    • title: Find market gaps
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • market_reportDeep-dive ONE market before building or investing — the market is the semantic neighbourhood of your natural-language query (nearest providers by text embedding, NO fixed category)…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Deep-dive ONE market before building or investing — the market is the semantic neighbourhood of your natural-language query (nearest providers by text embedding, NO fixed category). Every field is MEASURED: the observed-pricing benchmark separated by provider type and buyer tier (median, mean, stdev, p25/p75, min–max range and n via the canonical pricing engine), how many providers are in the neighbourhood and how many are priced, and the top providers already competing there with their observed price and relevance. Pass `query` (a natural-language capability or market, e.g. 'customer support chatbot'). For market + pricing + a ready shortlist in one call, use research_capability.

    Annotations the server declares

    • title: Get market report
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • price_benchmarkUse to judge whether a price is fair or what a capability typically costs, e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use to judge whether a price is fair or what a capability typically costs, e.g. 'Is $49/month reasonable for an AI SDR for a small team?'. Pass the capability as `query` (aliases: task, niche). Returns observed prices of comparable products — median, p25/p75, range, mean, stdev and n — split by delivery type (agent | mcp) and buyer tier (individual / pro / team_sme / enterprise), never blended across incompatible pricing units. Comparables are the products closest in what they do (no fixed categories). A benchmark describes an observed sample; it is not a quote and not evidence of willingness to pay. Set provider_type and buyer_tier when known. If nothing priced is close it returns resolved:false with a note, never an invented figure.

    Annotations the server declares

    • title: Benchmark a price
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • report_outcomeReport the result of ACTUALLY USING a listed provider for a task.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Report the result of ACTUALLY USING a listed provider for a task. Testing Agentery's connection or retrieval does not establish that the listed provider worked — do not report those. Reports are self-reported evidence subject to eligibility checks: they are correlated with your recent retrievals, improve ranking accuracy, and unlock higher rate limits for contributors. Only reports we can match to one of YOUR retrievals (search_providers / get_provider_profile / compare_providers / suggest_alternatives naming that provider, last 48h) carry weight; unmatched reports are stored but unweighted. Aggregates surface as `reported_success` on profile/comparison cards once 5+ distinct reporters exist (90-day window). Callers with 5+ correlated reports in 30 days get a doubled per-minute rate limit. Send an x-agentery-key header to keep one reporter identity across IPs (it is stored only as a hash).

    Annotations the server declares

    • title: Report provider outcome
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • request_researchUse when a buying decision hinges on one specific fact about one listing that its profile does not settle, e.g.No findings

    Why it is in this group

    • The name "request_research" says "request": a word for a change.
    Description, as the server wrote it
    Use when a buying decision hinges on one specific fact about one listing that its profile does not settle, e.g. {"provider_id":"flux_operator","requirement":"Is there a Helm chart for Kubernetes?"} or 'Does the Business plan go to checkout or to contact sales?'. Agentery reads the vendor's own pages, its code repository (read, never run) and the pricing page's buttons, and answers yes / no / partly / unknown with quotes, URLs and observation dates. Usually answered in this response within about 15 s; otherwise call get_research with the job_id after poll_after_seconds. Identical questions share one job. A found statement is the vendor's own claim, not independent verification.

    Annotations the server declares

    • title: Request product research
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • research_capabilityUse for a quick first overview of a buying task in one call: the closest-matching listings (matched on what they do, no fixed categories), the price range and median for comparable…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use for a quick first overview of a buying task in one call: the closest-matching listings (matched on what they do, no fixed categories), the price range and median for comparable products (with n), and a shortlist with observed prices, market_position (below / in line / above market) and handles in compare_ready for compare_providers. Also returns suggested_alternatives. It does not run the comparison. For careful selection prefer search_providers → get_provider_profile → compare_providers. Accepts `task` (aliases: query, q).

    Annotations the server declares

    • title: Research a capability
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 12Claude Code: allow
  • compare_providersUse to compare 2–6 shortlisted listings side by side — plan-level prices (e.g.No findings

    Why it is in this group

    • The name "compare_providers" says "compare": a word for reading.
    Description, as the server wrote it
    Use to compare 2–6 shortlisted listings side by side — plan-level prices (e.g. the Pro tier), capabilities, deployment, licence and how to connect — or to check a quote against alternatives. Inputs resolve to real listings by exact handle, then exact name, never a silent fuzzy swap: unknown inputs come back in unresolved_inputs with suggested_matches and a corrected_call; if only one input is real it is compared with its nearest market peers (comparison_status says so); if none resolve, comparison_status is insufficient_valid_providers. Mixed delivery types are flagged: a hosted agent and an MCP server are not directly equivalent, so compare hosted prices with hosted prices. Over-budget or weak matches get suggested_alternatives. Returns a concise decision view by default (fit, observed plans and prices with source and date, job cost, requirement verdicts, unknowns); pass detail:"full" for every field. Accepts `provider_ids` (aliases: handles, ids, or a comma-separated string).

    Annotations the server declares

    • title: Compare providers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • demand_signalsInspect searches by external callers in the last 90 days that found no provider or only weak matches (best relevance below 0.62), shown as generalised job labels and ranked by dist…No findings

    Why it is in this group

    • The description's first verb is "inspect": a word for reading.
    Description, as the server wrote it
    Inspect searches by external callers in the last 90 days that found no provider or only weak matches (best relevance below 0.62), shown as generalised job labels and ranked by distinct callers. Most entries come from a single caller: treat those as leads. These are limited coverage signals from Agentery's own callers — not proof that a product does not exist, and not proof that a market has paying demand. Not a prerequisite for choosing a product. Empty args ({}) return the current list; an empty response means there is insufficient qualifying evidence (status insufficient_evidence + next_step) — it is never filled from search popularity, page views or trending queries.

    Annotations the server declares

    • title: View demand signals
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • find_marketUse when someone asks what a kind of product typically costs or who competes in a space, e.g.No findings

    Why it is in this group

    • The name "find_market" says "find": a word for reading.
    Description, as the server wrote it
    Use when someone asks what a kind of product typically costs or who competes in a space, e.g. 'what should I charge for lead-generation automation' or 'tools that monitor competitor pricing'. Maps the task to its market (the nearest providers by meaning, no fixed categories) and returns the market label, provider and priced counts, the nearest providers with observed prices, and pricing_by_tier (median, p25/p75, range and n per buyer tier). When nothing is close it returns no_match or thin_coverage and withholds pricing rather than invent a market. For market plus shortlist in one call use research_capability.

    Annotations the server declares

    • title: Find a market
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_custom_benchmarkGet a private custom benchmark's current report: members, current stats (headline median/quartiles only when ≥3 comparable priced members — monthly, per-seat and per-call prices ar…No findings

    Why it is in this group

    • The name "get_custom_benchmark" says "get": a word for reading.
    Description, as the server wrote it
    Get a private custom benchmark's current report: members, current stats (headline median/quartiles only when ≥3 comparable priced members — monthly, per-seat and per-call prices are never blended), buyer-tier / provider-type / pricing-unit cohorts, historical index, and data coverage. Pass `benchmark_id` (your cb_ token) as an ARGUMENT.

    Annotations the server declares

    • title: Get custom benchmark
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_group_fair_priceUse to check what a product of a given kind typically costs: give a task or product type (or a group_id from the group price league) and get its product group's fair price for each…No findings

    Why it is in this group

    • The name "get_group_fair_price" says "get": a word for reading.
    Description, as the server wrote it
    Use to check what a product of a given kind typically costs: give a task or product type (or a group_id from the group price league) and get its product group's fair price for each buyer tier (individual, pro, team / small business, enterprise) — the median entry monthly price in that tier with its typical range — plus which payment models the group typically uses (free, subscription, usage, one-time, contact sales), usage and one-time medians where at least 3 listings publish them, and the group's price-index change over 90 days. Groups are built from what products do, not from price. Medians of current published prices only; individual listings are not returned — use search_providers for candidates.

    Annotations the server declares

    • title: Get group fair price
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_price_indexUse when asked whether prices of AI agents, tools or MCP servers are rising or falling overall.No findings

    Why it is in this group

    • The name "get_price_index" says "get": a word for reading.
    Description, as the server wrote it
    Use when asked whether prices of AI agents, tools or MCP servers are rising or falling overall. Returns the current Agent Economy Price Index (AEPI), a like-for-like index of observed agent and MCP pricing (base 100 = 29 Jun 2026; an index level, not a price), with 1-, 7- and 30-day change, plus the same for the four buyer tiers (Individual, Pro, Team/SME, Enterprise). provider_type=agent|mcp gives the standalone index for that delivery type; tier narrows to one tier. For the trend over time use get_price_index_history; for what a particular kind of product costs use get_group_fair_price or price_benchmark.

    Annotations the server declares

    • title: Get price index
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_price_index_historyUse to show how AI agent and MCP prices have moved over time: the dated Agent Economy Price Index series, the same chained like-for-like series agentery.com/aepi charts.No findings

    Why it is in this group

    • The name "get_price_index_history" says "get": a word for reading.
    Description, as the server wrote it
    Use to show how AI agent and MCP prices have moved over time: the dated Agent Economy Price Index series, the same chained like-for-like series agentery.com/aepi charts. Points are index levels (base 100), never prices. Whole-economy series by default; `tier` for one buyer tier; provider_type agent|mcp for one delivery type (own base 100); `period` 30d (default) / 90d / all; response_mode summary (default) or full (adds gap flags). Thin data returns insufficient_history, never an invented series. For what one capability costs use price_benchmark or market_report. Also reads a private custom benchmark's history via benchmark_id.

    Annotations the server declares

    • title: Get price index history
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_providerFor buying decisions prefer get_provider_profile (prices, deployment, evidence); use this only for the short public directory card of one provider by handle or registration number:…No findings

    Why it is in this group

    • The name "get_provider" says "get": a word for reading.
    Description, as the server wrote it
    For buying decisions prefer get_provider_profile (prices, deployment, evidence); use this only for the short public directory card of one provider by handle or registration number: bio, source URLs, X-verification status, entity type, community rating and structured profile when available.

    Annotations the server declares

    • title: Get provider details
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_provider_profileUse to check one specific listing before recommending or connecting it: plans and prices with billing units, what it does, integrations, deployment (hosted / self_hosted / both / u…No findings

    Why it is in this group

    • The name "get_provider_profile" says "get": a word for reading.
    Description, as the server wrote it
    Use to check one specific listing before recommending or connecting it: plans and prices with billing units, what it does, integrations, deployment (hosted / self_hosted / both / unknown, with evidence), licence (named licence only), liveness and how to connect (website, docs, MCP endpoint with a copy-paste config_snippet, A2A agent card, API, install). Fields are null when the vendor publishes nothing; nothing is guessed. price_applies_to flags a stored price that belongs to the vendor's platform rather than this connector. product_group names the listing's product group with its fair price per buyer tier and 90-day price-index change. reported_success stays null until 5+ distinct reporters in 90 days; after actually using a listing, call report_outcome.

    Annotations the server declares

    • title: Get provider profile
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_researchStatus and result of a research job created by request_research.No findings

    Why it is in this group

    • The name "get_research" says "get": a word for reading.
    Description, as the server wrote it
    Status and result of a research job created by request_research. status: queued / running / answered / partly_answered / still_unknown / failed; phase: queued | running | retry_scheduled | completed_answer | completed_unknown | failed. Poll no more often than poll_after_seconds — polling is free and never repeats the work. result: answer (yes/no/partly/unknown), short_answer, evidence per claim (quote, URL, observed date; file path and revision for repositories; element for pricing-page buttons), facts assessed separately (e.g. Dockerfile vs published image vs Helm chart), conflicts and what remains unresolved.

    Annotations the server declares

    • title: Get research result
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • search_providersUse when someone wants to find or shortlist AI products, AI agents, MCP servers or APIs for a task, e.g.No findings

    Why it is in this group

    • The name "search_providers" says "search": a word for reading.
    Description, as the server wrote it
    Use when someone wants to find or shortlist AI products, AI agents, MCP servers or APIs for a task, e.g. 'AI tool that transcribes sales calls' or 'MCP server to reply to Zendesk tickets'. Returns ranked candidates with what each does, a fit label (match / partial / weak, naming any mismatch), delivery type, price status (known / free / contact_sales / unknown; unknown is never free) and links. Requirements in the wording are checked per result; unverified ones are marked unknown. Results are candidates to check: open strong ones with get_provider_profile and compare finalists with compare_providers. Thin coverage returns no_match, never padding.

    Annotations the server declares

    • title: Search providers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • suggest_alternativesFind related alternatives to a known provider, ranked by text-embedding nearness to that provider's OWN profile (NO category lookup), each with observed price, endpoint liveness, c…No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find related alternatives to a known provider, ranked by text-embedding nearness to that provider's OWN profile (NO category lookup), each with observed price, endpoint liveness, community upvotes and how_to_connect (website, docs, mcp endpoint). For cheaper_only, inspect whether the reference price and candidate prices support a valid comparison: an empty response may reflect a missing or incompatible reference price rather than the absence of alternatives (the response says which). Accepts `agent_id` (aliases: handle, id). These substitutes are also surfaced inside research_capability and compare_providers. Each alternative also carries `deployment` (evidenced model) and how_to_connect.install / repository (1.10.0).

    Annotations the server declares

    • title: Find provider alternatives
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.8.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agentery https://agentery.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agentery__search_providers",
      "mcp__agentery__find_market",
      "mcp__agentery__compare_providers",
      "mcp__agentery__get_price_index",
      "mcp__agentery__get_research",
      "mcp__agentery__get_group_fair_price",
      "mcp__agentery__get_price_index_history",
      "mcp__agentery__suggest_alternatives",
      "mcp__agentery__demand_signals",
      "mcp__agentery__get_provider_profile",
      "mcp__agentery__get_provider",
      "mcp__agentery__get_custom_benchmark"
    ],
    "ask": [
      "mcp__agentery__research_capability",
      "mcp__agentery__price_benchmark",
      "mcp__agentery__request_research",
      "mcp__agentery__market_gaps",
      "mcp__agentery__report_outcome",
      "mcp__agentery__market_report",
      "mcp__agentery__create_custom_benchmark"
    ],
    "deny": [
      "mcp__agentery__stop_research_updates",
      "mcp__agentery__refine_results",
      "mcp__agentery__update_custom_benchmark",
      "mcp__agentery__delete_custom_benchmark"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agentery. Review it before you use it.