agentery

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
96%
Qualität der Benennung
91%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~6,332Tokens (Tool-Definitionen)
~2.0 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (4.95% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "agentery": {
      "url": "https://agentery.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://agentery.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (19)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢research_capability(task, buyer_tier, max_monthly_usd, integrations, sort, ...)

Optional combined research route: ONE call turns a task into: (1) its live MARKET — the semantic neighbourhood of the closest-matching providers, found purely by text-embedding nearness (NO fixed category), with the relevance floor and how many providers cleared it; (2) current pricing context — comparable price range and median with mean, stdev and n, plus provider/priced counts; and (3) a ready-to-compare provider shortlist — each with observed price, market_position (below/in-line/above market), integration status, match score, and handles collected in `compare_ready`. Retrieval is 100% nearest-neighbour by text embedding: providers are matched on what they actually DO, never on an assigned label. REUSES the canonical pricing/search engines (no new pricing logic). Also returns `suggested_alternatives` (cheaper or stronger options) and a `result_fingerprint` (+ `cached`) so repeat calls are cheap. It does NOT run the comparison — pass `compare_ready` to compare_providers once you have finalists. For detailed inspection prefer the default path: search_providers → get_provider_profile → compare_providers. Aliases: `task` also accepts `query` / `q`.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "Required — the natural-language capability/task, e.g. 'reconcile supplier invoices' or 'litigation-analysis provider'. Aliases: query, q."
    },
    "buyer_tier": {
      "type": "string",
      "enum": [
        "individual",
        "pro",
        "team",
        "enterprise"
      ],
      "description": "Optional buyer tier to price against ('team' = Team/SME)."
    },
    "max_monthly_usd": {
      "type": "number",
      "description": "Optional budget ceiling in USD/month — filters the shortlist and drives suggested_alternatives."
    },
    "integrations": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional required integrations, e.g. [\"zendesk\",\"slack\"] — soft preference; integration status is reported per provider."
    },
    "sort": {
      "type": "string",
      "enum": [
        "match",
        "price_asc"
      ],
      "description": "Shortlist ordering. Default 'match'."
    },
    "limit": {
      "type": "number",
      "description": "Shortlist size (1-12, default 5)."
    },
    "provider_type": {
      "type": "string",
      "enum": [
        "auto",
        "agent",
        "mcp",
        "api",
        "any"
      ],
      "description": "Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic (neutral), not an agent-only filter. When a type is explicit (mcp/api/agent) matching providers are SOFT-RANKED to the top and the rest are kept as clearly-labelled cross_type_alternative entries — never hard-filtered (no zero-result cliff), and the functional match is never changed. Every provider is labelled with provider_type (public values: agent | mcp | api | unknown) + type_match_score; provider_type{type_rank_boost_applied, boosted_provider_type, result_counts_by_type} is returned."
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "'summary' (default) or 'full' (adds tier cohorts, coverage and raw results)."
    }
  },
  "required": [
    "task"
  ]
}
🟡search_providers(query, filters, max_monthly_usd, require_public_price, billing, ...)

Find candidates for a described task — example: 'supplier invoice reconciliation'. Check the strongest matches with get_provider_profile before recommending them, then use compare_providers for the shortlist. Results may include different delivery types (provider / MCP server / API / platform) and products without a numeric price: inspect the returned `priced`, `observed_price` and `provider_type` fields before treating a result as a recommendation. Set require_public_price to keep only products with an observed public price (then every returned result has one; if nothing priced is close you get an honest thin_coverage/no_match answer with the unpriced candidates labelled, never padding). max_monthly_usd drops products whose observed lowest paid tier exceeds it; sort price_asc lists cheapest observed price first. Each result carries the website URL (and pricing page URL when observed); get_provider_profile has the full evidence, plans and how_to_connect. Accepts `query` (aliases: q, text). research_capability is the optional combined route (market + pricing context + shortlist in one call).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "REQUIRED. Free-text description of the product job you are buying, e.g. 'customer support provider with Zendesk integration' or 'supplier invoice reconciliation'. Not for questions about Agentery itself (upvotes, endpoints): those return status unsupported_request."
    },
    "filters": {
      "type": "object",
      "description": "Optional: industry_fit[], integrations_available[], entity_type[] (agent|tool|infrastructure|service|marketplace|content-community), autonomy_level[] (assistant|workflow automation|agentic|infrastructure), minimum_evidence_quality (low|medium|high)"
    },
    "max_monthly_usd": {
      "type": "number",
      "description": "Drop providers whose observed lowest paid tier exceeds this (USD/month). Providers with no observed public price still pass unless require_public_price is true."
    },
    "require_public_price": {
      "type": "boolean",
      "description": "Only return providers with an observed public price (default false)"
    },
    "billing": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Only providers with one of these observed billing models, e.g. [\"free\",\"freemium\",\"subscription\",\"usage\"]"
    },
    "sort": {
      "type": "string",
      "enum": [
        "match",
        "price_asc"
      ],
      "description": "match (default) or price_asc (cheapest observed price first; unpriced providers last)"
    },
    "provider_type": {
      "type": "string",
      "enum": [
        "agent",
        "mcp",
        "api",
        "platform",
        "infrastructure"
      ],
      "description": "Filter to one provider type — the audited classification dimension (same as the website type chips and AEPI facets); result labels always match this filter. Omit for all types."
    },
    "limit": {
      "type": "number",
      "description": "Max results (1-50, default 20)"
    }
  },
  "required": [
    "query"
  ]
}
🟢find_market(task, query)

