htx-mcp
Server Quality Checklist
Latest release: v0.7.3
- Disambiguation4/5
Most tools cleanly separate distinct stages: diagnostics, market data, technical indicators, account/portfolio snapshots, risk, margin, and trade validation/reconciliation. The main ambiguity is between account_snapshot and portfolio_snapshot, and to a lesser extent market_snapshot versus market_context, but the descriptions provide enough guidance.
Naming Consistency5/5All tool names follow the htx_ prefix with consistent snake_case and a clear verb_noun pattern: get_* for read operations and wait/plan/validate/preview/reconcile for actions. There is no mixing of conventions or vague verbs.
Tool Count5/515 tools is at the upper edge of the well-scoped range, but each tool covers a distinct part of market analysis, account review, risk assessment, margin planning, or trade reconciliation. No tool feels redundant or unnecessary.
Completeness3/5The set provides strong coverage for market data, account state, risk, margin preflight, and trade validation/preview/reconciliation. However, there is no actual order submission or cancellation tool, and margin actions are planned but never executed, leaving an obvious lifecycle gap for an exchange-focused MCP.
Average 4.2/5 across 15 of 15 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 40 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. The description adds meaningful behavioral context: it 'validates' and produces a 'normalized dry-run request,' which implies no order placement. It does not disclose what happens on validation failure or what 'normalized' means in practice, and 'dry-run' might be an ambiguous term for some agents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with the core verb and object front-loaded: 'Build a normalized dry-run request.' There is no redundancy, filler, or repetition of the tool name, and every phrase contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex trading-intent tool with a nested 15-field input and a large sibling group. The description does not explain how it relates to htx_validate_trade_intent, whether it is safe to call before placing a real order, or what constitutes a successful dry-run output. The output schema may cover return values, but the surrounding decision context is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is reported as 0%, so the tool description should help explain the intent parameter. It only calls it a 'product-neutral trade intent,' which is a generic label rather than a useful semantic explanation. The rich nested schema exists, but the description itself does not compensate for the low coverage by explaining required fields, product-specific behavior, or the normalization target.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and object: 'Build a normalized dry-run request' for a 'product-neutral trade intent.' The word 'dry-run' clearly signals preview rather than execution, which separates it from execution flows. It does not explicitly name or compare sibling tools such as htx_validate_trade_intent, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'after validating a product-neutral trade intent' gives a prerequisite and suggests the tool is meant to be used once an intent exists, and 'dry-run' implies use before live execution. However, there is no explicit guidance about when to prefer this tool over htx_validate_trade_intent or htx_reconcile_trade, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It does add useful context about requiring API credentials and emphasizes a 'compact' representation, which aligns with the verbose parameter. However, it does not disclose behavior such as how missing sections are handled or what happens when unsupported combinations are requested.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler, front-loading the core purpose and immediately stating the key constraints. Every sentence earns its place and the structure is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema, six fully documented parameters, and strong annotations, the description covers the operation's basic nature well. It is less complete on selection context: an agent cannot confidently decide between this and the sibling portfolio/risk/margin snapshot tools without more explicit differentiators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description adds little beyond the general 'compact' framing, but with full schema coverage the baseline of 3 is appropriate; the tool description does not need to repeat parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Return') and resource ('compact authenticated snapshot of balances, positions, and orders'), which conveys the tool's core purpose. It does not explicitly contrast with sibling snapshot tools like portfolio or risk snapshots, but the phrase 'balances, positions, and orders' gives enough scope to differentiate at a basic level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by noting the operation is read-only and requires API credentials, but it gives no guidance about when to choose this tool over alternatives such as htx_get_portfolio_snapshot or htx_get_risk_snapshot. No exclusions or alternative conditions are mentioned, leaving the agent to infer usage from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the behavioral trait of being a non-streaming snapshot, but the read-only, idempotent, and non-destructive aspects are already covered by annotations. It does not mention rate limits or other potential 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, immediately states the purpose, and efficiently covers usage and nature without any fluff. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides purpose, usage conditions, and a behavioral distinction, which is sufficient given the full schema and output schema. The only minor gap is the vague 'raw HTX envelopes' phrasing, which could reduce clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description does not add parameter-specific meanings beyond what is already in the schema, but it doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the core purpose—'return bounded research context'—and enumerates the included data types (OHLCV, recent public trade tape, swap funding history). However, the phrase 'raw HTX envelopes' is ambiguous and could confuse agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly specifies when to use the tool ('when indicators alone are insufficient') and contrasts it with streaming via 'REST snapshot, not a low-latency stream'. This gives agents a concrete decision condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only/idempotent behavior; description adds that it supplies facts/warnings and does not make a trading decision, reinforcing the non-destructive nature without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: purpose first, behavioral limitation second. No redundant or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with complete schema and annotations, the description gives enough context for a read-only snapshot tool. Pre-trade framing and the non-decision caveat cover key boundaries, while output details are left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions, enums, and defaults. Description adds no parameter-specific meaning beyond the overall pre-trade context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific purpose: combine current market and account state into a pre-trade risk snapshot. Clearly distinguishes from decision/execution tools and from market/account snapshot siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies pre-trade use and non-execution, but does not explicitly state when to choose this over sibling snapshot, validation, or preview tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
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 has a lower burden. It adds no behavioral traits beyond stating the return content; it also does not contradict 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. It front-loads the purpose and then gives a brief usage directive, making it easy for an agent to scan and act on quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup tool with an output schema, detailed input schema, and strong annotations, the description is sufficient. It states what is returned and when to use it; the schema covers the optional instrument and product families.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% and parameter descriptions are already detailed, including the product enum and instrument optionality. The description adds no meaningful parameter-level meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Return HTX precision, minimum, status, and contract rules for one product.' This clearly distinguishes it from sibling market/account/risk tools and states the exact kind of data the agent will receive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use the tool: 'Use these rules before constructing any quantity or price.' It does not enumerate alternatives or when-not-to-use cases, but the usage context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the annotations (readOnly, idempotent, non-destructive) and adds that it returns checks, implying no side effects. While it doesn't elaborate on specific behaviors, the annotations already provide strong transparency, and the description does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words or repetition. It efficiently conveys the core function and differentiator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the rich input schema and annotations, provides sufficient context for understanding the tool's role. It does not mention output structure or error handling, but the presence of an output schema and the clear purpose make it adequately complete for usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter-level details, but the input schema includes exhaustive descriptions for the nested intent object and its fields. Since the schema coverage is high, the description does not add value to parameter semantics; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: validating a product-neutral trade intent and returning checks without a request preview. It distinguishes itself from the sibling preview tool by explicitly noting that it does not perform a preview, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validation rather than preview by stating 'without a request preview,' which differentiates it from htx_preview_trade. However, it does not explicitly outline when to choose this tool over other siblings or provide comprehensive when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavior beyond that by noting it returns normalized compact data and loan quotas, and that it is intended as a safe preflight check. This is sufficient given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The first sentence front-loads the output, and the second adds the key usage context, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with three well-documented parameters, a full output schema, and comprehensive annotations. The description adds the missing usage intent and data scope, making it complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already explained including defaults and the conditional use of instrument for isolated margin. The description itself adds no parameter-level detail beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') plus a clear resource ('compact spot-margin balances, debt/risk fields, and current loan quotas'), which states exactly what the tool produces. The spot-margin scope separates it from sibling snapshots like account, portfolio, market, and risk snapshots, so an agent can tell it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly positions the tool as a 'read-only preflight' for borrowing, repayment, or margin-funded trades, giving clear when-to-use context. It does not explicitly name alternatives or state when not to use it, but the usage scenario is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond the readOnlyHint/idempotentHint annotations by framing this as a reconciliation read for uncertain post-submission states. It does not contradict the annotations and appropriately avoids over-explaining what the annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded in the first sentence, and the key usage instruction follows immediately in the second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only reconciliation tool, the description plus full schema and annotations provide everything an agent needs to select and invoke the tool correctly. The output schema covers return shape, and the description clearly identifies the exact situation that warrants calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all five parameters. The description adds no parameter-level detail beyond the submission/timeout context, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Read final order and fill state.' It also names the triggering scenario, 'after a submission or network timeout,' which clearly distinguishes this tool from market snapshot, account snapshot, and pre-trade validation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Query this before retrying a timed-out submission' gives explicit, actionable guidance for when to use the tool. It does not list alternatives or exclusions, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The read-only, idempotent, and non-destructive behavior is already covered by annotations. The description adds useful behavioral context by noting that the snapshot is concurrently collected and compact, and it references optional raw envelope inclusion, which is transparent about output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no redundant or vague wording. It efficiently communicates purpose, usage, and an alternative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and well-documented parameters, the description provides sufficient context for correct use. It clearly addresses the main decision point against sibling tools and explains the aggregate nature of the snapshot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all five parameters with descriptions and enums, so the baseline is 3. The tool description itself does not add much parameter-level meaning beyond the schema, though schema descriptions are already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Return one compact, concurrently collected market snapshot'. It also distinguishes this aggregate tool from low-level market calls and explicitly names a sibling tool, htx_get_technical_indicators, for technical analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: prefer this aggregate over several low-level market calls, and use htx_get_technical_indicators instead when technical analysis is needed. This directly helps an agent choose between competing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds valuable context beyond those annotations: the live quota check for borrow plans and the explicit caveat that a ready plan is still a review artifact, not an execution request. This prevents the agent from misusing the tool's output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded. The second sentence earns its place by adding the quota-check and review-artifact caveats, and there is no filler or duplication of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich nested schema, the output schema, and the read-only/idempotent annotations, the description covers the essential workflow caveat: the result is a plan for review, not an executed order. It could be more explicit about when to invoke this tool relative to validation/preview siblings, but nothing critical for safe invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level schema coverage signal is 0%, but the nested SpotMarginAction schema provides detailed descriptions for action, amount, currency, instrument, margin_mode, and loan_order_id. The tool description only adds borrow-specific semantics and references targeted repayment, so it does not fully compensate for the top-level parameter gap, though it is not misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Validate and normalize') and a precise resource ('one spot-margin transfer, borrow, or targeted repayment'). It also explicitly frames the output as a review artifact, not an execution request, which clearly distinguishes it from execution or trade-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable usage context: borrow plans check HTX's live currency quota, and the resulting plan must not be treated as an execution request. However, it does not name sibling tools or state explicit conditions for choosing this over htx_validate_trade_intent or htx_preview_trade, so routing guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses specific output behavior: reported fields, sanitized error codes/messages, and a guarantee to never return secrets, signatures, or signed URLs. This materially helps an agent trust and interpret the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, with the primary action front-loaded and no redundant wording. Every sentence adds useful information about purpose, output, or safety.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool with an output schema, the description gives all necessary context: what is diagnosed, what the result contains, and critical privacy behavior. Nothing important is missing for an agent to decide to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is complete, so there are no undocumented inputs for the description to clarify. The baseline for a no-parameter tool applies, and the description appropriately focuses on behavior instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific purpose: diagnosing authenticated access to HTX spot and USDT-swap private APIs. It also distinguishes itself from trading and snapshot tools by explicitly noting this is a diagnostic action 'without trading.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'without trading' wording implies the tool is for pre-trade connectivity and credential checks, but it does not explicitly name sibling alternatives or state when to prefer this tool over get_account_snapshot or get_portfolio_snapshot. Usage guidance is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior, so the description adds valuable non-obvious details: it reads concurrently, V5 swap accounts also include open orders, and no market data is fetched. These traits go beyond the structured annotations and help an agent predict side effects and scope accurately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the main purpose front-loaded and a second sentence adding useful scope and behavioral context. Every sentence earns its place, and there is no redundant repetition of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, 100% schema coverage, and the presence of an output schema, the description is sufficiently complete. It explains what the tool returns, what accounts it touches, when it is preferred, and what it deliberately avoids doing, leaving no critical gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters well. The tool description does not add much parameter-level meaning beyond reinforcing the 'compact' default behavior, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Return one compact cross-product portfolio snapshot for account review.' It further distinguishes itself by stating it reads spot and USDT-swap balances/positions, adds V5 open-order coverage, and explicitly notes that no market data is fetched, separating it from market-oriented sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by calling this 'the preferred pre-session portfolio check' and explains that it covers both spot and USDT-swap balances and positions. It does not explicitly name alternative tools or state when not to use it, but the context is strong enough for an agent to infer the right situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description adds meaningful behavioral details: deterministic calculation from completed candles, display rounding behavior, and the default exclusion of the current candle to avoid repainting. These enrich the agent's understanding of side effects and output semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and structured to communicate key constraints (rounding, completed candles) without verbosity. Every sentence serves a distinct informative purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for the tool's scope: it explains the output type, calculation basis, defaults, and the availability of raw data elsewhere. With an output schema present, no further return-value explanation is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover all parameters with detailed formats, enumerations, and examples. The tool description itself adds no additional parameter meaning, so it does not exceed the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns requested technical indicators, specifying that the model chooses indicators and the tool calculates them. It is distinct from raw market data tools and establishes a clear resource and action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool ('Return only the requested indicators', 'never calculates them itself') and contrasts with raw K-line availability, though it does not explicitly name sibling alternatives. This is clear but not fully explicit about when not to use it in favor of other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond that: it switches modes based on order_id versus time-window paging, returns compact normalized data by default, and discloses the 48-hour/3-day retention window. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The opening sentence states the core scope and exclusion, the middle sentence grounds usage in trader workflows, and the final sentence provides the retention constraint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 10 parameters, the schema fully documents each one and an output schema exists. The description covers the two key decision paths (order_id versus paged history), the retention limitations, and the distinction from order history. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 adds meaningful semantics by explaining that order_id selects reconciliation mode, that cursor is for paging instrument history, that time windows should be bounded, and that 'compact' output contrasts with include_raw. This goes beyond the schema's individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('executed-fill history for one instrument'), and immediately clarifies it is 'not order history.' This clearly distinguishes the tool from order-history or broader reconciliation tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete usage conditions: provide order_id for reconciliation, otherwise use a bounded time window with cursor pagination for recent instrument history. It also names trader workflows and retention windows, though it does not explicitly name a sibling alternative for order-history lookups, so it falls just short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive. The description adds that it performs no code execution and that the agent receives no intermediate updates during the wait, which is useful for agent planning. Does not mention rate limits or auth, but those are less critical given the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but every sentence adds value. It is well-structured with separate paragraphs for the core purpose, safety notes, and timeout guidance. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (8 parameters, nested conditions), the description covers the essential operational aspects: condition semantics, indicator usage, timeout budgeting, and polling behavior. The output schema is present, so return values do not need explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Goes beyond the schema: explains that conditions can override product/instrument, gives indicator examples, specifies candle_size must cover lookback, notes that timeout includes polls and sleeps, and explains poll_interval trade-offs. This meaningfully aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States the specific purpose: block until bounded declarative market conditions match or timeout expires. Clearly identifies it as a read-only wait primitive, and the description distinguishes it from a future WebSocket daemon, clarifying its polling nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete guidance on configuring timeouts (yield_time_ms, host deadline) and warns about the lack of intermediate updates. Does not explicitly compare to sibling polling tools, but the blocking behavior is clearly implied and the timeout advice is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TeacherLi07/htx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server