Octav API MCP Server
OfficialServer Quality Checklist
Latest release: v1.1.0
- Disambiguation3/5
Portfolio-related tools overlap: get_portfolio, get_wallet, get_nav, and get_token_overview all return different views of the same data, and agent_wallet/agent_portfolio duplicate the get_* equivalents. However, each has a distinct purpose and descriptions clarify the differences.
Naming Consistency4/5Most tools follow octav_get_<object> pattern, but octav_agent_wallet and octav_agent_portfolio break the verb-first convention. Still, all use snake_case with octav_ prefix, making them predictable.
Tool Count5/514 tools is well-scoped for a portfolio tracking API, covering multiple data views and payment methods without feeling bloated.
Completeness4/5Covers core portfolio, wallet, transactions, historical, and status/credits. Missing subscription management (e.g., cancel/update) but not critical.
Average 4.1/5 across 14 of 14 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
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
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and destructiveHint, and the description adds useful context about credit cost per address, which goes beyond the schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded purpose, no filler. Slightly redundant currency list already in schema, but overall compact.
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?
No output schema, so description should clarify return value; it doesn't. Also doesn't explicitly mention aggregate vs per-address NAV, though 'total net worth' implies aggregate. Lacks potential error handling details, but annotations cover safety.
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?
Schema has full coverage with descriptions and enum. The description attempts to add currency info but contradicts schema by listing ETH and BTC which are not in the enum, creating misleading parameter semantics.
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?
Clear verb 'Get' with resource 'total net worth (NAV)' and scope (currency). Distinguishes from siblings like get_portfolio and get_wallet by focusing on NAV valuation.
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?
Implied usage for obtaining NAV in a currency, but no explicit guidance on when to prefer this tool over sibling tools or any exclusions. No alternatives named.
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 this as read-only and non-destructive. The description adds useful behavioral details beyond annotations: the maximum of 250 transactions per request and the credit cost per address. It does not describe the response format, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of four short sentences: core action, filtering options, max limit, and cost. Each sentence adds distinct value, and the main verb is front-loaded.
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?
The tool has 7 parameters, no output schema, and moderate complexity. The description covers filtering, pagination, limit, and cost, but does not explain the return value structure or any prerequisites. Given the missing output schema, this is a notable gap.
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 provides 100% coverage for all 7 parameters with descriptions, so the description does not need to repeat parameter-level details. It mentions filtering by chain/type/date and the max limit, which are already in the schema, adding no new meaning.
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 clearly states 'Query transaction history with filtering and pagination', specifying the verb and resource. It adds scope details like filtering by chain, type, and date range, but does not explicitly differentiate from sibling tools such as octav_get_historical.
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 description implies usage for querying transaction history with filtering and pagination, but provides no explicit guidance on when to prefer this tool over alternatives like octav_sync_transactions or octav_get_historical. The cost and limit information offer some decision context, but no direct comparisons.
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 read-only and non-destructive behavior, lowering the burden. The description adds the credit cost per address and the aggregated data scope, which are useful behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose, followed by output summary and cost. No wasted words.
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?
For a simple read-only tool with fully documented parameters, the description covers the output concept. However, it does not mention potential limitations or alternatives, leaving slight gaps given the number of sibling tools.
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 coverage is 100% with clear parameter descriptions for addresses and date. The description does not add additional semantics beyond the schema, so the baseline of 3 applies.
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 clearly states the tool returns aggregated token distribution across all chains, including token values and percentage breakdown. The resource is specific, but it does not explicitly differentiate from sibling tools like octav_get_portfolio or octav_get_wallet.
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 tool's purpose implies when to use it, but there is no explicit guidance on when to choose it over sibling tools or any exclusions. The credit cost note is a practical caveat but not usage 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=true and destructiveHint=false, so the description only needs to add value beyond that. It discloses a credit cost ('Costs 1 credit') and describes the return contents ('active positions, values, and P&L'), which are useful behavioral details.
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, front-loaded with the core purpose, and every sentence adds value (what is returned and the credit cost). No fluff or redundancy.
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 tool's simplicity (one parameter, no output schema) and the presence of annotations, the description provides sufficient context: it states the resource, the output, and cost. Minor gaps like return format or pagination are not critical for this low-complexity tool, but a bit more detail could make it fully complete.
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 sole parameter 'address' is fully documented in the schema with its format ('Ethereum wallet address (0x...)'). The description adds no additional semantic detail beyond referencing 'address,' so the schema bears the responsibility, resulting in a baseline score.
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 the specific verb 'Get' with a clear resource: 'Polymarket prediction market positions for address.' It further specifies the output ('active positions, values, and P&L'), making it distinct from sibling tools like octav_get_portfolio.
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 description implies the tool is for Polymarket-specific positions but does not explicitly state when to use it over alternatives or provide exclusions. Context is clear for the intended use case, but no direct comparison to sibling tools is given.
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 this as read-only and non-destructive. The description adds that it returns per-chain sync state and last sync time, and clearly states the tool requires no credits, which is useful context beyond the schema/annotations. No 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 short sentences deliver purpose and key detail without redundancy. The 'FREE' note is a distinctive benefit and not fluff.
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 no output schema, the description partially covers return contents (chains synced, last sync time). Combined with the schema's clear parameter documentation and simple read-only nature, the description is sufficient, though it lacks explicit mention of address count limits (already in 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 100% of the one parameter with a description. The tool description adds no additional parameter semantics beyond the schema, so baseline 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 clearly states the tool checks synchronization status of addresses across all chains, distinguishing it from sibling tools like get_portfolio or get_transactions. It also specifies output (sync state and last sync time), making the 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is used to check sync status, but does not explicitly specify when to prefer it over siblings like sync_transactions or get_transactions. It provides context (across chains, free) but no exclusion criteria.
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 indicate write/non-destructive behavior, and the description adds important context: it costs 1 credit per address and forces indexing. This goes beyond what annotations provide, disclosing a rate-limiting cost and the tool's triggering nature, which is valuable for an agent to anticipate 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, front-loaded with the core purpose, and includes essential behavioral and cost information. There is no redundancy or filler; every word contributes to understanding.
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?
For a simple trigger tool, the description covers what it does, when it matters, and its cost. It does not explain return values or error behavior, but since there is no output schema and the tool likely returns a status, this is a minor gap. Overall, it is adequately complete for the tool's simplicity.
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 describes the 'addresses' parameter fully (array of wallet addresses, max 10). The description does not add further parameter-level detail; the cost per address is a behavioral note rather than parameter semantics. Since schema coverage is 100%, 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 clearly states the tool's function: manually triggering transaction synchronization for addresses and forcing immediate indexing of latest transactions. The verb 'trigger' and resource 'transaction synchronization' are specific and distinguish it from sibling read-only tools like octav_get_transactions.
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 description implies when to use it—when you want to force an immediate sync rather than relying on automatic updates—but does not explicitly contrast it with alternatives or state when not to use it. The 'manually' and 'Forces immediate' phrasing provides context but no exclusionary 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=true and destructiveHint=false. The description adds valuable behavioral context about the payment mechanism ('Costs paid via HTTP 402 payment protocol') and the automatic payment requirement, which are not present in 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 only two sentences, front-loaded with the core function, and contains no redundant or filler content. Each sentence contributes essential information about purpose, audience, and payment behavior.
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 tool is simple with one well-documented parameter and strong annotations. The description covers purpose, usage context, and output summary, but it does not mention the alternative octav_get_portfolio for non-payment scenarios, leaving slight ambiguity for agents comparing siblings.
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 already provides full coverage of the 'addresses' parameter, including accepted formats (EVM: 0x... or Solana base58) and limits (max 10 addresses). The description does not add parameter-specific meaning beyond the schema, 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 clearly states the tool 'Get full portfolio' via x402 payment protocol and specifies the return content (wallet + DeFi positions). It distinguishes from the sibling octav_get_portfolio by noting it is intended for 'AI agents with automatic payment'.
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: 'For AI agents with automatic payment' and mentions that costs are paid via HTTP 402. However, it does not explicitly name alternatives or state when not to use this tool, falling short of the highest rating.
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 indicate read-only and non-destructive behavior. The description adds valuable context about payment costs via HTTP 402, which is not covered by annotations, enhancing behavioral transparency.
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 (three sentences) and front-loaded with the core action. Each sentence serves a purpose: defining the action, identifying the target user, and clarifying the output and cost mechanism.
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?
For a simple read-only tool with a single well-described parameter and no output schema, the description covers the essential aspects: purpose, payment requirement, and return type. It could be more explicit about alternative tools but is otherwise complete.
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 fully describes the 'addresses' parameter, including format and limits. The description adds no additional parameter-specific meaning, 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get wallet holdings' and specifies the unique x402 payment protocol, distinguishing it from sibling tools like octav_get_wallet. It also explicitly mentions the output ('Returns wallet balances and values').
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 a clear usage context: 'For AI agents with automatic payment.' This indicates the intended audience but does not mention alternatives or exclusions (e.g., when to use a non-payment tool like octav_get_wallet).
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: true and destructiveHint: false, so the safety profile is known. The description adds useful context: 'Costs 1 credit per address,' which is a rate/pricing detail not present in annotations. It does not disclose other behaviors (e.g., response format), but the annotation coverage lowers the bar.
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 three short sentences, front-loaded with the core purpose. Every sentence adds value: purpose, output content, and cost. No redundant or vague wording.
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 explains what the tool returns (holdings and values) and notes the credit cost, which is helpful since there is no output schema. It does not mention data availability limitations or chain specifics, but the schema already covers address formats. Overall, it is adequately complete for a relatively simple read-only tool.
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 both 'date' and 'addresses' fully described in the input schema. The description does not add parameter-level detail beyond what the schema provides, so the baseline score 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 clearly states the tool's function: 'Get portfolio snapshot for a specific date in the past.' It names the specific resource (portfolio snapshot) and the temporal scope, distinguishing it from siblings like octav_get_portfolio (current) and octav_get_nav.
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 clearly conveys when to use it (for past dates) and what it shows, but it does not explicitly name alternatives or state when not to use it. The context is clear enough for an agent to infer the historical use case.
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 key behavioral context beyond annotations: 'Costs 1200 credits' and 'automatic' imply ongoing side effects and cost. This is valuable given the annotations only indicate non-read-only and open-world hints. It does not contradict 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 extremely concise, using four short sentences that each convey essential information: purpose, benefit, cost, and parameter expectation. No filler or redundant phrasing beyond what schema requires.
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?
For a simple subscription tool with only two parameters, the description covers the main points: what it does, why use it, cost, and parameter types. It lacks details about the return value or how to cancel, but given the absence of an output schema, the description is reasonably complete for the tool's simplicity.
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 already documents both parameters with descriptions (100% coverage). The description's 'addresses with optional descriptions' merely restates the schema without adding deeper meaning (e.g., formats, constraints, or relationships). 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 clearly states the action: 'Subscribe to automatic portfolio snapshots.' It identifies the resource (snapshots) and the purpose (historical tracking). This distinguishes it from sibling tools, which are all get_ or sync_ operations.
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 context for when to use this tool: 'Enables historical tracking.' This implies the tool is for setting up ongoing snapshots. However, it does not explicitly contrast with octav_get_historical or other alternatives, nor does it state when not to use it.
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 indicate readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read. The description adds useful behavioral context: it mentions the cost ('Costs 1 credit') and the outcome ('Shows eligible airdrops with claim links'). It does not contradict 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 concise and front-loaded, with four short sentences each adding distinct information: purpose, output, constraint, and cost. There is minimal redundancy, and 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?
For a simple single-parameter tool with good annotations and no output schema, the description adequately covers what the tool does, the input requirement, the output/behavior (eligible airdrops and claim links), and cost. It is complete enough for an agent to use it correctly without needing additional context.
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 already provides full coverage (100%) for the single parameter 'address' with a clear description ('Solana wallet address (base58 format)'). The description reinforces this with 'Solana addresses only' but does not add significant new meaning beyond the schema, 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 clearly states the tool's function with a specific verb 'Check' and resource 'airdrop eligibility', and distinguishes it from sibling tools by focusing on airdrops specifically. It also specifies the input type (Solana address) and output (eligible airdrops with claim links).
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 clear context for when to use the tool: to check airdrop eligibility for a Solana address. It also includes an exclusion ('Solana addresses only'), which helps the agent avoid using it for non-Solana addresses. However, it does not explicitly mention alternatives or when not to use it compared to sibling 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 establish read-only and non-destructive behavior. The description adds valuable context: it returns token balances and values across chains, excludes DeFi, and costs 1 credit per address. This goes beyond the structured annotations, providing operational cost and scope details.
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 primary purpose, and the second sentence adds cost context. No filler or redundant text; every word contributes.
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?
For a tool with one parameter, good annotations, and no output schema, the description covers purpose, scope, return content, and cost. It does not detail the return structure (e.g., token symbols, chain identifiers), but that is acceptable given the absence of an output schema and the tool's relative simplicity.
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% for the single 'addresses' parameter, so the baseline is 3. The description adds a cost-per-address semantic ('Costs 1 credit per address'), which clarifies how the array parameter is consumed and incurrs fees. This goes beyond the schema's format description.
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: 'Get wallet holdings only (excludes DeFi protocols). Returns token balances and values across all chains.' The verb 'Get' is specific, the resource 'wallet holdings' is well-defined, and the exclusion of DeFi protocols distinguishes it from siblings like octav_get_portfolio.
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 this tool by explicitly stating 'only (excludes DeFi protocols)', signaling that it should be used for wallet token balances when DeFi positions are not needed. However, it does not name alternative tools or provide explicit when-not-to-use conditions, so it falls short of the highest bar.
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=true and destructiveHint=false, and the description adds the behavioral detail 'FREE - no credits required', which is not captured by annotations. This provides useful cost-related context beyond the structured metadata.
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 only two short sentences with no filler. The key purpose is front-loaded, and the 'FREE' note adds valuable context without redundancy.
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 tool has no parameters, no output schema, and simple read-only semantics, the description fully covers what an agent needs to know: what it checks and that it costs no credits. No additional context is necessary.
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, so the schema is trivially 100% covered. The description needs no parameter detail; the baseline of 4 applies as there are no parameters to explain.
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 'Check' plus the resource 'API credit balance, usage, and remaining credits', making the tool's purpose unambiguous. It clearly distinguishes itself from siblings since none of the sibling tools relate to credit balance.
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 context that this tool is for checking credit balance and is FREE (no credits required), implying safe usage. It does not explicitly mention alternatives, but no sibling tool serves the same function, so the guidance is adequate.
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 non-destructive annotations, the description adds critical operational context: it costs 1 credit per address, aggregates across 20+ blockchains, and returns specific data types (token balances, values, protocol positions). This enriches the agent's understanding of cost and scope without contradicting 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 concise sentences with no filler. The first sentence states the purpose, the second lists return data, and the third discloses cost. All sentences earn their place and the content is front-loaded.
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 simple single-parameter schema, strong annotations, and no output schema, the description sufficiently explains what the tool returns and its cost model. It is complete for an agent to decide when to use it and what to expect, covering all essential operational aspects.
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 schema already describes the 'addresses' parameter thoroughly (EVM/Solana formats, max 10). The description adds the meaningful detail that cost scales per address, which is not in the schema, providing additional semantic value beyond the high 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 a complete portfolio including wallet holdings and DeFi protocol positions across 20+ blockchains, with specific outputs like token balances and values. This specific verb+resource scope distinguishes it from siblings such as octav_get_wallet, which likely focuses only on wallet holdings.
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 a comprehensive portfolio view across many blockchains, with no explicit exclusions or named alternatives. However, the phrase 'complete portfolio' and mention of DeFi positions provides clear context that this is broader than sibling tools, and the credit cost per address offers practical guidance.
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/Octav-Labs/octav-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server