Map a natural-language task, capability or service to its live MARKET — the semantic neighbourhood of the closest-matching providers, found by text-embedding nearness (NO fixed category). For buyers ('a provider that monitors competitor pricing'), sellers ('what should I charge for lead-generation automation') or sizing a space. Pricing-intent boilerplate is stripped before matching. Returns the market label, how many providers are in the neighbourhood and how many are priced, `nearest` (the closest providers with observed price and relevance/cosine), and `pricing_by_tier` — median, mean, stdev, p25/p75, min–max range and n per buyer tier (individual/pro/team_sme/enterprise), computed by the canonical pricing engine over the priced neighbourhood. match_certainty is 'confident' when real neighbours exist and 'uncertain' when nothing is close (pricing WITHHELD). Accepts `task` (aliases: query, q). For the full market read + shortlist in ONE call, use research_capability instead. Read-only. When there is no strong market the response says so: status no_match or thin_coverage (nearest neighbourhood labelled partial_match) with a plain explanation and a next_step — it never invents a market.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "REQUIRED. A natural-language task, capability or service in plain words, e.g. 'reconcile supplier invoices'. Call as {\"task\": \"…\"}; an empty call returns status needs_input with an example and searches nothing."
    },
    "query": {
      "type": "string",
      "description": "Alias for task (back-compat only) — prefer task"
    }
  },
  "required": [
    "task"
  ]
}
🟢compare_providers(requirements, service, task, optional, provider_ids)

Step 3 of the buyer path. Side-by-side capability + plan-level prices for 2–6 providers (e.g. the Pro tier). Inputs are resolved to REAL providers — exact handle, then exact display name — and are NEVER silently swapped for a fuzzy match: unknown inputs come back in `unresolved_inputs` with `suggested_matches` and a ready-to-retry `corrected_call`, and if EXACTLY ONE input is real (the other was invented/mistyped) it does NOT dead-end — it returns `comparison_status: compared_with_market_peers`, comparing the real provider against its actual in-market competitors — its nearest providers by text-embedding — (listed in `compared_against_peers`, with a `recovery_note`); only when ZERO inputs resolve does it return `comparison_status: insufficient_valid_providers`. When the compared providers are different delivery types it sets `mixed_provider_types` + a `comparability_warning` (a hosted agent and an MCP server are not directly equivalent). Full evidence-scored cards for 2-6 handles side by side, each with observed price, all-time community upvotes and provider type. Each card carries the full how_to_connect object (website, docs, MCP endpoint + config_snippet, A2A card, API) so you can act on the winner directly. Each card also carries `reported_success` — the machine-reported outcome rate from report_outcome (null until 5+ distinct correlated reporters in 90 days). Report your own outcome after using the winner. Accepts `provider_ids` (aliases: handles, ids; a comma-separated string is also accepted). Use after search_providers or research_capability; when a compared provider is over budget or weakly matched, inline `suggested_alternatives` are returned.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "requirements": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional. Mandatory requirements as plain phrases (e.g. \"sanctions screening\", \"documented MCP interface\"). Adds an ADDITIVE service_view: per-provider evidence matrix from stored first-party page text — supported / not_supported / unknown with the excerpt and observation date; unknown never means unsupported."
    },
    "service": {
      "type": "string",
      "enum": [
        "supplier-verification",
        "contract-review",
        "developer-capabilities",
        "cheaper-alternatives"
      ],
      "description": "Optional. A service recipe whose fixed requirements and evidence fields are applied (see service_view.requirements)."
    },
    "task": {
      "type": "string",
      "description": "Optional. The buyer's job in plain words; used as the service_view heading."
    },
    "optional": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional preferences: reported in service_view but never gating."
    },
    "provider_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "2-6 provider handles from search_providers/market_gaps, e.g. [\"openhands\",\"lexaclaw\"]"
    }
  },
  "required": [
    "provider_ids"
  ]
}
🟡get_price_index(benchmark_id, provider_type, tier, response_mode)

