TradeApes
Server Details
Stock health scores, valuation verdicts, sector rankings and analyses for 8,000+ US companies.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool has a distinct focus: search_tickers for discovery, list_sectors/rank_sector for sector browsing, and get_analysis/get_score_card/get_valuation for per-ticker detail. The only real overlap is that both get_score_card and get_valuation surface a valuation verdict and fair value, so an agent may occasionally hesitate over which to call, though the descriptions clarify that one is a broad health card and the other is a deep valuation rationale.
All six tools follow a consistent snake_case verb_noun pattern (get_analysis, get_score_card, get_valuation, list_sectors, rank_sector, search_tickers). The verbs are semantically appropriate and predictable across the set.
Six tools is well-scoped for a read-only stock research server, with a clean split between discovery (search_tickers, list_sectors, rank_sector) and per-ticker detail (get_score_card, get_valuation, get_analysis). Each tool earns its place without redundancy.
The surface covers the core research lifecycle: find tickers, browse sectors, rank companies, then pull score card, valuation, and analysis article. Minor gaps exist—no cross-ticker screening/filtering by score or comparison tool—but agents can work around these using rank_sector and search_tickers.
Available Tools
6 toolsget_analysisGet the published AI-written analysisARead-onlyIdempotentInspect
The full TradeApes analysis article for a ticker when one is public: markdown text, article date, whether a newer filing has superseded it, and the article URL. Does not generate one.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the operation as read-only, idempotent, non-destructive, and closed-world, so the safety profile is clear. The description adds useful behavioral context by listing the returned content (markdown text, article date, superseded flag, URL) and clarifying that it does not generate an article. It does not cover error behavior or auth requirements, but the annotations lower the burden.
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 one tightly constructed sentence that front-loads the main purpose and packs the return fields efficiently. The closing 'Does not generate one' is short and adds a meaningful boundary without waste.
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 simple one-parameter retrieval tool with no output schema, the description does the important work of explaining what is returned and that no generation occurs. The main remaining gap is the undefined ticker format and the exact behavior when no public article exists, though 'when one is public' partially signals that condition.
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 provides no description for the single ticker parameter, and the description only repeats that the article is 'for a ticker.' It does not specify ticker format, casing, exchange qualifiers, or any other semantic detail beyond what the parameter name already implies.
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 retrieval action: fetching the full TradeApes analysis article for a ticker when one is public. It clearly names the resource (AI-written analysis article) and even clarifies that it does not generate one, which helps separate it from generation tools. However, it does not explicitly distinguish itself from siblings like get_score_card or get_valuation.
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 phrase 'when one is public' gives a clear precondition for use, and 'Does not generate one' signals a limitation. But it does not name alternatives or explain what to do when no public article exists, leaving usage guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_score_cardGet a stock's TradeApes score cardBRead-onlyIdempotentInspect
Health score (0-100), five pillar scores, valuation verdict (Undervalued / Fair Value / Overvalued / Inconclusive) with confidence, estimated fair value when published, key findings, next earnings date and the card URL for one US-listed ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Ticker symbol, e.g. AAPL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds two genuinely useful behavioral facts beyond that: only US-listed tickers are supported, and fair value is present only 'when published' (i.e., conditionally null). It says nothing about latency, rate limits, or failure modes for unsupported tickers.
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?
A single tight sentence with no filler, and the scope clause ('for one US-listed ticker') is placed at the end where it qualifies the whole list. It loses a point only because the front of the sentence is a field dump rather than a statement of what the tool does.
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?
There is no output schema, so the description carries the full burden of describing returns, and it does so adequately: score range (0-100), the five pillars, the four verdict values, confidence, conditional fair value, findings, earnings date, and URL. Missing only how to interpret the pillar scores and what the card looks like when data is thin.
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 one parameter at 100% schema coverage the baseline is 3, but the description adds real semantics the schema lacks: the ticker must be US-listed, and the call returns data for exactly one ticker (no batch). That constrains input choice in a way 'Ticker symbol, e.g. AAPL' does not.
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 is a noun-phrase enumeration of card contents rather than a verb+resource statement; the action ('get') is only recoverable from the name and title. It does scope the tool to 'one US-listed ticker', which helps, but it never distinguishes this composite card from siblings like get_analysis or get_valuation, whose outputs it partially overlaps.
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?
There is no statement of when to call this versus get_analysis, get_valuation, or rank_sector, and no prerequisites or exclusions. An agent must infer from the field list that this is the all-in-one summary card.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_valuationGet a stock's valuation detailBRead-onlyIdempotentInspect
The valuation verdict and why: zone, confidence, the basis of the verdict, the engine's estimate (point or range) and the methods that drove it, plus a one-sentence explanation when no single fair value is published.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive). The description adds useful behavioral context by describing the output composition—point or range estimates, driving methods—and an edge case where no single fair value is published. This is valuable 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?
It is a single dense sentence front-loaded with the core concept 'valuation verdict and why,' followed by a colon-delimited list. It is efficient, though the list of return fields makes it slightly heavier than necessary.
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 appropriately explains what is returned, including an edge case. However, it omits any input guidance for ticker and does not address when to use this tool versus sibling tools, leaving gaps for an agent despite the tool's low 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 input schema has one parameter (ticker) with 0% description coverage, and the description does not explain the parameter at all. While 'ticker' is largely self-explanatory, the description fails to compensate for the missing schema documentation and provides no format or scope guidance.
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 the resource clearly by enumerating valuation outputs (zone, confidence, basis, estimate, methods), but it lacks an explicit action verb and does not differentiate this tool from siblings such as get_score_card or get_analysis. An agent can infer it retrieves valuation detail, but the purpose is framed as return content rather than a distinct action.
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?
There is no guidance on when to call this tool versus alternatives. The description does not mention get_score_card, get_analysis, or any condition that would select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectorsList sectorsARead-onlyIdempotentInspect
The sector names TradeApes uses, with the number of scored companies in each.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, idempotent, closed-world operation. The description adds that results include scored-company counts, but does not clarify ordering, completeness, or other behavioral details 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 a single, front-loaded sentence with no wasted words. It efficiently conveys the core output content.
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 simple, parameterless, read-only listing tool with annotations covering safety, the description is nearly complete. It states the return content (sector names plus scored-company counts), though it omits minor details like ordering or whether all sectors are guaranteed to be included.
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 tool has zero parameters, so there are no parameter semantics to explain. The description appropriately does not invent parameter details, matching the baseline for parameterless 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 specific resource (sector names) and adds useful scope detail (number of scored companies in each). It does not explicitly distinguish this tool from siblings such as rank_sector, so it falls short of a 5.
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?
There is no guidance on when to use this tool versus alternatives like rank_sector or search_tickers. The listing nature implies discovery use, but no explicit conditions or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_sectorRank a sector by health scoreARead-onlyIdempotentInspect
Top companies in a sector by TradeApes health score with valuation verdicts, and this week's biggest score changes. Use list_sectors for valid sector names.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| sector | Yes | e.g. Technology, Financials, Healthcare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered and the description does not contradict it. The description adds genuine context about result composition (verdicts, this week's biggest score changes). It says nothing about sort order, how the limit is applied, or whether the weekly change section appears for every sector.
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?
Two sentences, no filler, with the primary output front-loaded and the sibling reference placed after it. Every clause adds information the agent would otherwise have to guess.
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 read-only two-parameter tool with no output schema, the description reasonably conveys the return shape (ranked companies, valuation verdicts, weekly score changes). The gaps are the semantics of limit and the sort/pagination behavior, which an agent needs in order to size and interpret the response 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 only 50%: 'sector' is documented in the schema with examples, while 'limit' has no description in either place beyond default/min/max constraints. The description never explains what limit counts (companies returned?) or whether the ranking is descending by score, so the undocumented parameter is left entirely to inference.
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 output: top companies in a sector ranked by TradeApes health score, plus valuation verdicts and weekly score changes. That clearly separates it from get_score_card, get_valuation and search_tickers. The verb is only implicit ('top companies'), but the resource and ranking basis are 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?
It supplies a concrete prerequisite and explicit sibling routing: 'Use list_sectors for valid sector names', which prevents a guess-a-name failure mode. There are no when-not conditions or alternatives for retrieving a single company's score, but the guidance that exists is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tickersSearch tickers by name or symbolBRead-onlyIdempotentInspect
Find US-listed tickers matching a company name or symbol fragment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and non-open-world behavior. The description adds one useful behavioral constraint: results are limited to US-listed tickers. It does not cover return format, result ordering, or rate limits.
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?
A single, front-loaded sentence that conveys the key matching semantics without any wasted words. It is appropriately sized for a simple search tool.
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 two-parameter search tool with no output schema and rich annotations, the description covers the core purpose and query semantics. However, it omits any mention of the limit parameter and does not describe return values (e.g., what fields each ticker includes), leaving gaps an agent might need.
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 fully explain both parameters. It clarifies that 'query' matches a company name or symbol fragment, but the 'limit' parameter (default 8, max 20) is completely undocumented in both schema and 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 states a specific verb ('Find'), resource ('US-listed tickers'), and matching scope ('company name or symbol fragment'). It distinguishes from siblings like get_analysis or list_sectors by focusing on ticker discovery, though it doesn't explicitly name alternatives.
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 is implied—use this to look up tickers when you have a name or symbol fragment—but there is no explicit guidance on when to use this versus sibling tools or any exclusions. No conditions or alternatives are mentioned.
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.
6 tool updates
- First observed
get_analysis - First observed
get_score_card - First observed
get_valuation - First observed
list_sectors - First observed
rank_sector - First observed
search_tickers
Related MCP Connectors
Fair value, valuation status and quality score for 40,000+ stocks, plus your watchlist and alerts.
Free stock, ETF & crypto analysis: 10-point score, verdict and key metrics for any ticker.
Value-investing research: fair values, valuation verdicts, quality scores and 13F portfolios
Free US stock research: snapshots, Titan Score valuation scorecards, 37 screeners, daily lists.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAnalyze stocks with financial ratios, comparisons, and sector performance data.5 npm45 PyPIMIT

EvidInvestofficial
AlicenseNot gradedqualityBmaintenanceSEC-filed financial statements back to 1985 for US-listed companies, plus global coverage, every number cited to its filing with an accession number. 59 tools for income statements, balance sheets, cash flow, growth rates, valuation (DCF, reverse DCF, comparables, fair-value range), SEC filing and earnings-call search, supply chains, 13F holders, options positioning and thesis monitoring.MIT- AlicenseAqualityAmaintenanceDaily stock screens, RS ratings, market breadth and group rankings for 12 markets. No API keys.206404Apache 2.0
- AlicenseAqualityBmaintenancePre-computed financial market intelligence for AI agents. Stocks, crypto, and ETFs.976 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.