Hunter-Seeker
Server Details
Rank rows by outcome likelihood: deterministic pattern-detection and top-k prediction for agents
- 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.
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.
Tool Definition Quality
Average 4.8/5 across 8 of 8 tools scored.
Each tool addresses a distinct stage of the workflow: capabilities, data intake, ranking, polling, driver explanation, lever explanation, model diagnostics, and summary generation. The ranking_ref dependency creates a clear pipeline but no purpose overlap.
All tools use the hs_ prefix and snake_case with clear verb-noun phrasing (hs_provide_dataset, hs_explain_drivers, hs_model_quality). Naming is uniform and immediately indicates each tool's function.
8 tools is well within the ideal 3–15 range and maps perfectly to the ranking workflow: describe, provide data, rank, poll, then interpret/diagnose/summarize. No redundant or unnecessary tools.
The surface covers the full analysis lifecycle: contract understanding (hs_describe_capabilities), data ingestion (hs_provide_dataset), execution and polling (hs_rank_topk, hs_poll_task), interpretation (hs_explain_drivers, hs_explain_levers), trust (hs_model_quality), and portable handoff (hs_context_brief). No obvious gaps or dead ends.
Available Tools
8 toolshs_context_briefARead-onlyIdempotentInspect
Free; no engine run. For a ranking already produced by hs_rank_topk (pass its ranking_ref), return a PORTABLE BRIEF you can drop straight into your own agent's context - the whole analysis as one compact artifact instead of three separate calls. Returns: provenance (engine version, core hash, the ranking_ref, the analysis identity, and when the analysis was computed), outcome.label, trust (top-decile lift, calibration error, validation scheme, and any columns the leak guard quarantined), driver_group (the drivers the engine found, each with a direction, to be read as ONE combination), and limits. Best for: handing an analysis to another agent, filing an analysis in your own store so you can recognise the same analysis later, or building a domain expert on top of Hunter-Seeker - we supply the governed prediction, you supply the domain. Set format to "markdown" for prose instead of JSON; both carry identical numbers. It reuses the analysis behind the ranking_ref, so it costs nothing and can be called as often as you like - only hs_rank_topk consumes a run. Drivers are ASSOCIATIONS, not causes, and are only meaningful together: never re-order them, never rank one above another, never report one on its own. Common mistakes: passing a ranking_ref older than an hour (the analysis is cached for one hour, then you must re-run hs_rank_topk); treating a null statistic as zero - null means the engine did not report it; and inventing drivers when the brief returns an empty driver group, which is a real result and not a gap. Never restate a number this brief does not contain, and never compute change over time by comparing two briefs - that is you authoring a direction the engine never gave. If change over time matters, re-run.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format. Both carry identical numbers; markdown is prose for a human or for a prompt. Default json. | |
| ranking_ref | Yes | The ranking_ref from a prior hs_rank_topk result. |
Output Schema
| Name | Required | Description |
|---|---|---|
| trust | Yes | |
| limits | Yes | |
| schema | Yes | |
| outcome | Yes | |
| provenance | Yes | |
| driver_group | Yes | |
| honest_empty_note | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, and the description adds non-redundant behavioral context: the one-hour cache of ranking_ref, null-statistic semantics ('null means the engine did not report it'), and that an empty driver_group is a real result. These details go beyond the annotations and do not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the key fact ('Free; no engine run') and then logically flows from purpose to returns to best-for to mistakes. It is verbose – a wall of text – but every sentence contributes value given the tool's risk of misuse. A bulleted structure would earn 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters and a documented output schema, the description covers all relevant context: cost, return fields, usage intent, and critical caveats that an agent must know (driver-group semantics, null handling, caching). No obvious gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters, and the description adds meaningful nuance: format='markdown' yields prose with identical numbers, and ranking_ref must come from a recent hs_rank_topk result (one-hour cache). This compensates the simple schema with context the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete action – return a PORTABLE BRIEF from a prior hs_rank_topk result – and clearly distinguishes the tool from siblings by framing it as a single artifact replacing three separate calls. The verb 'return' plus the resource (ranking_ref) makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Best for' section lists three explicit use cases (handing analysis to another agent, filing in a store, building a domain expert), and the 'Common mistakes' section provides exclusions and when-not-to-use guidance (e.g., don't compare two briefs for change over time; re-run instead). This is explicit, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_describe_capabilitiesARead-onlyIdempotentInspect
Free; no engine run. Return Hunter-Seeker's input contract, supported problem shapes, the trust guarantees (determinism, provenance, honest-empty; plus leak-guard, which is LIVE as of engine 0.1.1: it quarantines columns that predict the outcome too well (likely target leakage), each named with a plain-English reason, and is null on a non-finding (honest-null), not "pending"), limits (inline row/column/byte caps, k max), and worked examples across several domains (customer churn, machine failure, sports prospects, job applications). Call this first if you are unsure whether a user's problem is a top-k prediction problem or how to format inputs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds important behavioral details: 'Free; no engine run', the leak-guard feature with honest-null vs 'pending', determinism, provenance, and honest-empty. It also clarifies limits, going well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, but it is written as one long run-on sentence with semicolons. It is front-loaded with 'Free; no engine run' and every clause adds value, but it could benefit from bullet points or shorter sentences for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description comprehensively covers the return value, use cases, and behavioral guarantees. It explains all the essential aspects a user would need to decide whether to call this tool and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema is semantically empty. The description fully compensates by explaining the tool's output contract in detail, listing what will be returned (input contract, problem shapes, trust guarantees, limits, worked examples). This exceeds the baseline 4 for zero-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns Hunter-Seeker's input contract, supported problem shapes, trust guarantees, limits, and worked examples. It explicitly differentiates from siblings by advising to call this first when unsure if a problem is a top-k prediction problem or how to format inputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Call this first if you are unsure whether a user's problem is a top-k prediction problem or how to format inputs.' This distinguishes it from sibling tools and gives clear context for initial exploration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_explain_driversARead-onlyIdempotentInspect
Free; no engine run. For a ranking already produced by hs_rank_topk (pass its ranking_ref), return THE PATTERN the engine found - the core of what Hunter-Seeker does: it discovers a COMBINATION of feature-conditions that, TOGETHER, predict the outcome (not independent per-feature effects). Returns pattern.conditions[] - read as ONE joint profile - plus pattern.coverage (exact share of entities matching the full pattern) and pattern.lift. A NUMERIC condition is a feature + direction (higher / lower) + the threshold where it turns (e.g. months_supply lower than 2.1), and it carries the exact predicate alongside: operator ("<=" or ">") and missing_values ("included" or "excluded"). BUILD YOUR FILTER FROM operator AND missing_values, NOT FROM THE DIRECTION WORD - the boundary is ASYMMETRIC and the English reading of "lower" is wrong. "lower" means operator "<=" with missing_values "included": it holds AT the threshold as well as below it, and also covers rows where that value is MISSING. "higher" means operator ">" with missing_values "excluded": strictly above, missing rows out. So "lower than t" names a WIDER cohort than a naive "< t" filter, and coverage counts those extra rows. This is not a rounding detail: on a dataset whose threshold lands on a common value, reading "lower than 168" as "< 168" selects ZERO rows while coverage reports 0.279 - a gate that fires on nothing while the envelope looks healthy. Both fields are absent on a categorical condition, whose cohort is defined by the set below instead. A CATEGORICAL condition has direction "different" (set membership has no high/low) and instead carries categories (the values involved) plus category_match, either "is_one_of" or "is_not_one_of" - take it LITERALLY and never drop the negation, because "is_not_one_of" ["annual"] is the opposite cohort from "is_one_of" ["annual"]. Both fields are absent on numeric conditions. This is what takes your agent from generalist to expert on THIS dataset - the structured pattern for YOU to phrase (describe the whole combination as a unit, "entities that are X and Y and Z together"); Hunter-Seeker never phrases it for you. Best for: "what pattern actually drives churn / conversion / failure here", priming context before you act, or a deep-dive report on a dataset. Not recommended for: per-entity "what would change" questions (use hs_explain_levers). Returns: pattern.conditions[] (feature + direction + threshold, plus categories + category_match on categorical conditions) + coverage + lift - engine-authored facts passed through verbatim, never a raw arm name, weight, or the search objective (association_not_causal, same firewall as levers). It reuses the analysis behind the ranking_ref - no new engine run, no extra cost. Common mistakes: passing a ranking_ref that has expired or never cleared the bar (call hs_rank_topk first and use its ranking_ref verbatim); reading a driver as a causal guarantee - it is what the model associates with the outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| ranking_ref | Yes | The ranking_ref from a prior hs_rank_topk result. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint, openWorldHint, and idempotentHint, but the description adds extensive context: it is free with no engine run, reuses the prior analysis, returns engine-authored facts verbatim, never reveals raw arm names or the search objective, and explicitly cautions that drivers are not causal guarantees. It also explains the asymmetric boundary semantics in detail. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core purpose and is dense with necessary technical detail about condition semantics. However, it repeats 'no engine run' / 'no new engine run' and 'no extra cost' in multiple places, which adds slight redundancy and prevents a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description fully covers return fields (pattern.conditions, coverage, lift), explains numeric vs categorical conditions, operator semantics, missing values, and common mistakes. It also provides clear usage boundaries and alternatives, making it complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents ranking_ref as 'from a prior hs_rank_topk result', so baseline is 3. The description adds practical guidance on passing the ref verbatim and warns against common mistakes (expired or never-cleared refs), which increases value beyond the schema. It does not invent new parameter semantics, hence 4 rather than 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns the pattern found by Hunter-Seeker for a given ranking_ref, and explicitly distinguishes itself from hs_explain_levers by noting it is not for per-entity 'what would change' questions. The verb 'return' and the specific resource (pattern from ranking_ref) are precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'Best for' and 'Not recommended for' sections, naming the alternative tool (hs_explain_levers) and explaining when to use each. It also states the prerequisite of calling hs_rank_topk first and using its ranking_ref verbatim, plus warns about expired or sub-threshold refs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_explain_leversARead-onlyIdempotentInspect
Free; no engine run. For one or more entities already ranked by hs_rank_topk, compute the minimal set of feature changes (counterfactual levers) that would move the entity out of the high-risk / high-likelihood pattern. Best for: "what would have to change for this customer not to churn", "what's driving this risk", "how do I intervene". Not recommended for: entities not present in a prior ranking; guarantees of real-world causal effect (these are minimal model-based flips, not proven interventions). Returns: per-entity minimal feature changes (each a feature label + a direction: increase / decrease / change), a coarse magnitude (substantial / notable / slight), and likelihood_direction (lower / higher / unchanged) - which way the change moves PREDICTED LIKELIHOOD of the outcome - plus provenance; every lever is labeled association_not_causal. likelihood_direction is a FACT, not a recommendation, and it is NOT fixed to "lower" - READ IT PER LEVER. Which way it reads follows the polarity the engine resolved for this outcome: on an ADVERSE outcome (churn, default, failure) the levers move an entity OUT of the high-likelihood pattern and read "lower"; on a DESIRABLE outcome (converted, renewed, closed) the engine returns COMPLETION levers that move an entity INTO it, and those read "higher". Assuming "lower" on a desirable outcome inverts every lever you present. Whether the direction you get is the direction you want depends on whether the outcome is desirable (converted, renewed, closed) or adverse (churn, default, failure) - you know which, and Hunter-Seeker does not infer it. Decide the good/bad reading yourself, or ask the user, before presenting a lever as an improvement. No raw scores, score deltas, thresholds, or weights are returned - these are coarse, model-associated flips, not causal guarantees. Common mistakes: interpreting levers as causal guarantees - present them as "what the model associates with a different outcome", especially in regulated or person-level domains.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_ids | Yes | Entities from that ranking to explain (max 20 per call). | |
| ranking_ref | Yes | The ranking_ref from a prior hs_rank_topk result. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, it discloses return constraints (no raw scores, thresholds, weights), the `association_not_causal` label, and the nuanced behavior of `likelihood_direction` differing for adverse vs desirable outcomes. It also warns about common mistakes in interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed and well-structured with categories (Best for, Not recommended, Returns, Common mistakes), but it is somewhat lengthy with some repeated caveats about reading likelihood_direction. It remains focused and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the lack of an output schema, the description fully describes the return format (per-entity feature changes, direction, magnitude, likelihood_direction, provenance) and the crucial polarity rule. It also covers prerequisites, exclusions, and usage guidance, making it complete for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with clear descriptions (ranking_ref from prior ranking, entity_ids from that ranking, max 20). The tool description does not add arg-specific details beyond reasserting the prerequisite, so a baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: compute minimal counterfactual feature changes for entities already ranked by hs_rank_topk. It also distinguishes it from explanation of drivers by emphasizing counterfactual levers and the prerequisite of a prior ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'Best for' and 'Not recommended for' lists, and warns against using it for entities not in a prior ranking or for causal guarantees. It also clarifies the prerequisite of a prior hs_rank_topk result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_model_qualityARead-onlyIdempotentInspect
Free; no engine run. For a ranking already produced by hs_rank_topk (pass its ranking_ref), return the model DIAGNOSTICS so you can judge how much to trust it BEFORE acting on it. Returns: top_decile_lift (how concentrated the outcome is in the top-ranked group), calibration_error (ECE - lower is better-calibrated), validation (scheme: out-of-time, holdout, or none when no rows could be held back; n_holdout is null when nothing was held back; plus n_train and a plain-English reason), lift_curve (relative cumulative lift per decile), and leak_guard (columns quarantined as likely target leakage, each with a plain-English reason). These are validation statistics - never a threshold, weight, score, or arm. Best for: due diligence before acting, a governance / trust check, or a model-quality section in a report. A low top_decile_lift, a high calibration_error, or a populated leak_guard is a signal to be cautious. It reuses the analysis behind the ranking_ref - no new engine run. Common mistakes: passing an expired or never-cleared ranking_ref (call hs_rank_topk first); treating a null field as zero - it means there was no finding.
| Name | Required | Description | Default |
|---|---|---|---|
| ranking_ref | Yes | The ranking_ref from a prior hs_rank_topk result. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond annotations: it states 'Free; no engine run,' 'reuses the analysis behind the ranking_ref,' and explains return field semantics including null meaning 'there was no finding.' It also clarifies that outputs are 'validation statistics - never a threshold, weight, score, or arm.' This aligns with readOnlyHint and idempotentHint, with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and structured, starting with the key 'Free; no engine run' and then logically covering inputs, outputs, best-for, and common mistakes. It is longer than ideal but every sentence adds value, so it earns a high-but-not-perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of an output schema, the description fully covers all return fields (top_decile_lift, calibration_error, validation, lift_curve, leak_guard), their interpretations, usage context, and caveats. It leaves no significant gaps for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description enriches the single parameter ranking_ref by specifying it must come from hs_rank_topk, explaining the 'expired or never-cleared' pitfall, and elaborating on how the reference is reused. This goes well beyond the schema's one-line description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'return the model DIAGNOSTICS' for a ranking from hs_rank_topk, with a specific verb and resource. It differentiates from siblings by explicitly referencing the prerequisite hs_rank_topk and emphasizing it returns validation statistics, not scores or ranks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Best for: due diligence before acting, a governance / trust check, or a model-quality section in a report.' It also warns against 'passing an expired or never-cleared ranking_ref' and instructs to 'call hs_rank_topk first,' making the usage context and exclusions clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_poll_taskAInspect
Free to call; the run it polls is the billable one. Check a long-running ranking started by hs_rank_topk in an async mode (a dataset_id or fetch_url run). Returns status "pending" (poll again after the suggested interval; do not tight-loop) or the completed ranking envelope. A pending response may also carry a stage + append-only facts_so_far (leak-firewalled progress — never a partial ranking) and an optional status_url: a short-TTL signed link to a live status page a human can open to watch staged progress in real time. Common mistakes: polling in a tight loop - respect retry_after_ms; treating "pending" as failure.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task id returned by hs_rank_topk (dataset mode). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the minimal annotations (readOnlyHint=false, idempotentHint=false), the description richly discloses behavior: cost implications (free call, billable run), response variants (pending vs completed), progress fields (stage, facts_so_far), status_url TTL, and common mistakes. This goes well 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every clause serves a purpose—cost, purpose, response format, progress behavior, status_url, and pitfalls. It is slightly long but well-structured and front-loaded with the cost note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully covers return values (pending with retry_after_ms/stage/facts_so_far/status_url, or completed envelope), cost, and error-prone scenarios. For a tool with one parameter, this is exceptionally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'task_id', which already has a descriptive schema. The description adds value by clarifying that the task can come from 'dataset_id or fetch_url' modes, extending beyond the schema's 'dataset mode' phrasing. This extra context justifies a step above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls a long-running ranking task started by hs_rank_topk, using a specific verb ('check'/'poll') and resource. It distinguishes itself from sibling tools by explicitly tying it to hs_rank_topk's async mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context: use this after hs_rank_topk starts an async run. It gives practical guidance like respecting retry_after_ms and not treating 'pending' as failure. Though it doesn't name alternative tools, the context is sufficient for correct use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_provide_datasetAInspect
Free; no engine run. Register a dataset too large to inline in hs_rank_topk, then run it by dataset_id. RECOMMENDED for any real dataset (bigger than a small paste). Two ways to get the bytes in, no manual step needed from the user:
upload (best for a file you have): call it with no arguments to receive { dataset_id, upload_url, method: "PUT" }, then upload the file YOURSELF with a shell/code tool: curl -X PUT --data-binary @<file.csv> "" - the bytes stream straight to object storage, so there is NO size or row cap on this path (~1M rows is routine). Then hs_rank_topk({ data: { dataset_id } }). Send CSV: the engine reads the object as-is.
fetch_url (best when the data is already at a public https URL): call with { fetch_url: "https://..." } and the SERVER downloads it - no upload on your side. A comma-delimited CSV goes to storage byte-for-byte, so it has no row cap either. Then hs_rank_topk({ data: { dataset_id } }). (direct_upload: false opts back into a proxied upload_url, which converts a JSON body to CSV for you but is capped at the ~4.5MB serverless body limit. Only worth it for JSON you cannot convert.) Dataset runs are ASYNC: hs_rank_topk returns { status: "pending", task_id } - poll hs_poll_task. This tool stays useful for reuse (register once, rank many times) and for the direct_upload path, but you no longer NEED it as a separate step for the common cases: hs_rank_topk now accepts data.csv (inline CSV text, synchronous) and data.fetch_url (a public https URL the server fetches + ranks) directly, collapsing provide + rank into ONE call. Not recommended for: genuinely small tables (inline them in hs_rank_topk as data.rows or data.csv instead); non-https or private/internal URLs (blocked). Returns: dataset_id (+ upload_url in the upload modes). Common mistakes: passing localhost / private-network / cloud-metadata URLs (refused for safety); forgetting to actually PUT the file after direct_upload (the run has no data until you do); tight-polling hs_poll_task.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Human-readable dataset name. | |
| fetch_url | No | Public https URL to retrieve the dataset from. Omit to receive an upload_url instead. | |
| direct_upload | No | Direct-to-storage upload is now the DEFAULT (no size or row cap), so you rarely need this. Set false to instead receive a proxied upload_url, which normalizes a JSON body to CSV but is capped at the ~4.5MB serverless body limit. Ignored when fetch_url is present. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the sparse annotations (readOnlyHint=false, destructiveHint=false). It discloses that the operation is free and runs no engine, that dataset runs are async, that direct_upload requires the user to perform a PUT, and that private/cloud-metadata URLs are refused for safety. It also explains the return values (dataset_id, upload_url) and the proxied upload cap. This is rich behavioral context with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and key decisions, and it uses helpful line breaks and sections (returns, common mistakes). However, it is quite long (~320 words) and repeats some facts already present in the schema (e.g., direct_upload cap, no row cap). It earns its length for a complex tool but could be tighter with minor edits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and moderate complexity, the description covers all necessary operational context: async behavior, two ingestion paths with size limits, safety constraints, polling, and common mistakes. It even explains when the tool is no longer strictly needed (collapsing provide+rank into one hs_rank_topk call). This is a complete and self-sufficient description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides thorough descriptions for all three parameters (100% coverage), earning a baseline of 3. The description augments this by contextualizing parameters within the two workflows (e.g., 'fetch_url public https URL', 'direct_upload false opts back into proxied upload_url'), and by clarifying that name is human-readable. It adds meaningful operational context beyond the schema without being redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Register a dataset too large to inline in hs_rank_topk.' It explicitly distinguishes this tool from the sibling hs_rank_topk, noting it is a prerequisite and that hs_rank_topk now accepts inline data/fetch_url directly. The purpose is unmistakable and well-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is explicit and actionable. It recommends this tool for any real dataset, describes the two modes (upload vs fetch_url) with trade-offs, and provides clear exclusions: 'Not recommended for: genuinely small tables (inline them...); non-https or private/internal URLs (blocked).' It also points to the alternative of using hs_rank_topk directly for common cases. This is exemplary when-to-use/when-not-to-use documentation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_rank_topkAInspect
Costs one run from your monthly quota - the only tool that does. The run is refunded on honest-empty or error, so you are billed only for a ranking you actually received. Rank the rows of a table by their likelihood of a binary (yes/no) outcome, and return the top-k highest-likelihood entities with calibrated scores. Best for: any "which of these are most likely to [convert / churn / fail / default / win / succeed / respond / be approved]" or "who should I prioritize" question where the user has tabular data and one column represents a yes/no result. Works across any domain - business, operations, health-adjacent, education, sports, research, personal. Not recommended for: continuous-value forecasting (predicting a number, not a yes/no); questions with no historical outcome column to learn from; time-series-only problems; or when the user wants a causal guarantee rather than a ranked prediction. Returns: top-k ranked entities with per-entity calibrated scores; top-decile lift; calibration + validation records; provenance (engine version + core-hash); gate_verdicts with recorded reasons; and leak_guard results naming any quarantined post-outcome columns. Honest-null: top_decile_lift, validation, leak_guard, and top_factors are LIVE as of engine 0.1.1 - they populate on a cleared finding and are returned as null on a non-finding (never fabricated) - so a null means no finding, NOT that the field is pending. top_factors are human-readable strings ("higher/lower/different "); validation is { scheme, split_fraction, n_train, n_holdout, reason? }; scheme is "holdout", "out_of_time", or "none" when the dataset was too small to hold rows back - in which case n_holdout is null (not 0) and reason states why and what would fix it; leak_guard is a list of quarantined likely-leakage columns, each with a plain-English reason. If the data cannot clear the lift >= 1.5 bar, returns a structured honest-empty result with reasons instead of weak rankings. Common mistakes: choosing an outcome column that is only known after the outcome occurs (leakage) - the tool will flag it; expecting a result when the signal is too weak - read the honest_empty reasons rather than retrying; over-inlining - inline data.rows / data.csv is capped at ~4MB / 2,000 rows / 64 columns, but your CLIENT's tool-payload budget (Claude Code ~25k tokens, Claude Desktop ~150k chars) usually binds first, so keep inline to a few hundred rows and route anything medium or larger to data.dataset_id (via hs_provide_dataset or direct_upload) or data.fetch_url.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Exactly one data source: rows or csv (small, inline, synchronous) | fetch_url or dataset_id (async, poll hs_poll_task) | direct_upload:true (get an upload URL — no run starts). | |
| page | No | ||
| horizon | No | The time window the prediction is about, e.g. "30 days". | |
| subject_kind | Yes | What kind of thing each entity is. "person" enables decision-support safeguards. | |
| entity_column | Yes | What each row represents, e.g. customer_id, machine_id, application_id. | |
| outcome_column | Yes | The column holding the yes/no result to learn to predict. Must be known historically - not derived after the outcome (that is leakage). | |
| idempotency_key | No | For dataset_id runs: reuse to dedupe retried submissions onto the same task. | |
| acknowledge_decision_support | No | Required true when subject_kind is "person" and the outcome is in a regulated domain (hiring, credit, education, insurance, benefits, justice). Confirms results are decision-support with human review. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses critical behavioral traits not covered by annotations: it costs one monthly run (refunded on honest-empty or error), returns honest-null values (null means no finding, not pending), may flag leakage columns, and can return honest-empty results if the lift bar is not met. This goes far beyond the simple readOnly/destructive hints in annotations and gives the agent a clear picture of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but structurally logical: cost warning first, then purpose, usage guidance, return semantics, and common mistakes. Each sentence contributes necessary information for such a complex tool. However, it is somewhat verbose and could be tightened without losing meaning, which prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description thoroughly explains all return fields and edge cases (top-k, top-decile lift, calibration, validation, provenance, gate_verdicts, leak_guard) and clarifies honest-null semantics. It also covers error/empty-result behavior and quota refund, making the tool's contract complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is high (88%), the description adds valuable parameter-level context: it warns against leakage (outcome_column misuse), advises on inline data size limits, and explains how to choose among data source options (rows vs dataset_id vs fetch_url). This adds meaning beyond the schema's already descriptive fields, especially around common mistakes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific action: 'Rank the rows of a table by their likelihood of a binary (yes/no) outcome, and return the top-k highest-likelihood entities with calibrated scores.' This is a precise verb+resource+scope statement. It also distinguishes itself from sibling tools by noting it is 'the only tool that does' cost a run, and lists what it is not for (continuous forecasting, no historical outcome, etc.), clearly separating it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides 'Best for' and 'Not recommended for' sections, giving clear when-to-use and when-not-to-use guidance. It also instructs users to route larger data to data.dataset_id or fetch_url, naming hs_provide_dataset and direct_upload as alternatives. This is comprehensive usage guidance that goes beyond mere description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseBqualityBmaintenanceDeterministic Risk Oracle for DeFAI Agents.2MIT
- AlicenseCqualityBmaintenanceHistorical stock pattern intelligence for AI agents. Search 24M pre-computed chart pattern embeddings across 15K stocks and 10 years. 19 tools: pattern similarity search, forward returns, regime analysis, anomaly detection, sector rotation, earnings reactions, correlation shifts, scenario analysis, and more. Returns what happened historically when charts looked like this — compliance-safe2221MIT
- AlicenseAqualityBmaintenance24/7 autonomous monitoring and edge detection for prediction markets (Kalshi & Polymarket). Features causal tree analysis, orderbook depth tracking, cross-venue comparison, and real-time alerts.1619612MIT
- AlicenseAqualityDmaintenancePrediction market probability oracle for AI agents. 26 tools across 500+ live markets from Kalshi and Polymarket. Cross-source arbitrage detection, structured TPF signals, Kelly Criterion sizing, agent performance tracking, and webhook alerts.9611MIT