Call this for the CURRENT level of the Agent Economy Price Index (AEPI) — a chained like-for-like index over observed provider/MCP pricing (base 100 = 29 Jun 2026). It is an INDEX LEVEL, not a market price or tradeable asset. Returns the whole-economy headline index level with change_1d/change_7d/change_30d, as_of, like_for_like_pair_count, status and the methodology version, PLUS the same fields for the four buyer tiers (Individual, Pro, Team/SME, Enterprise). `provider_type` returns the standalone index for one delivery type (provider or mcp, own base 100) — agents and MCPs price and move differently. `tier` filters to one buyer tier; response_mode 'full' adds exact sub-0.01% moves and repricing counts. Reads the SAME canonical series as the /aepi page, so the MCP and website agree for a given timestamp. (Also accepts a `benchmark_id` to read a private custom benchmark's current index.) The economy index is whole-market by design — for pricing on a specific capability use market_report or price_benchmark.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "benchmark_id": {
      "type": "string",
      "description": "Optional: a private custom benchmark token (cb_…) from create_custom_benchmark — returns that cohort's current index instead of the economy index. Cannot be combined with niche."
    },
    "provider_type": {
      "type": "string",
      "enum": [
        "all",
        "agent",
        "mcp",
        "subscription",
        "hybrid",
        "one_off",
        "payg"
      ],
      "description": "'all' (default) = the combined whole-economy index; 'agent' or 'mcp' = the standalone index over just that delivery type (own base 100); 'payg' = the standalone pay-as-you-go sub-index (usage rates purchasable without a subscription, engine v2). Agents and MCPs price and move differently, so an MCP buyer should read the 'mcp' index and an agent buyer the 'agent' index."
    },
    "tier": {
      "type": "string",
      "enum": [
        "all",
        "individual",
        "pro",
        "team",
        "enterprise"
      ],
      "description": "Filter to one buyer tier ('team' = Team/SME). Default 'all'."
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "'summary' (default) or 'full' (adds exact sub-0.01% moves and repricing counts)."
    }
  }
}
🟢price_benchmark(query, task, niche, sector, provider_type, ...)

Summarise observed prices for products related to a capability, separated by delivery type (provider / mcp) and buyer tier (individual / pro / team_sme / enterprise) and never blended across incompatible pricing units. Supply the capability with `query` (natural language, e.g. 'AI code review'); `task` and the legacy `niche` are accepted aliases. The market is the semantic neighbourhood of the query (nearest providers by text embedding, no fixed category). Each cohort reports median, mean, stdev, p25/p75, min–max and n. A benchmark describes the observed comparable sample — it is not a quote and not evidence of willingness to pay. Supply provider_type and buyer_tier when the user makes them known; otherwise the populated per-type/per-tier matrix is returned. When nothing priced is semantically close it returns resolved:false with a note, never a fabricated figure.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The capability to benchmark, in natural language, e.g. 'AI code review' or 'supplier invoice reconciliation'. Preferred input."
    },
    "task": {
      "type": "string",
      "description": "Alias of `query` (same text)."
    },
    "niche": {
      "type": "string",
      "description": "Legacy alias of `query`, kept for older clients — prefer `query`."
    },
    "sector": {
      "type": "string",
      "description": "Sector name, e.g. 'legal' (ignored if a query is given)"
    },
    "provider_type": {
      "type": "string",
      "enum": [
        "agent",
        "mcp",
        "api",
        "all"
      ],
      "description": "Delivery type being priced. Set when the user says provider, MCP or API. Omit (or 'all') to get the per-type matrix instead of a blended figure. 'api' is recognised but not yet a separate commercial cohort (folded into provider)."
    },
    "buyer_tier": {
      "type": "string",
      "enum": [
        "individual",
        "pro",
        "team_sme",
        "enterprise",
        "all"
      ],
      "description": "Buyer tier being priced. Set when the user describes who is buying (an individual, a professional, a team/SME, or an enterprise). An individual licence must never be represented by the SME or enterprise price."
    },
    "pricing_unit": {
      "type": "string",
      "description": "Optional pricing unit to hold constant (e.g. 'flat', 'per_seat', 'per_agent'). Incompatible units are never combined."
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "'summary' (default): compact per-type/per-tier benchmark matrix. 'full': also returns the deprecated blended legacy block + AEPI index."
    }
  }
}
🟢get_price_index_history(benchmark_id, provider_type, tier, period, response_mode)

