decker
Server Details
Deterministic market-state engine for trading agents — state, gate, coordinates, with receipts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- gigshow/decker-ai
- GitHub Stars
- 3
- Server Listing
- Decker
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 9 of 9 tools scored.
All nine tools have clearly distinct purposes: get_assembly provides multi-timeframe assembly; get_market_state gives raw engine state; get_reading offers AI-synthesized language; get_signals returns active trading signals; get_state_timeline shows per-bar state history; get_user_skills lists skill overlays; get_view provides a composed view; set_skill_overlay changes the active skill; and validate_intent checks pre-trade intent. No two tools overlap in functionality.
Tool names follow a consistent verb_noun pattern in snake_case: all get_* tools for reading operations, set_skill_overlay for modification, and validate_intent for checking. The naming is predictable and uniform across the server.
With 9 tools, the server is well-scoped for its trading analysis domain. Each tool covers a distinct aspect of the data surface (state, reading, signals, timeline, skills, view, intent validation), and the count is within the ideal 3-15 range.
The tool surface is comprehensive: it provides raw state (get_market_state, get_state_timeline), interpreted views (get_reading, get_view, get_assembly), active signals (get_signals), user configuration (get_user_skills, set_skill_overlay), and pre-trade validation (validate_intent). There are no obvious dead ends or missing lifecycle operations for the domain.
Available Tools
9 toolsdecker.get_assemblyAInspect
Multi-timeframe optimal-path assembly per symbol (STRATEGY_LAYER §8): one deterministic machine verdict combining all live timeframes — direction, grade (aligned | structure+pullback | exhaustion-reversal), entry (now vs wait, with source TF), stop (risk stop), target (upper-TF target), RR, and a conditional switch coordinate on mixed structure. Upper TF supplies the target (slower = higher success), lower TF supplies the entry. This is the single judgment authority — narrate or filter it, do not re-decide coordinates. Omit symbol for all 14 universe symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Optional symbol or alias (BTC, 비트코인, GOLD, 테슬라...). Omit for the full universe. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explains the tool's deterministic nature, how timeframes interact ('Upper TF supplies the target... lower TF supplies the entry'), and the important behavioral rule not to re-decide coordinates. It does not describe data freshness, error cases, or performance constraints, but provides substantial transparency for a decision-making tool.
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 core purpose and then enumerates the output fields in a structured way. It is dense but every sentence contributes meaningful information; however, the long third sentence with many listed elements could be slightly more scannable, so a small deduction is warranted.
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 that no output schema is present, the description effectively conveys the return value structure by listing all verdict components (direction, grade with enum values, entry with source TF, stop, target, RR, switch coordinate). It also clarifies the symbol omission behavior. This is complete enough for an agent to use the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full coverage of the sole parameter 'symbol', including optionality and alias examples. The description adds only the detail about '14 universe symbols', which is marginally useful but largely redundant with the schema. Therefore, the description does not significantly enhance the parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Multi-timeframe optimal-path assembly per symbol' producing a deterministic machine verdict with a defined set of outputs (direction, grade, entry, stop, target, RR). It distinguishes itself from sibling tools by declaring itself 'the single judgment authority' and instructing to 'not re-decide coordinates', making its role unique.
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 usage context: it is the final judgment authority to be narrated or filtered, and it specifies how to handle the symbol parameter ('Omit symbol for all 14 universe symbols'). It does not explicitly name alternative tools or when not to use it, but the 'single judgment authority' phrasing strongly implies the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_market_stateAInspect
Market State v0 — current engine structural state for a symbol/timeframe (latest evaluated bar, persisted engine emit read as-is, zero recompute). DOMAIN FRAME (why this engine exists): the market is read as a TARGET GAME — every coordinate comes from a verified anchor (a past level where a triggered move actually succeeded). The game block tells you the context that matters: game.status = forming_target (new anchor set, awaiting test) | testing_target (price is testing whether the declared target holds) | direction_resolved (game decided, price traveling); game.target = WHO is being judged (anchor id/phase/band); game.progress_dest = where price goes if the move proceeds (the opposing verified anchor to conquer); game.reverse_dest = where it goes if the move fails (the opposite house — also the stop logic's home); game.why_gate = full gate derivation chain; game.zt_regime = output canonicality (restored = deterministic delta lineage). action_gate alone (GO/WATCH/HOLD) is only a posture — the game context is the information. RAW CONTRACT: fields are engine-native vocabulary (c_state, hold_reason, R_* risk enums …), NOT customer-facing prose — for a human-language view use decker.get_view (with tf) or decker.get_reading. layer=STATE: this is a market-state reading, NOT a trade instruction. Absent fields are null (engine did not emit that axis — no filling). Before placing any order through any execution tool, check the intent with decker.validate_intent.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | e.g. BTCUSDT | |
| timeframe | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool reads persisted engine emits as-is with zero recompute, that absent fields are null (no filling), and that it returns engine-native vocabulary rather than customer-facing prose. This provides significant transparency about the tool's behavior and limitations.
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 extremely verbose, with a long 'DOMAIN FRAME' section explaining the target-game concept before the tool's actual contract. While informative, it is not concise and requires the agent to parse a large amount of text to extract the essential operational details. The length is not commensurate with the tool's simple parameterization.
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 compensates by explaining key return fields (game.status, game.target, etc.) and the meaning of action_gate. It also covers null behavior and defines the layer distinction. Although it might descend into excessive domain detail, it covers the essential interpretive context well for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'for a symbol/timeframe' but adds little beyond the schema's existing parameter info. The schema covers 50% with a symbol example and an enum for timeframe. The description does not elaborate on parameter formats, constraints, or how they affect the response, so it does not significantly enhance schema understanding.
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 clear purpose: retrieving the current engine structural state for a symbol/timeframe, with details like 'latest evaluated bar, persisted engine emit read as-is'. It also distinguishes from siblings by explicitly naming decker.get_view and decker.get_reading as alternatives for human-language views, and decker.validate_intent for order intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit alternatives: 'for a human-language view use decker.get_view (with tf) or decker.get_reading' and advises checking intent with decker.validate_intent before orders. It also clarifies that this tool is a market-state reading, not a trade instruction, indicating when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_readingAInspect
AI-synthesized market reading for a symbol/timeframe, in customer-facing language: current state description, directional bias scores, bidirectional break targets, MTF verdict per timeframe, and an execution hint (stance + long/short setups). Engine-native raw fields are NOT exposed here — use the REST raw contract (GET /public/reading) or decker.get_market_state for those.
| Name | Required | Description | Default |
|---|---|---|---|
| tf | No | 4h | |
| symbol | Yes | e.g. BTCUSDT | |
| include_tfs | No | Comma-separated additional TFs (e.g. '1h,4h,1d'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that output is in customer-facing language and explicitly states what is NOT exposed (raw fields), which is a key behavioral trait. It doesn't mention side effects or auth, but the read-only nature is implicit and the primary behavioral disclosure is sufficient.
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, front-loaded with the main purpose, and every sentence earns its place. The structure is efficient and clear.
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 no output schema, the description lists the exact output components and explains the boundary of what's included. It also directs users to alternative sources for raw data, making the tool's scope fully understandable.
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% with descriptions for symbol and include_tfs, and an enum for tf. The description adds context like 'symbol/timeframe' and 'MTF verdict per timeframe', which indirectly maps to parameters but doesn't enrich them significantly. It meets the baseline for moderate schema 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 clearly states the tool provides an AI-synthesized market reading for a symbol/timeframe in customer-facing language, listing specific output components. It distinguishes itself from siblings by explicitly noting that engine-native raw fields are not exposed, pointing to 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?
The description gives explicit guidance: use this tool for synthesized, customer-facing readings, and use the REST raw contract or decker.get_market_state when raw fields are needed. This effectively separates it from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_signalsAInspect
Active trading signals for the current user (with Skill Overlay applied), in customer-facing shape: coordinates (entry/target/stop), decision (ENTER/WAIT/SKIP), action_gate posture (GO/WATCH/HOLD — a stance, not an order command), progress, MTF verdict, and a plain-language summary_ko line. risk_reward_ratio is computed on the DISPLAYED coordinates (after overlay). Signals are retained rather than cut when they age (turn-retention policy) — read freshness_state (open|aged) / age_bars / freshness_sec before treating an old PENDING row as current. Filtered by symbols / min_progress / action_gate. Before placing any order through any execution tool, check the intent with decker.validate_intent.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| symbols | No | Symbol filter (e.g. ['BTCUSDT','ETHUSDT']). Omit for all. | |
| timeframe | No | Signal horizon filter (30m=scalp, 1h=swing, 4h/8h/1d=position). The same symbol can hold OPPOSITE directions on different horizons — omit to get the latest active signal regardless of horizon (its timeframe field says which one you got). | |
| action_gate | No | Engine action gate filter (3-layer grammar: gate = transition posture, not an order command). Rows where the engine emitted no gate for this bar (effective_action_gate null, e.g. KRX daily) are excluded when this filter is set. | |
| min_progress | No | Minimum progress_pct (0-100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the transparency burden. It discloses key behaviors: Skill Overlay affects displayed coordinates, risk_reward_ratio is computed on displayed coordinates, turn-retention policy retains aged signals, and action_gate is a stance not an order command. This is rich, non-obvious context that helps avoid 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 densely packed with essential caveats, and each sentence earns its place. It is front-loaded with the core purpose, then elaborates on output shape, risk_reward caveat, retention policy, filters, and safety guard. While slightly lengthy, the complexity justifies the length.
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 no output schema and no annotations, the description covers the output shape, key fields, filters, freshness handling, retention policy, overlay effects, and a cross-tool safety reference to validate_intent. This is sufficient context for an agent to invoke the tool correctly and interpret results.
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 descriptions already cover 80% of parameters (symbols, timeframe, action_gate, min_progress) with meaningful semantics. The description adds no new parameter-level detail; it only restates filter names and adds context about overlay affecting displayed coordinates, which relates more to output than to parameter syntax. 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?
The description explicitly states the tool returns 'Active trading signals for the current user (with Skill Overlay applied)', enumerates the key output fields, and clearly distinguishes it from sibling tools like get_view or get_market_state by focusing on signals, freshness, and intent validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: it instructs to 'check the intent with decker.validate_intent' before placing orders, and advises reading freshness_state before treating aged PENDING rows as current. Also mentions filtering options (symbols/min_progress/action_gate), giving clear operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_state_timelineAInspect
Market State v0 — per-bar state timeline for a symbol/timeframe (same schema as decker.get_market_state, except each item carries a SLIM game tag {status, target_id, zt_regime, provenance} instead of the full game block — read status transitions across bars to see how the target game unfolded (forming → testing → resolved/failed); ascending by bar_ts). Bars the engine did not emit are simply absent (honest gaps, no filling).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ISO8601 lower bound on bar_ts (exclusive). Optional. | |
| symbol | Yes | e.g. BTCUSDT | |
| timeframe | Yes |
Tool Definition Quality
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 transparently explains that bars are ascending by bar_ts, that gaps are honest (absent bars, no filling), and that each item carries a slim game tag rather than the full game block. It also indicates the tool is a read operation (no side effects implied). It does not mention pagination or error behavior, but these are less critical for a read-only timeline. No contradiction with annotations (none provided).
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 dense sentence but well-structured: main purpose first, then schema difference, then intent, then ordering and gap behavior. Every clause carries meaning; no fluff. It could be split into two sentences for readability, but it earns its length.
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 no output schema, so the description must convey the response shape and semantics. It references the sibling's schema and clarifies the divergence (slim game tag), explains ordering, gaps, and the transition history use case. It doesn't explicitly define the time range covered or how 'limit' interacts with 'since', but for a timeline tool this is largely self-evident. Given the complexity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (symbol and timeframe have descriptions). The description does not add new parameter-specific semantics; it merely mentions bar_ts ordering, which relates to the 'since' parameter but doesn't go beyond the schema's own description of 'ISO8601 lower bound on bar_ts'. It doesn't explain 'limit' beyond the schema defaults/constraints. This is adequate given partial schema coverage, but not exemplary.
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 a per-bar state timeline for a symbol/timeframe, with a specific comparison to decker.get_market_state (slim game tag vs full block). It names the exact use case: reading status transitions across bars (forming → testing → resolved/failed). This distinguishes it from siblings, especially get_market_state.
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 implies when to use this tool: when you need the per-bar timeline with slim game tags to trace game progression, versus get_market_state which likely returns the full game block for a single state. It does not explicitly say 'use this instead of X when...', but the contrast with the sibling and the stated purpose provide clear context. Missing explicit exclusions, but adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_user_skillsAInspect
Trading skill catalog + currently active overlay for this user. Returns 3 base skills (conservative_v0/standard_v0/aggressive_v0) and the user's selected one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return content (3 base skills and selected one) which is helpful. However, it does not mention side effects, read-only nature, or behavior when no skill is selected. Since no annotations are provided, the description carries the transparency burden and only partially fulfills it.
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 two concise sentences, front-loaded with the tool's purpose and directly naming the three expected skill IDs. No filler or redundant phrasing. It earns its place with specific details.
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 simple nature (no parameters, no output schema), the description is fairly complete. It names the exact return items and clarifies the 'catalog + overlay' structure. However, it could be slightly more complete by noting whether the selected skill can be null or how to handle multiple users, but for this simple getter it is adequate.
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?
There are no parameters, so the schema fully covers parameter information. The description adds meaning by explaining what the tool returns (the skill catalog and active overlay), which compensates for the lack of parameters. The baseline for zero parameters is 4, and no further parameter detail is needed.
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 what the tool returns: the trading skill catalog and the user's currently active overlay, including the three named base skills. It distinguishes from sibling tools by explicitly scoping to 'this user' and mentioning the active overlay, which sets it apart from other getters and the setter tool.
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 context is implied: it is for retrieving a specific user's skills. However, it does not explicitly state when to use it over alternatives (e.g., set_skill_overlay) or provide any exclusion criteria. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.get_viewAInspect
The engine's VIEW for a symbol — the same composed card the daily briefing sends (single composer, verbatim): overall verdict, big/main timeframe alignment, the current game narrative in plain language, coordinates (baseline ref_price / target / invalidation), 'at this price, this view', and recent self-scoring verdicts (receipts). layer=STATE_VIEW: a market-state reading, NOT a trade instruction. Prefer this over get_market_state when you want the interpreted view instead of raw engine fields. Before placing any order through any execution tool, check the intent with decker.validate_intent.
| Name | Required | Description | Default |
|---|---|---|---|
| tf | No | Optional view timeframe — the grounded narrative is composed on this TF's bar (e.g. '1h' when the user asks about the 1-hour picture). Omit for the engine's default action TF (usually 4h, same as the daily briefing card). | |
| symbol | Yes | e.g. BTCUSDT, XYZ_GOLDUSD (crypto + HL TradFi synthetics; KRX daily lineage not yet covered by view v1) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the operational nature (market-state reading, not a trade instruction), the deterministic composition ('single composer, verbatim'), and outlines the returned content. It lacks explicit safety traits like 'read-only' but strongly implies it. Minor gaps include no mention of auth or side effects, but the intent is clear.
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 information-dense, with a clear front-loaded definition of the tool's core purpose, a brief enumeration of contained elements, and then usage guidance. While somewhat long, each sentence earns its place, and the structure is logical rather than rambling.
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 lacking an output schema and annotations, the description thoroughly describes what the tool returns (overall verdict, alignment, narrative, coordinates, receipts) and explains its relationship to other tools. It also provides essential context about the returned card equaling the daily briefing, making it complete for an agent to select and use.
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%, with both symbol and tf having detailed descriptions including enums and examples. The tool's description adds no additional parameter-level detail beyond that in the schema. Since the schema already provides rich semantics, a baseline of 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?
The description opens with 'The engine's VIEW for a symbol', clearly identifying the resource (symbol view) and the verb (get/view). It enumerates the card contents and explicitly contrasts with get_market_state ('Prefer this over get_market_state when you want the interpreted view instead of raw engine fields'), distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Prefer this over get_market_state' for interpreted views, and 'Before placing any order through any execution tool, check the intent with decker.validate_intent' to alternative execution-related tools. It also excludes trade instruction usage via 'NOT a trade instruction'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.set_skill_overlayAInspect
Change active trading skill overlay for this user. Immediately affects all subsequent get_signals calls and downstream channels.
| Name | Required | Description | Default |
|---|---|---|---|
| skill_id | Yes | trading_skills.id (e.g. 'aggressive_v0'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the change is immediate and affects downstream channels, which is useful. However, it does not mention whether the change is reversible, if it overrides existing settings, or any permission requirements, leaving gaps.
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, front-loaded with the action verb. Every word earns its place; no 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 simple one-parameter setter, the description covers the core function and its immediate consequences. It lacks details about error conditions or prerequisites, but given the simplicity and single parameter, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single parameter skill_id, including a description and example. The tool description adds no additional meaning beyond the schema, so the baseline score of 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?
The description clearly states the verb 'change' and the resource 'active trading skill overlay for this user', which distinguishes it from sibling getters. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the immediate effect on subsequent get_signals calls, providing clear context for when this tool is relevant. However, it does not explicitly mention alternatives or when-not-to-use scenarios, though the sibling set of getters makes the use case obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decker.validate_intentAInspect
Pre-trade gate check for a proposed order intent. Call this BEFORE placing any order through any execution tool (e.g. a broker MCP's review→place flow). Checks the intent (symbol + side) against Decker's deterministic market state: engine action_gate (GO/WATCH/HOLD — a transition posture, not an order command), current structural state, and the active signal's direction / invalidation (stop) coordinates. Returns a stance reading, NOT an approval or rejection: the vocabulary is the engine gate as-is plus a mechanical side_alignment (aligned/opposed vs the active signal's direction). covered=false means the engine does not emit state for this symbol — treat as unknown, not as HOLD. The order decision and responsibility remain with the calling agent/user. Every check is persisted to an auditable decision ledger (check_id).
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | Proposed order direction (buy/long = +, sell/short = -). | |
| symbol | Yes | e.g. BTCUSDT, SILVER, 테슬라 — aliases resolve to the engine symbol (XYZ_SILVERUSD, XYZ_TSLAUSD, …). | |
| timeframe | No | Gate horizon. Omit = the active signal's timeframe if one exists, else the engine's default action TF (4h). | |
| order_type | No | Optional, informational (market/limit/…) — recorded in the ledger, does not change the state verdict. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It reveals that the tool persists every check to an 'auditable decision ledger (check_id)', explains the semantic of GO/WATCH/HOLD as 'a transition posture, not an order command', and explicitly disclaims that 'the order decision and responsibility remain with the calling agent/user.' This goes well beyond basic safety and sets expectations for side effects.
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 dense but well-organized paragraph. Every sentence adds value—purpose, invocation timing, return semantics, edge case, responsibility, and persistence. It could benefit from bullet points or section breaks for scannability, but the content is efficiently packed without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description compensates fully by explaining what the tool returns (stance reading, gate vocabulary + side_alignment), how to interpret covered=false, when to call it, and what side effects exist. It covers all the essential context for a complex pre-trade validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already gives detailed descriptions for every parameter (side enum, symbol alias resolution, timeframe default, order_type informational). The description does not add meaning beyond the schema; it mentions symbol+side and timeframe gate horizon but those are already in the schema. 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?
The description opens with 'Pre-trade gate check for a proposed order intent' and specifies it 'Checks the intent (symbol + side) against Decker's deterministic market state.' This clearly names the verb (check/gate) and resource (order intent), and the tool is distinct from sibling getters and set_skill_overlay by being a validation step rather than a state query.
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 explicitly says 'Call this BEFORE placing any order through any execution tool', giving a direct when-to-use instruction. It also provides a when-not-to-use nuance: 'Returns a stance reading, NOT an approval or rejection' and clarifies the covered=false case as 'treat as unknown, not as HOLD.' These exclusions and responsibilities make the usage guidance exceptionally clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceCryptographically signed market state verification for autonomous financial agents. Ed25519 receipts, fail-closed safety, 28 global exchanges (equities, derivatives, 24/7 crypto). MCP-native, x402-payable, SMA Protocol conformant.Last updatedMIT
- Alicense-qualityAmaintenanceDeterministic pre-execution audit for trading agents. PASS/WAIT/FAIL, reproducible verdict_hash.Last updated353MIT
- Alicense-qualityFmaintenanceEnables AI agents to execute prediction-market trades through a risk-control gateway that enforces signed mandates and generates proof trails for accountability.Last updated0MIT
- AlicenseAqualityAmaintenanceGoverned agent execution gateway for LLM workflows, providing deterministic FSM-based execution, audit trails, and idempotency guarantees via MCP.Last updated5MIT
Your Connectors
Sign in to create a connector for this server.