ALK Trading
Server Details
Read-only ALK Trading signals, published track record, stored backtests and strategy rules.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool serves a clearly distinct purpose: explaining strategies, retrieving saved backtests, fetching live signals, accessing track records, listing strategies, or searching content. There is no overlap in functionality or output, and descriptions emphasize the differences.
All tool names follow a consistent verb_noun pattern (explain_strategy, get_backtest, get_signals, get_track_record, list_strategies, search_content). The pattern is predictable and easy to parse.
With six tools, the server is well-scoped for its educational trading purpose. Each tool covers a unique aspect without redundancy or excessive granularity.
The set covers strategies, signals, backtests, track records, and content search, providing a complete surface for educational trading information. However, there is no tool to fetch real-time market data or execute trades, which might be expected but is outside the stated educational scope.
Available Tools
6 toolsexplain_strategyExplain a strategyARead-onlyIdempotentInspect
Plain-English rules for one ALK strategy: the rule, long trigger, short trigger and the market it suits.
| Name | Required | Description | Default |
|---|---|---|---|
| strategy | Yes | Strategy id, name or badge (see list_strategies) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real value beyond that by specifying the shape of the returned content (plain-English rule, long trigger, short trigger, suitable market), which is the kind of behavioral detail an agent needs and that annotations cannot express.
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 dense sentence that front-loads the output type and then lists the exact fields returned. Nothing is wasted and no sentence is padding.
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 usefully enumerates the return fields, and the one required parameter is fully covered by the schema. Safety semantics come from annotations. The only missing piece is explicit sibling routing, which the schema partially supplies.
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 100% and the single parameter is fully documented in the schema, including that it accepts an id, name or badge and points at list_strategies. Per the rubric, that sets the baseline at 3; the prose adds no format or resolution detail beyond the 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?
States a specific verb (explain) and resource (one ALK strategy), and even enumerates what the explanation contains: rule, long trigger, short trigger, market. That makes it recognizable as a per-strategy detail view rather than a listing. It never names the sibling it is distinguished from (list_strategies), so it stops 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?
The phrase 'for one ALK strategy' implies a single-strategy lookup, which conveys usage indirectly. There is no explicit when-to-use vs. when-to-use-an-alternative statement in the description; the only routing hint ('see list_strategies') lives in the schema, not the prose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backtestStored backtest scoresARead-onlyIdempotentInspect
Stored historical backtest scores for one ticker (as shown on alktrading.com/scorecards). Reads saved results only; never runs a new backtest. Past results do not predict future results.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Symbol, e.g. NVDA or BTC-USD | |
| strategy | No | Optional strategy id from list_strategies | |
| timeframe | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the description's credit comes from adding that no computation is triggered and results are purely previously-saved data. The disclaimer about past results is contextual honesty rather than behavioral detail, but the 'never runs a new backtest' guarantee is a real addition beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding; the core scope comes first. The trailing disclaimer is boilerplate-adjacent but brief enough not to hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description doesn't need to explain a return shape beyond naming what is returned (scores). Combined with the read-only annotations, an agent has enough to call it correctly; the unlabeled timeframe enum is the only real residual gap.
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 67%: ticker and strategy carry schema descriptions, but the timeframe enum has none. The description adds the constraint that only one ticker is handled per call, which is meaningful, but it says nothing about the timeframe value or the strategy id format beyond the schema's pointer to list_strategies.
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?
States a concrete verb and resource ('stored historical backtest scores for one ticker') with a source reference (alktrading.com/scorecards). It clearly distinguishes itself from the act of running a backtest, though it does not explicitly differentiate from siblings like get_track_record, which a reader might confuse it with.
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 line 'Reads saved results only; never runs a new backtest' gives useful negative guidance about what the tool will not do, but there is no explicit when-to-use or alternative routing (e.g. vs get_track_record or get_signals). Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signalsCurrent ALK signalsARead-onlyIdempotentInspect
Today's live setups from the ALK board (the same list alktrading.com/today shows): ticker, side, rule, entry, stop and status. Educational only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional cap applied after the public /today list. Omit it to return that full list. | |
| market | No | stocks | |
| ticker | No | Optional symbol filter, e.g. NVDA or BTC-USD | |
| timeframe | No | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds that the data mirrors a public external list and is educational only, which is useful context. It says nothing about refresh cadence, rate limits, or auth requirements.
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 short sentences, front-loaded with the resource and its scope, then the concrete payload fields, then a brief disclaimer. No filler or repetition of the title, though the parenthetical URL reference is slightly more verbose than strictly 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?
There is no output schema, but the description compensates by enumerating the returned fields, which is the key thing an agent needs to know. All four inputs are documented structurally (descriptions or enums), and the read-only nature is covered by annotations. Only the freshness semantics of "today's" list are left implicit.
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 50%: 'limit' and 'ticker' carry schema descriptions, while 'market' and 'timeframe' have enums with defaults that largely self-document their accepted values. The description adds no parameter-level meaning at all — the field list refers to output columns, not inputs. With structured fields doing the work, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: "Today's live setups from the ALK board", with the concrete returned fields (ticker, side, rule, entry, stop, status) spelled out. It also anchors the content to a known public page (alktrading.com/today). It does not explicitly contrast itself with siblings like get_backtest or get_track_record, but those are clearly distinct activities.
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?
"Today's live setups" implies the when-to-use context (current day, live signals as opposed to historical backtests or strategy listings), so the usage is inferable. However, there is no explicit when-not-to-use guidance and no named alternative among the siblings for the historical/strategy cases. "Educational only" is a disclaimer rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_recordPublished signal recordARead-onlyIdempotentInspect
Closed signals from the public record at alktrading.com/record (published since Oct 6, 2026): entry, original stop, dated stop moves, exit, reason and result in R. Losses included.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| ticker | No | Optional symbol filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely useful context beyond that: the data source URL, the publication cutoff date, the exact fields the record contains, and notably that losses are included, which tells the agent the record is not survivorship-biased.
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 defines the resource before listing returned fields, with the 'Losses included' caveat placed last where it reads as a clarifying qualifier. Dense but every clause carries information; only the parenthetical source URL is slightly incidental.
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 does the work of describing the return payload (entry, stops, exit, reason, result in R), so an agent knows what it will receive. Pagination behavior and the meaning of the limit parameter are the only real omissions, and both are minor for a read-only record lookup.
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 50% (ticker documented, limit not). The description adds no parameter meaning at all, but the schema itself supplies limit's type, default and 1-100 bounds, so the gap is partial rather than total. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource: it returns closed signals from a published public record, and enumerates the returned fields (entry, original stop, dated stop moves, exit, reason, result in R). It is distinguishable from get_signals by the word 'closed' and the 'public record' framing, but it never explicitly names or contrasts the 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?
There is no when-to-use or when-not-to-use guidance. An agent is not told how this differs from get_signals or get_backtest, nor under what user intent (verifying published performance, auditing results) it should be preferred. Usage is only vaguely inferable from the phrase 'public record'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_strategiesList ALK strategiesBRead-onlyIdempotentInspect
The public rule set ALK signals are built from: id, name, badge and a one-line summary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed read (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the safety profile is covered. The description adds value by characterising the result as a lightweight summary listing rather than full strategy detail, but says nothing about completeness, ordering, or pagination.
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 that front-loads the resource before the field list, with no filler. It is slightly under-specified rather than padded, which is a mild fault on this dimension.
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 carries the burden of explaining returns, and it does name the four fields an agent will receive. For a zero-argument, read-only list tool this is close to sufficient; only ordering, volume, and pagination behaviour are unstated.
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 takes zero parameters, so the baseline is 4 by rule. There is no parameter semantics for the description to clarify or omit.
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 identifies the resource precisely — the public rule set that ALK signals derive from — and enumerates the fields returned (id, name, badge, summary). It reads as a noun phrase rather than an explicit 'list' action, and it does not distinguish itself from siblings like explain_strategy or get_signals, but the resource is 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?
There is no indication of when to call this versus explain_strategy, get_signals, or get_backtest, and no prerequisites or exclusions are stated. An agent must infer from the name alone that this is the entry-point enumeration tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contentSearch ALK contentBRead-onlyIdempotentInspect
Search ALK's public articles, strategy explanations and key pages. Returns titles, short snippets and alktrading.com links.
| 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 readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered elsewhere. The description's contribution is the scope ('public') and the return shape (titles, snippets, alktrading.com links), which is genuinely useful with no output schema present, but it says nothing about result limits or ranking behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler: the first defines the searchable corpus, the second defines the return shape. Front-loaded and appropriately sized for a simple two-parameter 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 low-complexity search tool with full annotation coverage and no output schema, the description adequately covers purpose and returns. It remains incomplete regarding sibling disambiguation and parameter constraints, which is the main gap given the low schema coverage.
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 burden of explaining the two parameters — and it explains neither. Nothing is said about query syntax/length constraints (min 2, max 200) or the limit parameter's default of 5 and maximum of 10, leaving the agent to read the raw 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 names a specific verb and resource set — search across ALK's public articles, strategy explanations, and key pages — which reads clearly as content discovery rather than the structured lookups the siblings provide. It stops short of differentiating itself from explain_strategy or list_strategies, whose content ('strategy explanations') it explicitly claims to search.
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 when-to-use guidance, no stated preconditions, and no mention of alternatives, even though explain_strategy and list_strategies overlap with the 'strategy explanations' corpus this tool searches. The agent must infer that this is the discovery tool and the siblings are the fetch tools.
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
explain_strategy - First observed
get_backtest - First observed
get_signals - First observed
get_track_record - First observed
list_strategies - First observed
search_content
Related MCP Connectors
Read-only access to your own TTMT trading data: trades, signals, channels, performance and risk.
Read-only impersonal market research: portfolio rankings, ticker scores, signals, daily briefs.
Trades, stats, playbooks and notes from your Trandence trading journal. Read-only by default.
Read-only market research: index funds, event cards, CLOB data, fund analytics. No orders.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides read-only investment research and audit tools for validating ETF snapshots, comparing ETF structures, and auditing backtest reports, while strictly excluding any order or trading capabilities.41MIT
- AlicenseAqualityAmaintenanceInvestment decision tools for AI agents: portfolio status, isolated multi-agent committee analysis, auditable verdict history, and lookahead-protected backtests. Advisory only, no auto-trading; negative research results published.222,006 PyPI114MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only querying of live brokerage state across Alpaca and Kraken, including account balances, positions, order history, and combined exposure summaries.MIT
- FlicenseNot gradedqualityCmaintenanceEnables Claude and ChatGPT users to query technical indicators, strategy signals, and symbol comparisons for stocks and crypto through a read-only backend, returning readable summaries and JSON snapshots.-
Glama MCP Gateway
Add one secure layer between your agents and this server.