Call this for the canonical DATED index SERIES (to chart or analyse movement) of the AEPI — the same chained like-for-like series the /aepi page plots. Every point is an index level (base 100), never a price. Returns the whole-economy headline series, or a single buyer tier's series when `tier` is set. `provider_type` returns the standalone 'agent' / 'mcp' series (own base 100). `period` selects '30d' (default), '90d' or 'all'. response_mode 'summary' (default) returns date + index_level points plus the window change; 'full' adds gap flags. Returns an honest status (insufficient_history) rather than a fabricated series when data is too thin. (Also accepts a `benchmark_id` to read a private custom benchmark's history.) The economy index is whole-market by design — for pricing on a specific capability use market_report or price_benchmark.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "benchmark_id": {
      "type": "string",
      "description": "Optional: a private custom benchmark token (cb_…) — returns that cohort's dated series instead of the economy series. Cannot be combined with niche."
    },
    "provider_type": {
      "type": "string",
      "enum": [
        "all",
        "agent",
        "mcp",
        "subscription",
        "hybrid",
        "one_off",
        "payg"
      ],
      "description": "'all' (default) = the combined whole-economy series, or the standalone 'agent' / 'mcp' / 'subscription' / 'hybrid' / 'one_off' / 'payg' = the billing-LENS series (they cut across provider/mcp; a rate sits in one delivery type AND one lens; own base 100) — 'payg' (pay-as-you-go, engine v2) series (own base 100)."
    },
    "tier": {
      "type": "string",
      "enum": [
        "all",
        "individual",
        "pro",
        "team",
        "enterprise"
      ],
      "description": "Return one buyer tier's series ('team' = Team/SME). Default 'all' = the headline series."
    },
    "period": {
      "type": "string",
      "enum": [
        "30d",
        "90d",
        "all"
      ],
      "description": "History window. Default '30d'."
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "'summary' (default, compact) or 'full'."
    }
  }
}
🟢market_gaps(sector, rank, limit)

Inspect query clusters with weak coverage among indexed paid providers — research leads, not buyer counts: request counts are not buyer counts, and a gap in this index does not establish a gap in the wider market. Computed demand-first in the raw text-embedding space (NO fixed categories). A gap = a cluster of user requests seen on this MCP server that sits FAR from any PAID provider. For each gap it returns: the demand phrasing, demand_mass (how many similar requests cluster with it), nearest_paid_similarity (cosine to the closest paid provider — low = under-served) and that closest paid provider. Also returns demand_queries and paid_supply counts. Honestly returns few or no gaps while query volume is still low — it sharpens as usage grows. No arguments needed ({}); `limit` caps the list.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "sector": {
      "type": "string",
      "description": "Optional sector filter, e.g. 'legal', 'healthcare'"
    },
    "rank": {
      "type": "string",
      "enum": [
        "gaps",
        "hot"
      ],
      "description": "gaps (default): whitespace with money, crowded excluded. hot: most active by market pulse, crowding ignored."
    },
    "limit": {
      "type": "number",
      "description": "Max gaps (1-50, default 15)"
    }
  }
}
🟢suggest_alternatives(agent_id, cheaper_only, limit)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string",
      "description": "Handle of the provider to find substitutes for, e.g. 'openhands'"
    },
    "cheaper_only": {
      "type": "boolean",
      "description": "Only keep alternatives priced below the subject's lowest monthly price. Free/freemium providers always qualify; providers with no observed price are excluded. Default false."
    },
    "limit": {
      "type": "number",
      "description": "Max alternatives (1-10, default 5)"
    }
  },
  "required": [
    "agent_id"
  ]
}
🟢demand_signals(limit)

Inspect eligible zero-result or weak-match capability queries observed on this MCP server, aggregated and ranked by miss count. 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max signals (1-50, default 20)"
    }
  }
}
🟡report_outcome(agent_id, outcome, task_type, error_class, latency_ms, ...)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string",
      "description": "Handle of the provider you used, as returned by search_providers/get_provider_profile/compare_providers"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "worked",
        "failed",
        "partial"
      ],
      "description": "Did the provider accomplish the task you hired it for?"
    },
    "task_type": {
      "type": "string",
      "description": "Optional short task label, e.g. 'code-review', 'lead-enrichment'"
    },
    "error_class": {
      "type": "string",
      "description": "Optional failure class, e.g. 'timeout', 'auth', 'wrong-output', 'endpoint-down'"
    },
    "latency_ms": {
      "type": "number",
      "description": "Optional end-to-end latency of the provider in milliseconds"
    },
    "note": {
      "type": "string",
      "description": "Optional free-text detail (capped at 300 chars)"
    }
  },
  "required": [
    "agent_id",
    "outcome"
  ]
}
⚪rank_providers_for_workflow(business_context, workflow_steps, limit_per_step)

