GammaRips Options Intelligence
Server Details
Anti-firehose options-flow data for AI agents: curated daily pool, features, realized outcomes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- DevDizzle/gammarips-mcp
- GitHub Stars
- 0
- Server Listing
- GammaRips Options Intelligence
Available Tools
9 toolsget_daily_reportDaily ReportARead-onlyIdempotentInspect
The daily intelligence report. Two `view`s:
* view="report" (DEFAULT) — the full report (title, markdown content,
scan_date) for `date`, or the most recent report if `date` is omitted.
* view="list" — recent reports, most recent first (scan_date, title,
created_at), titles deduped. Use `limit`.
Args:
date: report date YYYY-MM-DD (report view; default: most recent).
view: "report" (default) | "list".
limit: list view — how many reports (default 10, clamped 1-30).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| view | No | report | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable behavioral detail beyond that: defaulting to the most recent report when date is omitted, deduplicating titles in list view, and clamping limit between 1 and 30. It also describes the fields included in each view, which is useful context.
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 compact, well-structured, and front-loaded with the two main views. The bullet-style view explanations and short Args section convey a lot of information without wasted words or redundancy.
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 absence of an output schema, the description adequately explains both the input parameters and the expected return fields for each view. The annotations cover safety and idempotency, and the description covers behavior, defaults, and constraints, so an agent has a complete picture for using this tool 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?
Schema coverage is 0%, but the description fully compensates by explaining the meaning, format, defaults, and valid values for all three parameters: date uses YYYY-MM-DD, view accepts 'report' or 'list', and limit is clamped to 1-30. This gives the agent everything needed to construct correct calls.
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 provides 'the daily intelligence report' and enumerates two distinct views, 'report' and 'list'. It names the resource, the action, and the available retrieval modes, making it easy for an agent to understand what this tool does and to distinguish it from sibling 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 gives clear internal guidance on when to use 'report' vs 'list' and explains defaults and the limit parameter. However, it does not explicitly contrast this tool with sibling tools like get_playbook or get_signal, nor does it state when this tool should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquidityContract LiquidityARead-onlyIdempotentInspect
FRESH (entry-day) liquidity — the read the pool's session-frozen
`recommended_oi`/`recommended_volume` cannot give you (the overnight sweep
only becomes OI the next morning). Two modes, chosen by whether you pass a
single `contract`:
* `contract` given — ONE contract's snapshot: open interest, session
volume, last trade, day range, underlying price, greeks. Cache-first
(the engine re-reads the pool every ~10 min in market hours); pass
live=true to force a fresh upstream fetch or read a contract NOT in
today's pool.
* `contract` omitted — the WHOLE current pool (or your `contracts`
shortlist, max 60) in ONE call — the batch companion for the ~10:00 ET
decision window. Most-recent read per contract with explicit `as_of`.
Deliberately serves NO bid/ask/mid/spread (not available on the current
data plan — absent, not NULL). Judge fill risk from open_interest (updates
once each morning), day_volume (live session), last_trade recency, and the
day range.
Args:
contract: OCC ticker for the single-contract mode (verbatim from the
pool's `recommended_contract`). Omit for the whole-pool batch.
scan_date: pool date YYYY-MM-DD (batch mode; default: latest pool).
contracts: optional shortlist filter for the batch mode (max 60).
live: single-contract mode — force a fresh upstream fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| live | No | ||
| contract | No | ||
| contracts | No | ||
| scan_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses cache-first behavior with a ~10-minute market-hours refresh cycle, freshness semantics for each field (OI updates once each morning, day_volume is live session), and the critical data quirk that bid/ask/mid/spread are absent rather than NULL. The 'absent, not NULL' distinction and the explicit `as_of` mention are exactly the kind of behavioral context an agent cannot infer from annotations alone.
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 every sentence earns its place — the tool genuinely needs both modes, cache semantics, a data-exclusion caveat, and four parameters explained. Structure is strong: the differentiating lead, bulleted modes, the exclusion paragraph, and an Args block. It loses one point for the grammatically awkward opening ('the read the pool's session-frozen...') and overall density that slightly slows scanning.
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?
The description is complete for a two-mode read tool: it covers what data is served, what is deliberately not served and why, cache/live behavior, the batch shortlist limit, and the temporal decision window. Since an output schema exists, the description need not enumerate return values, and it even hints at the `as_of` field in batch responses. Nothing an agent needs to select and invoke this tool correctly is missing.
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 schema description coverage at 0%, the description carries the full parameter-documentation burden and succeeds completely. Each parameter gets meaning: `contract` is an OCC ticker taken verbatim from the pool's `recommended_contract` and selects single-contract mode, `scan_date` is the pool date with a default of latest pool, `contracts` is a batch shortlist capped at 60, and `live` forces a fresh upstream fetch. Format, mode association, and constraints are all given where the schema gives only types and defaults.
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 names a specific verb and resource — reading FRESH (entry-day) liquidity — and immediately distinguishes it from the session-frozen pool read via `recommended_oi`/`recommended_volume`, which maps to the sibling get_pool. The two modes (single `contract` snapshot vs whole-pool batch) are spelled out with the exact fields returned (open interest, session volume, last trade, day range, underlying price, greeks), leaving no ambiguity about what this tool does.
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 gives explicit when-to-use context: the ~10:00 ET decision window for batch mode, and the overnight-sweep timing explanation for why a fresh read is needed. It also provides mode-selection logic ('chosen by whether you pass a single `contract`'), cache-versus-live guidance (`live=true` to force a fresh fetch or read a contract NOT in today's pool), and a clear when-not ('Deliberately serves NO bid/ask/mid/spread'). Alternatives are implicit via the pool-read contrast rather than named siblings, but the routing guidance is fully actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_calendar_statusMarket Calendar StatusARead-onlyIdempotentInspect
Market-calendar reference. Two `view`s:
* view="status" (DEFAULT) — is the US equity market open today, plus the
next open/close, holiday, and early-close flags (NYSE calendar,
deterministic — no "is the market open?" hallucination).
* view="scan_dates" — which recent scan dates have GammaRips data, with
per-date signal counts (the pool's data-availability calendar).
Args:
view: "status" (default) | "scan_dates".
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: it states the status view is deterministic and intentionally avoids hallucination about market open status, and it describes what each view returns. This gives the agent confidence in the tool's behavior and outputs.
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 compact and well-structured, with a short overview followed by bullet points for each view and an explicit Args section. Every sentence adds useful information, and the most important distinction (the two views) is 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?
The tool has minimal complexity with a single optional parameter and no output schema, but the description covers the purpose, both modes, their outputs, defaults, and the deterministic guarantee. Nothing essential is missing for an agent to select and invoke the tool 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?
Schema description coverage is 0%, so the description must carry the parameter documentation burden. It does so effectively by enumerating the only parameter 'view' with its two allowed values, the default 'status', and a distinct explanation of what each value returns. This fully compensates for the lack of schema-level parameter descriptions or enums.
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 explicitly identifies the tool as a market-calendar reference and details the two views: 'status' for US equity market open status plus next open/close, holiday, and early-close flags, and 'scan_dates' for data-availability calendar with per-date signal counts. This is specific and distinguishes the tool from sibling data-retrieval tools by naming the resource it references.
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 clearly implies when to use each view: use 'status' to check if the US equity market is open, and use 'scan_dates' to find which recent scan dates have GammaRips data. It does not explicitly name alternative sibling tools or state when not to use this tool, but the intended usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playbookMethodology PlaybookARead-onlyIdempotentInspect
Methodology + reference, versioned server-side (re-fetch rather than
caching long-term). Arg-driven:
* `field` given — the plain-English DEFINITION + role of a signal field
(deterministic lookup, no LLM). e.g. field="mom_60". The response's
`available_fields` lists every documented field.
* `name` given — a methodology playbook (markdown) by name, OR two
special reference pages:
- name="schema" (or "data-contract") -> the machine-readable
substrate DATA CONTRACT: every outcome/label column with its
leakage classification (feature|label|opportunity|
regime_telemetry|identity) and as-of boundary. Only `feature`
columns are safe as selection inputs.
- any other name -> the playbook markdown (start-here,
daily-workflow, run-your-own-tournament, exit-lab,
leakage-and-data-contract, changelog).
* neither — the CATALOG of published playbooks (name/title/summary),
plus a pointer to the field dict (`field=`) and schema page.
Args:
name: playbook name, or "schema"/"data-contract" for the data contract.
field: a signal field name to explain (overrides `name`).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| field | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive; the description adds substantial behavioral context: versioned server-side content, a recommendation to re-fetch rather than cache, deterministic no-LLM field lookups, override semantics between `field` and `name`, and the leakage-classification safety rule that only `feature` columns are safe as selection inputs. 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 front-loaded with the tool's essence and uses a compact bullet structure that maps cleanly to the branch logic. Every sentence contributes either a mode, an example, or a constraint; there is no filler.
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 having no output schema, the description explains what each invocation returns: field definitions with an `available_fields` list, markdown playbooks, a machine-readable data contract with leakage classifications, or a catalog with a pointer to the field dictionary. Valid name values are enumerated, making the tool fully callable without external assumptions.
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 description coverage is 0%, so the description carries the full burden. It thoroughly explains `name` with valid special values and concrete playbook names, and `field` with an example and the note that it overrides `name`. This fully compensates for the bare schema.
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 states a specific purpose: a versioned server-side methodology/reference tool that returns field definitions, playbook markdown, the data contract, or a catalog depending on arguments. It clearly differentiates this from data-access siblings like get_signal or get_pool by framing it as the methodological/dictionary resource.
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 gives explicit arg-driven usage rules: use `field` for definitions, `name` for playbooks or the data contract, and neither for the catalog. It also enumerates valid playbook names and special values. It does not explicitly contrast with sibling tools, but the usage context is clear enough that an agent can select this tool confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_poolCandidate PoolARead-onlyIdempotentInspect
The GammaRips candidate pool for a scan date. One tool, four `view`s:
* view="enriched" (DEFAULT) — the AI-enriched pool: news, technicals,
catalyst, the recommended contract (an OTM call chosen on contract
liquidity), and the 60-day momentum feature `mom_60`. Funnel for
scan_date >= 2026-08-24 (liquid-universe era): the 100 most liquid
optionable names, BULLISH only, one call each, roughly 40-50 rows.
Liquidity decides membership, not unusual activity; the $500K UOA
floor is retired and `overnight_score>=1` is a cosmetic floor.
Earlier scan dates come from the prior UOA-gated funnel (UOA>$500K,
top-50 BULLISH); the two eras are not one population.
This is the daily candidate set your agent reasons over to its OWN
contract (see get_playbook("run-your-own-tournament")). Served from a
leakage-safe view (forward-outcome columns physically stripped);
`summary=True` gives ~21 decision columns, `fields=[...]` a strict
projection, `summary=False` full rows, `offset` pages.
* view="raw" — the wide overnight scan BEFORE the pool cut (the ranked
liquid universe for scan_date >= 2026-08-24; the market-wide
unusual-activity scan for earlier dates). Honors `direction`,
`min_score`, `ticker`, `limit`.
* view="features" — point-in-time FEATURE VECTORS from the leakage-safe
allowlist view `enriched_features_v1` (identity + features + cohort
metadata only; no outcome/label/telemetry column can appear). The
quantitative substrate for joining against query_outcomes. Lags the
live pool by ~1-2 trading days.
* view="preview" — a minimal public teaser (ticker, direction, score,
headline, directional UOA) for the most recent scan; no contract
specifics or thesis.
TIER: view="preview" is FREE (no key). The enriched / raw / features views
are the paid product — they require an active pro subscription key; an anon
call to them returns `subscription_required` (get_pool(view='preview') is
named as the free entry point).
Liquidity caveat (all views): `recommended_oi`/`recommended_volume` are
scan-time snapshots, not live values; `recommended_spread_pct` is
permanently NULL on the current data plan — re-check with get_liquidity.
Args:
view: "enriched" (default) | "raw" | "features" | "preview".
scan_date: YYYY-MM-DD (default: latest available scan for the view).
direction: "bull"/"bear" prefix filter (enriched / raw).
ticker: exact ticker filter (enriched / raw / features).
min_score: overnight_score floor (raw view only; clamped 0-10).
limit: max rows (enriched/raw clamp 1-50, features 1-100, preview 1-20).
summary: enriched only — True=compact columns, False=full rows.
fields: enriched only — explicit strict column projection.
offset: enriched only — pagination offset.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | enriched | |
| limit | No | ||
| fields | No | ||
| offset | No | ||
| ticker | No | ||
| summary | No | ||
| direction | No | ||
| min_score | No | ||
| scan_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read-only, idempotent profile, and the description adds substantial non-obvious behavior: anon calls to paid views return subscription_required, enriched is served from a leakage-safe view with outcome columns physically stripped, features lags by 1-2 trading days, the two rule eras are explicitly not one population, and recommended_spread_pct is permanently NULL. This is exactly the contextual depth that annotations alone cannot 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 long, but every section earns its place: a bulleted view taxonomy up front, then tier and caveat paragraphs, then a compact Args block. The structure makes it scannable, and the density is justified for a 9-parameter, four-mode tool with auth gating.
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, the description covers parameters, defaults, clamps, auth gating, null fields, data lag, and era differences, nearly everything needed to invoke it correctly. The only remaining gap is that return row shapes for the raw and features views are not enumerated the way enriched's ~21 decision columns and full-rows behavior are.
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 description coverage is 0%, so the Args block carries the entire burden, and it fully delivers: every one of the 9 parameters gets a value domain, default, view scoping, and clamps (min_score 0-10 raw-only, limit 1-50/100/20 by view, fields as a strict projection, offset enriched-only pagination). This completely compensates for the empty schema descriptions.
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 defines get_pool as the GammaRips candidate pool and breaks it into four clearly distinct views (enriched, raw, features, preview), each with its own role and consumer. It differentiates from siblings inline, pointing to get_playbook for contract selection and get_liquidity for live re-checking, so an agent can tell exactly which resource this tool serves and how it differs.
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 gives explicit when-to-use guidance: enriched is the daily candidate set the agent reasons over, features is the substrate for joining against query_outcomes, preview is named the free entry point, and raw is the pre-cut scan. It also names alternatives with conditions (get_playbook, get_liquidity) and states exclusions like view-scoped filters and the paid-tier requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regime_contextMarket Regime ContextARead-onlyIdempotentInspect
Point-in-time market-regime context for a scan date: VIX close, VIX3M,
SPY trend state, and the 5-day VIX delta — all as-of <= scan_date (the
selection point, leakage-safe), plus the engine's regime safety rail
evaluated on those values.
The rail: the engine fail-closes (no trade) when spot VIX > VIX3M
(backwardation — the market pricing imminent volatility is an adverse
regime for short-dated directional longs).
Served from the labeled substrate, which lags the live pool by ~1-2
trading days. Values are constant per scan_date.
Args:
scan_date: YYYY-MM-DD. Defaults to the latest scan date carrying
regime features.
Returns:
{scan_date, vix_at_scan, vix3m_at_enrich, spy_trend_at_scan,
vix_5d_delta_at_scan, regime_rail_pass, rail_definition}
| Name | Required | Description | Default |
|---|---|---|---|
| scan_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses important behaviors: values are constant per scan_date, data lags the live pool by ~1-2 trading days, and the engine fail-closes when spot VIX exceeds VIX3M. This adds real decision-relevant context that annotations alone do not 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 well organized: a front-loaded summary, a concise explanation of the safety rail, a data-lag caveat, then clear Args and Returns sections. Every sentence contributes useful information without redundancy or filler.
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 single-optional-parameter read-only lookup, the description is complete: it defines the input, defaults, output fields, timing semantics, and the fail-closed rule. An agent has everything needed to call it correctly and interpret the result.
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 provides only a nullable string with no description, but the description fully documents scan_date: its format (YYYY-MM-DD), its role as the selection point, and its default behavior (latest scan date carrying regime features). This fully compensates for the 0% schema description coverage.
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 states a specific verb and resource: it returns point-in-time market-regime context for a scan date, enumerating the exact fields (VIX close, VIX3M, SPY trend, 5-day VIX delta) and the regime safety rail. This makes it clearly distinguishable from sibling tools like get_liquidity or get_signal.
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 gives clear context for when the tool is appropriate: it is a leakage-safe, as-of-scan_date regime lookup that defaults to the latest available scan date, and it is tied to the engine's fail-closed regime check. It does not explicitly name alternatives or state when not to use it, but the intended use is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signalSignal DetailARead-onlyIdempotentInspect
Deep dive on a single ticker/contract. Two `view`s:
* view="detail" (DEFAULT) — the full enriched signal for one ticker:
thesis, catalyst, the recommended contract, and point-in-time
features (leakage-safe view). `full=true` includes the long narrative
(news_summary, flow_intent_reasoning). If the ticker isn't in the
pool for the date, the error lists the dates on which it does appear.
* view="earnings" — the doctrine earnings-window check (RM-003): the
next scheduled earnings date and whether it lands ON OR BEFORE the
contract expiration (`earnings_in_window`). The engine applies this
rail only at its own pick time, NOT in the pool, so pool rows CAN
carry earnings-window names — check every candidate yourself. Pass
the pool's `recommended_contract` and both ticker and expiration are
derived. FAIL-CLOSED: unknown date -> earnings_in_window=null, treat
as in-window.
Args:
ticker: underlying symbol (required for detail; optional for earnings
if `contract` is given).
view: "detail" (default) | "earnings".
scan_date: detail only — YYYY-MM-DD (default: latest for the ticker).
full: detail only — include the long narrative fields.
expiration: earnings only — option expiration YYYY-MM-DD to test.
contract: earnings only — OCC ticker supplying ticker+expiration.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| view | No | detail | |
| ticker | No | ||
| contract | No | ||
| scan_date | No | ||
| expiration | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description goes well beyond this by disclosing fail-closed behavior for unknown earnings dates, leakage-safe point-in-time features, the error behavior when a ticker is missing from the pool, and the distinction between engine-applied rails and pool rows. This is rich, useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a clear opening, a bulleted breakdown of the two views, fail-closed warning, and a compact Args section. There is no filler; every sentence adds either a semantic detail, a default, or a behavioral constraint. Despite its length, it is dense and front-loaded with the most important information.
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 two-view complexity and the presence of an output schema (which removes the need to describe return values), the description is remarkably complete. It covers defaults, parameter combinations, error behavior, edge cases (unknown earnings date), and the rationale for using the earnings view. An agent has everything needed to invoke the tool correctly across both views.
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 description coverage is 0%, so the description carries the full burden of explaining all six parameters. It does this thoroughly: each parameter is named, tied to a view, marked as required/optional, and given a format (e.g., YYYY-MM-DD, OCC ticker). It even clarifies derivations like 'both ticker and expiration are derived' from contract. This fully compensates for the absent schema descriptions.
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 specific verb and resource: 'Deep dive on a single ticker/contract.' It distinguishes itself from sibling list-oriented tools by emphasizing it covers one ticker, and it clearly enumerates the two available 'view's. This is more than sufficient for an agent to understand what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool is for a single ticker/contract deep dive and provides detailed per-view guidance, including when to pass 'ticker' vs 'contract' and how to interpret the earnings check. It references the pool's 'recommended_contract' and tells the user to check every candidate, which implies the screening/listing sibling (get_pool) is the alternative. However, it never explicitly names an alternative tool or states a when-not-to-use condition, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_outcomesRealized OutcomesARead-onlyIdempotentInspect
The realized-outcome + receipts substrate behind the engine. One tool,
nine `view`s. Whole-pool composites under any FIXED exit are NEGATIVE by
construction — these are a research surface (how outcomes distribute
across features and exits), never a strategy track record.
* view="labels" (DEFAULT) — row-level realized bracket LABELS joined to
point-in-time features. horizon "same_day" (live V7.1 GIGO +40/-30) or
"3d" (legacy +80/-60) — never pooled. NULL-label and illiquid rows
excluded (counts in meta). `aggregate_only=True` returns summary stats
instead of rows. Filters: scan_date_from/to, ticker, delta_min/max,
min_overnight_score, exit_reason.
* view="summary" — grouped aggregates over the labeled pool. `group_by`
one of none|delta_bucket|overnight_score|premium_score|exit_reason|
day_of_week|moneyness_bucket.
* view="surface" — the OPPORTUNITY SURFACE: per-contract realized MFE/MAE
excursions with NO exit applied (profit potential, exit free). Uses
scan_date OR a `days` lookback, `ticker`, `delta_min/max`,
`include_open`. `aggregate_only=True` returns MFE/MAE quantiles over
the FULL filtered set — use it for exit design. The row mode is capped
at 200 and truncates oldest-first WITHIN a scan_date, so its oldest
date is a highest-MFE-only slice; it reports `truncated`,
`matched_rows`, and `partial_scan_date` so you can see that happen.
* view="harvest" — the touch-probability curve: P(premium touched +X%)
with CIs, day-of-peak buckets, stop-touch rates. `targets`, `stops`,
date range, delta band.
* view="exit_rule" — RESEARCH-ONLY "bring your exit, we score it":
rule="bracket" (target_pct/stop_pct) or rule="trailing" (trail_pct,
activation_pct) scored against the surface / minute tape.
* view="signal_performance" — UNDERLYING-STOCK direction outcomes for
the broad pool (NOT option PnL). Filters scan_date, ticker, direction,
outcome.
* view="win_rate" — aggregate UNDERLYING-direction win rate over `days`
(NOT option PnL; headline key carries its universe).
* view="positions" — the RECEIPTS: realized (closed) paper trades from
the engine's own daily pick, row-level, cohort-filtered
(`policy_version`, default live). Over `days`, `limit`.
* view="performance" — cohort AGGREGATE of the receipts over `days`
(win rate, avg/median/best/worst), `direction`, `min_premium_score`,
`policy_version`. When the cohort has no closed trades, every aggregate
is `null` and `total_trades` is 0 — NEVER 0.0. A `null` here means "not
measured yet", not "zero percent"; do not render it as a result.
All returns are FRACTIONS (0.40 = +40%). Realized data serves closed
windows only. Paper-traded research data; not investment advice.
Args:
view: which surface (see above). Default "labels".
horizon: "same_day" | "3d" (labels/summary/exit_rule). If omitted, the
native default per view is used: labels/summary => "same_day" (the
live GIGO policy), exit_rule => "3d" (its excursion window).
group_by: summary grouping dimension.
scan_date / scan_date_from / scan_date_to: date filters (per view).
ticker / direction / delta_min / delta_max / min_overnight_score /
exit_reason / outcome: row/aggregate filters (per view).
days: lookback window (surface/win_rate/positions/performance).
limit: max rows (labels 1-200, signal_performance 1-50, positions 1-200).
aggregate_only: labels/surface views — summary stats instead of rows.
On `surface` this is also the only mode immune to the 200-row cap.
include_open: surface view — include not-yet-closed windows.
targets / stops: harvest view — PERCENT grids.
target_pct / stop_pct / rule / trail_pct / activation_pct: exit_rule view.
policy_version: positions/performance cohort filter. The live default
is the PAIR (policy label + cohort start date) — the label alone
does not define the cohort, since disowned cohorts remain in the
ledger under the same label. Responses carry `cohort_start`; a zero
row_count under the live cohort means it has not accrued closed
trades yet, not that there is no track record, and the aggregates
come back `null` rather than 0.0. Pass "all" for every era, but
note that "all" returns cohorts the engine has REPUDIATED — not
merely older exit mechanics — so it is not a track record and must
not be aggregated into one. Read the response `note` before
quoting any number from it.
min_premium_score: performance view floor.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| rule | No | bracket | |
| view | No | labels | |
| limit | No | ||
| stops | No | ||
| ticker | No | ||
| horizon | No | ||
| outcome | No | ||
| targets | No | ||
| group_by | No | none | |
| stop_pct | No | ||
| delta_max | No | ||
| delta_min | No | ||
| direction | No | ||
| scan_date | No | ||
| trail_pct | No | ||
| target_pct | No | ||
| exit_reason | No | ||
| include_open | No | ||
| scan_date_to | No | ||
| activation_pct | No | ||
| aggregate_only | No | ||
| policy_version | No | V7_1_TILTED_GIGO | |
| scan_date_from | No | ||
| min_premium_score | No | ||
| min_overnight_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive, and the description adds substantial behavioral context: returns are fractions, only closed windows are served, row-level surface output truncates oldest-first and reports that truncation, null aggregates mean 'not measured yet' rather than zero, and policy_version carries cohort-start semantics. This is exactly the kind of context that prevents misuse.
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 tightly organized: a front-loaded framing, nine scannable view bullets, and a complete Args list. Every paragraph adds necessary cautions or semantics, and repeated warnings address high-cost misinterpretations rather than padding the text.
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 nine view modes and 26 parameters, the description covers selection criteria, defaults, units, truncation behavior, null semantics, cohort disclaimers, and research-only boundaries. Since an output schema exists, the absence of detailed return-field documentation is acceptable; the description covers everything needed to call the tool 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?
The input schema has 26 parameters and 0% description coverage, so the description carries the full burden. It defines every parameter in the Args section, including valid values for horizon, rule, and group_by, per-view applicability, limit ranges, defaults, and the nuanced behavior of policy_version. This fully compensates for the empty schema descriptions.
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 identifies the tool as querying realized outcomes and receipts across nine distinct views. It distinguishes itself from strategy-performance reporting by emphasizing that pooled composites are a research surface, never a strategy track record. This gives an agent a precise mental model of what resource the tool operates on.
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?
Each view comes with an explicit use case and often a warning: use surface for exit design, harvest for touch probability, positions/performance for receipts, and exit_rule only for research. It also provides strong when-not guidance: never treat repudiated cohorts as track records, do not render null aggregates as 0.0, and do not confuse underlying-direction outcomes with option PnL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_contractContract Price ReplayARead-onlyIdempotentInspect
Raw option price data for YOUR OWN entry/exit rule. This server does NOT
simulate or validate exits — it returns bars (the RM-002/RM-004 boundary).
Two `granularity` modes:
* granularity="minute" (DEFAULT) — the intraday minute path for one
session (`date` required). Optionally pass a bracket (target_pct/
stop_pct, PERCENT of the 10:00 ET anchor) and the response also reports
the exact FIRST-CROSSING sequence measured from the tape. Pool
excursion windows are served from the engine's minute-path table;
anything else falls back to an upstream minute fetch.
* granularity="day" — the DAILY mark series (OHLCV) over a date range,
to mark a live paper position day by day or replay a closed one. Uses
`from_date`/`to_date` (span capped at 120 days); `date` is ignored.
Option tape is THIN — minutes/days with no prints have no bar; treat
touch times as evidence, not tick-perfect truth. Paper-trade research
data; not investment advice.
Args:
contract: OCC option ticker (e.g. "O:UNIT260717C00030000").
date: minute mode — ET session date YYYY-MM-DD (required).
granularity: "minute" (default) | "day".
target_pct: minute mode — optional +X% level for first-crossing.
stop_pct: minute mode — optional -Y% level for first-crossing.
from_date: day mode — start YYYY-MM-DD (default: 30d before to_date).
to_date: day mode — end YYYY-MM-DD inclusive (default: today ET).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| to_date | No | ||
| contract | Yes | ||
| stop_pct | No | ||
| from_date | No | ||
| target_pct | No | ||
| granularity | No | minute |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses important behavioral traits: no exit simulation/validation, reliance on RM-002/RM-004 boundary bars, first-crossing reporting, fallback to upstream minute fetch, and the thin tape caveat that missing bars are not evidence of no activity. This gives an agent realistic expectations about data quality and return semantics.
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 but well-structured with front-loaded purpose, mode bullets, a critical data-quality caveat, and an organized Args list. Every section contributes to correct invocation or interpretation of results; there is no filler or redundant restating of the schema.
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 seven parameters and no schema-level descriptions, the description is remarkably complete. It covers mode selection, parameter defaults and constraints, ignored parameters, output expectations (bars, first-crossing sequence, OHLCV), and data reliability caveats. Since an output schema is reported to exist, the description does not need to enumerate return fields.
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?
Even though schema description coverage is 0%, the description's Args section fully compensates by explaining each parameter: contract format, date requirements, granularity modes, target_pct/stop_pct meaning relative to the 10:00 ET anchor, and from_date/to_date defaults. It also clarifies that date is ignored in day mode, which is not inferable from the schema alone.
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 identifies the resource (raw option price bars) and the operation (replay for a user's own entry/exit rule). It distinguishes itself from simulation/validation tools by explicitly stating this server does NOT simulate or validate exits. The two granularity modes further define its scope, making it unambiguous against sibling get_* 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 gives clear context for when to use each granularity mode: minute for a single session with a required date, and day for marking live or closed paper positions over a date range. It also flags limits such as the 120-day span and thin tape. It does not explicitly name alternative sibling tools or say when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
31 tool updates
- Removed
estimate_exit_rule - Removed
get_available_dates - Removed
get_contract_marks - Removed
get_contract_snapshot - Changed
get_daily_report3 fields changed- added
Input schema / properties / limitAdded value: +{ + "default": 10, + "title": "Limit", + "type": "integer" +} - added
Input schema / properties / viewAdded value: +{ + "default": "report", + "title": "View", + "type": "string" +} - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "get_daily_reportDictOutput", - "type": "object" -}New value: +null
- Removed
get_earnings_window - Removed
get_enriched_signal_schema - Removed
get_enriched_signals - Removed
get_freemium_preview - Removed
get_harvest_curve - Removed
get_historical_performance - Added
get_liquidity - Changed
get_market_calendar_status2 fields changed- added
Input schema / properties / viewAdded value: +{ + "default": "status", + "title": "View", + "type": "string" +} - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "get_market_calendar_statusDictOutput", - "type": "object" -}New value: +null
- Removed
get_opportunity_surface - Removed
get_outcome_summary - Removed
get_overnight_signals - Changed
get_playbook6 fields changed- added
Input schema / properties / fieldAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Field" +} - added
Input schema / properties / name / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / name / defaultAdded value: +null - removed
Input schema / properties / name / typeRemoved value: -"string" - removed
Input schema / requiredRemoved value: -[ - "name" -] - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "get_playbookDictOutput", - "type": "object" -}New value: +null
- Added
get_pool - Removed
get_pool_features - Removed
get_pool_liquidity - Removed
get_position_history - Removed
get_report_list - Added
get_signal - Removed
get_signal_detail - Removed
get_signal_explainer - Removed
get_signal_performance - Removed
get_win_rate_summary - Removed
list_playbooks - Changed
query_outcomes19 fields changed- added
Input schema / properties / activation_pctAdded value: +{ + "default": 0, + "title": "Activation Pct", + "type": "number" +} - added
Input schema / properties / daysAdded value: +{ + "default": 30, + "title": "Days", + "type": "integer" +} - added
Input schema / properties / directionAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Direction" +} - added
Input schema / properties / group_byAdded value: +{ + "default": "none", + "title": "Group By", + "type": "string" +} - added
Input schema / properties / horizon / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / horizon / defaultPrevious value: -"same_day"New value: +null - removed
Input schema / properties / horizon / typeRemoved value: -"string" - added
Input schema / properties / include_openAdded value: +{ + "default": false, + "title": "Include Open", + "type": "boolean" +} - added
Input schema / properties / min_premium_scoreAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Min Premium Score" +} - added
Input schema / properties / outcomeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Outcome" +} - added
Input schema / properties / policy_versionAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": "V7_1_TILTED_GIGO", + "title": "Policy Version" +} - added
Input schema / properties / ruleAdded value: +{ + "default": "bracket", + "title": "Rule", + "type": "string" +} - added
Input schema / properties / scan_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Scan Date" +} - added
Input schema / properties / stop_pctAdded value: +{ + "default": 30, + "title": "Stop Pct", + "type": "number" +} - added
Input schema / properties / stopsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Stops" +} - added
Input schema / properties / target_pctAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Target Pct" +} - added
Input schema / properties / targetsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Targets" +} - added
Input schema / properties / trail_pctAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Trail Pct" +} - added
Input schema / properties / viewAdded value: +{ + "default": "labels", + "title": "View", + "type": "string" +}
- Changed
replay_contract7 fields changed- added
Input schema / properties / date / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / date / defaultAdded value: +null - removed
Input schema / properties / date / typeRemoved value: -"string" - added
Input schema / properties / from_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "From Date" +} - added
Input schema / properties / granularityAdded value: +{ + "default": "minute", + "title": "Granularity", + "type": "string" +} - added
Input schema / properties / to_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "To Date" +} - changed
Input schema / requiredPrevious value: -[ - "contract", - "date" -]New value: +[ + "contract" +]
- Removed
web_search
29 tool updates
- First observed
estimate_exit_rule - First observed
get_available_dates - First observed
get_contract_marks - First observed
get_contract_snapshot - First observed
get_daily_report - First observed
get_earnings_window - First observed
get_enriched_signal_schema - First observed
get_enriched_signals - First observed
get_freemium_preview - First observed
get_harvest_curve - First observed
get_historical_performance - First observed
get_market_calendar_status - First observed
get_opportunity_surface - First observed
get_outcome_summary - First observed
get_overnight_signals - First observed
get_playbook - First observed
get_pool_features - First observed
get_pool_liquidity - First observed
get_position_history - First observed
get_regime_context - First observed
get_report_list - First observed
get_signal_detail - First observed
get_signal_explainer - First observed
get_signal_performance - First observed
get_win_rate_summary - First observed
list_playbooks - First observed
query_outcomes - First observed
replay_contract - First observed
web_search
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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 Connectors
Live trading-pipeline intelligence for AI agents: signal scoring, calibration, recorded outcomes.
Point-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.
Prediction markets, on-chain flows, ETF flows, equities and macro intelligence for AI agents.
Audited SEC catalyst signals for agents — ranked filing intel with a public track record. Free tier.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides actionable financial intelligence tools for AI agents including insider buying signals, earnings IV plays, market pulse, stock analysis, and options strategies via free public data sources.6MIT
- AlicenseAqualityDmaintenanceFinancial intelligence for AI agents. 31 tools across 8 data sources — regime, derivatives, stablecoin flows, momentum, volatility, macro, DeFi, weather patterns, political cycles, seasonality. The context layer between your agent and a bad trade.31199MIT
- AlicenseAqualityAmaintenancePre-computed financial market intelligence for AI agents. Stocks, crypto, and ETFs.91675MIT

Veynor MCP Serverofficial
FlicenseNot gradedqualityDmaintenancePrediction market intelligence for AI agents, enabling real-time access to whale trades, market data, signals, and AI-synthesized analysis from Kalshi and Polymarket via a standardized protocol.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool owns a clearly distinct surface: reports, liquidity, market calendar, methodology, pool data, regime context, per-ticker signals, outcome research, and raw price replay. Even the closest neighbors (get_pool, get_signal, get_daily_report) are separated by pool-wide versus single-ticker versus report granularity, and the view parameters remove ambiguity.
Seven tools follow a consistent get_<noun> pattern, while query_outcomes and replay_contract deviate with a different verb style. All names are snake_case and predictable, so this is a minor inconsistency rather than chaotic naming.
Nine tools is well within the ideal range for an intelligence and research server. Each tool earns its place, covering a distinct part of the workflow without bloat or thinness.
The toolset covers the full research workflow: market/reference context, methodology, candidate pool, live liquidity, per-ticker signals, regime context, outcome research, and raw price replay for custom exit rules. There are no obvious dead ends or missing lifecycle steps for the server's stated purpose.