Skip to main content
Glama

Server Details

Live US sector rotation: 30 sector baskets ranked every session, versioned rosters, daily record.

Ownership verified
Status
Healthy
Uptime
100.0% over 62 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation4/5

get_history (time series for a date, daily or 5-min), get_roster (basket constituents by version), and get_sectors (all 30 baskets now) have clearly distinct targets. The one wrinkle is get_summary vs get_sectors, which surface overlapping board data and differ mainly by auth tier and row scope, though the descriptions explicitly spell out that distinction.

Naming Consistency5/5

All four tools follow a strict get_<resource> snake_case pattern with no deviations. The noun in each name maps directly to the object returned (history, roster, sectors, summary).

Tool Count4/5

Four tools is a tight, well-scoped surface where each tool has a clear job and no obvious filler. It sits at the thin end for a data API with both current-board and historical views, but nothing feels redundant.

Completeness3/5

Core reads are covered: current board, summary glance, per-date history, and basket membership. But there are notable gaps — history is strictly one date at a time (no range/bulk query), there is no per-ticker quote or constituent move lookup, and no way to list available roster versions, so callers must already know a version string.

Available Tools

4 tools
get_historySector history for a dateAInspect

Daily close record for one date (rank, % move, breadth per sector; close ranks only before 2026-07-31), or the 5-minute intraday rows with intraday=true. Daily from 2026-07-21, intraday from 2026-08-19, never backfilled. Requires a paid Sector API key (founding tier or a call pack); free keys cover get_sectors and get_roster.

NameRequiredDescriptionDefault
dateYesYYYY-MM-DD, ET trading day
intradayNotrue = 5-minute rows instead of the daily close

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals that close ranks exist only before 2026-07-31, daily data starts 2026-07-21, intraday data starts 2026-08-19, and data is never backfilled. It also states the key requirement. It does not mention error behavior or response format, but the availability quirks are well covered.

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

Conciseness4/5

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

The description is only two sentences, but the first is dense with parentheticals and multiple clauses, making it slightly harder to parse. Still, every sentence earns its place: the first covers the core functionality and data quirks, the second covers access requirements and sibling alternatives. It could be restructured for readability but is not excessive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does a good job explaining what daily rows contain (rank, % move, breadth per sector) and the intraday mode. It also includes availability dates, backfill status, and key constraints. Gaps include the intraday row structure and behavior for dates outside the available range (empty vs. error), but these are secondary for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does add that intraday=true returns '5-minute intraday rows', but the schema already says 'true = 5-minute rows instead of the daily close', so this is redundant. The date parameter's meaning is not expanded beyond the schema's pattern and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a daily close record for one date (with rank, % move, and breadth per sector) or 5-minute intraday rows when intraday=true. It distinguishes itself from siblings by noting that free keys cover get_sectors and get_roster, implying this is the paid history tool.

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

Usage Guidelines4/5

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

The description explicitly says a paid Sector API key is required and free keys cover the sibling tools, which tells an agent when not to use this tool. It also warns that data is never backfilled and gives start dates, clarifying when historical data is available. It does not directly state 'use this instead of X', but the context is sufficient.

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

get_rosterBasket roster (versioned)AInspect

The ticker lists behind each sector basket, versioned and immutable: pass a version to see exactly what a basket contained at that time. Requires a Sector API key.

NameRequiredDescriptionDefault
versionNoArchived roster version; omit for current

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden. It mentions 'immutable' and 'versioned', implying a read-only historical retrieval. It clearly indicates the behavior of returning historical snapshots when a version is supplied, though it does not explicitly state side effects (e.g., no modifications).

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

Conciseness5/5

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

The description is concise—two sentences—and front-loads the core purpose. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately explains what the tool returns (ticker lists) and the versioning concept. It lacks an explicit output schema, but for a simple retrieval tool this is acceptable. The context is sufficient for an agent to understand when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'version' is fully described in both the schema ('Archived roster version; omit for current') and the tool description ('pass a version to see exactly what a basket contained at that time'). The semantics are unambiguous and complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns ticker lists (roster) behind sector baskets, with versioning support. It is specific and distinguishes from sibling tools like get_history and get_sectors.

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