PARTNER-ONLY (Bearer key required). Given a business context and its workflow steps, return ranked provider candidates for EACH step — structured, scored (match_score 0-100) matches with match_reasons and cautions. Built for app builders (e.g. Builtery) assembling automations. Reads each provider's analysed site profile; never invents capabilities; returns 'unclear' where evidence is missing.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_context": {
      "type": "object",
      "description": "company_description, industry, region, existing_tools[], automation_posture (cautious|balanced|agent_native), regulated_data (none|personal|health|financial|legal|children|unknown)"
    },
    "workflow_steps": {
      "type": "array",
      "description": "Each: step_id, step_name, step_description, inputs[], desired_outputs[], required_integrations[], human_approval_preference (always|sometimes|not_needed|unknown)"
    },
    "limit_per_step": {
      "type": "number",
      "description": "Max candidates per step (1-25, default 8)"
    }
  },
  "required": [
    "workflow_steps"
  ]
}
🟢get_provider_profile(provider_id)

Step 2 of the buyer path. Full profile for ONE provider — plans, pricing model, liveness, evidence — use after search_providers returns handles. Evidence-scored profile: task_performed, inputs/outputs, integrations, protocols, industry_fit, autonomy_level, human_approval_needed, observed price, trust signals, evidence_quality, entity_type, regulated_data_suitability, evidence_urls, last_checked. Includes the full how_to_connect object — website, docs, any vendor-published MCP endpoint (with a copy-paste client config_snippet), A2A agent card and API surface — the info needed to actually use the listing; fields are null when the vendor publishes no endpoint (never guessed). Also carries `reported_success` — machine-reported outcome rate from report_outcome (null until 5+ distinct correlated reporters in 90 days). If you use the listing, call report_outcome afterwards.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "provider_id": {
      "type": "string",
      "description": "The provider_id/handle returned by search_providers or compare_providers"
    }
  },
  "required": [
    "provider_id"
  ]
}
🟢get_provider(handle, regNum)

Call this for the 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Provider handle, e.g. 'openhands'"
    },
    "regNum": {
      "type": "number",
      "description": "Registration number, e.g. 2432"
    }
  }
}
🟢market_report(query, response_mode)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language capability or market, e.g. 'customer support chatbot' or 'ai phishing detection'."
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "'summary' (DEFAULT) returns a compact block: neighbourhood counts, per-type/per-tier price cohorts and top providers. 'full' returns everything incl. the full member list."
    }
  },
  "required": [
    "query"
  ]
}
🟡create_custom_benchmark(name, members, base_niche, remove, add, ...)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Optional private label"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Mode A: exact handles (preferred), product names or domains"
    },
    "base_niche": {
      "type": "string",
      "description": "Mode B: slug of the canonical market to fork"
    },
    "remove": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Mode B: members to drop from the forked market"
    },
    "add": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "members to add"
    },
    "allow_partial": {
      "type": "boolean",
      "description": "Create with only the resolved members when some inputs don't resolve (default false)"
    }
  }
}
🟢get_custom_benchmark(benchmark_id, version, as_of, response_mode)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "benchmark_id": {
      "type": "string",
      "description": "Your cb_ token (bearer secret; passed as an argument, never a URL)"
    },
    "version": {
      "type": "number",
      "description": "Optional benchmark version (default latest)"
    },
    "as_of": {
      "type": "string",
      "description": "Optional YYYY-MM-DD — reproduce the exact stats + index as they were on that date, using this version's fixed membership"
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "full includes the index series"
    }
  },
  "required": [
    "benchmark_id"
  ]
}
🟡update_custom_benchmark(benchmark_id, add, remove, rename)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "benchmark_id": {
      "type": "string",
      "description": "Your cb_ token"
    },
    "add": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "remove": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rename": {
      "type": "string"
    }
  },
  "required": [
    "benchmark_id"
  ]
}
🔴delete_custom_benchmark(benchmark_id)

Disable access to a custom benchmark. Keeps only a minimal audit record; no underlying Agentery data is touched. Pass `benchmark_id`.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "benchmark_id": {
      "type": "string",
      "description": "Your cb_ token"
    }
  },
  "required": [
    "benchmark_id"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet19 Tools
verifiziertVersion nicht aufgezeichnet19 Tools