Usage Guidelines4/5

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

The description explains when to pass the version parameter ('to see exactly what a basket contained at that time') and when to omit it ('for current'). It also notes the API key requirement, but does not explicitly contrast with sibling tools, though the purpose is clear enough.

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

get_sectorsLive sector boardAInspect

All 30 Sector Pulse baskets right now: average % move, median, breadth, and three rank bases per sector (session rank, close-basis rank, previous close rank). Same data as the public board. Requires a Sector API key; a free key comes by email from the docs page.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden and adequately conveys that this is a non-mutating data retrieval requiring a Sector API key. It also manages expectations by noting the data matches the public board. Minor omissions like rate limits or exact response envelope are acceptable for a zero-parameter read-only tool.

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

Conciseness5/5

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

The description is two tight sentences with no filler. The first sentence concentrates the essential snapshot information, and the second adds the only operational caveat needed (API key). It is front-loaded and every clause contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with no output schema, the description is remarkably complete: it specifies the object set (30 baskets), the exact data fields, the live nature of the data, and the access requirement. Nothing an agent needs to select or invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty, and the tool has no parameters, so the description does not need to explain parameter behavior. The zero-parameter baseline of 4 applies, and the description appropriately focuses on the returned data rather than inventing unnecessary parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool returns: a live snapshot of all 30 Sector Pulse baskets with specific metrics such as average % move, median, breadth, and three rank bases. This distinguishes it from the sibling tools get_history and get_roster by both resource type and time-frame.

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

Usage Guidelines4/5

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

The phrase 'right now' and the title 'Live sector board' make the current-snapshot use case clear, and the API-key requirement provides a concrete precondition for invocation. It does not explicitly name alternative tools or exclusion conditions, but the usage context is unambiguous enough for correct selection.

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

get_summarySector rotation summary (no key needed)AInspect

The public read of the Sector Pulse board, no API key: which of the 30 US sector baskets leads right now and which lags (average % move and breadth), how many are green, and the latest close's leader and laggard. For all 30 rows use get_sectors with a key.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations supplied, the description carries the disclosure burden and does the most important part: it declares this is a public read requiring no API key, and scopes the output to a summary of 30 US sector baskets plus the latest close. It leaves unstated the read-only/mutation profile in explicit terms (only implied by 'read'), any rate limits or caching, and what happens on failure.

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

Conciseness5/5

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

Two sentences, both earning their place: the first front-loads the no-key access condition and the returned content, the second routes to the key-based alternative. No filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe returns — and it does, naming the leader/laggard comparison, the metrics (average % move, breadth), and the green count. Combined with the explicit key requirement, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline applies. No misleading hints about inputs are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('public read of the Sector Pulse board') and enumerates exactly what the payload contains: leading/lagging sector baskets with average % move and breadth, the green count, and the latest close's leader and laggard. It explicitly contrasts itself with get_sectors, so an agent can separate the two without opening either schema.

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

Usage Guidelines5/5

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

Gives the selecting condition directly: use this when no API key is available or a summary is wanted, and use get_sectors with a key when all 30 rows are needed. Both the when and the alternative are named explicitly.

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.

  1. 1 tool update
    • Addedget_summary
  2. 3 tool updates
    • First observedget_history
    • First observedget_roster
    • First observedget_sectors

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Live US sector rotation for agents: 30 US equity sector baskets ranked by average move every session, versioned basket rosters, and a daily close record since July 2026 that is never backfilled. Hosted MCP server (Streamable HTTP); this repository holds the docs, config and registry server.json.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Daily stock screens, RS ratings, market breadth and group rankings for 12 markets. No API keys.
    20
    9
    413
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources