obol
Server Quality Checklist
Latest release: v2.0.1
- Disambiguation5/5
Each tool targets a clearly distinct resource or granularity level: wallet overview vs. full portfolio vs. activity vs. risk vs. P&L vs. DeFi positions are separately scoped. Token price/metadata, swap quote/execute, LST yields, health, and info also have unambiguous purposes.
Naming Consistency5/5All tools follow the consistent `obol_<area>_<detail>` snake_case pattern, e.g. wallet_overview, token_price, swap_quote, lst_yields. Even the simpler health and info tools fit the prefix convention without disrupting the pattern.
Tool Count5/513 tools is well within the ideal range and each tool earns its place by covering a distinct wallet analytics, token data, or swap workflow. The count feels complete without being bloated.
Completeness5/5The tool surface covers the full advertised Solana workflow: wallet analytics, portfolio detail, transaction history, risk, P&L, DeFi positions, token price/metadata, swap quoting/execution, and LST yield comparison. There are no obvious dead ends or missing core operations for the stated domain.
Average 3.6/5 across 13 of 13 tools scored. Lowest: 2.9/5.
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
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a cost ($0.15 USDC), which is useful, but it does not state whether the operation is read-only, what side effects exist, or any other behavior (e.g., data freshness, rate limits). This is a significant gap for a tool that could be expensive or have 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that efficiently packs the main purpose and cost. It could be slightly better front-loaded with the word 'P&L' but overall it is concise and free of fluff. Every phrase adds value.
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?
There is no output schema, so the description should explain what the tool returns (e.g., a P&L report, a summary, specific metrics). It only says 'analysis' without describing the output format or contents. It also omits prerequisites (e.g., does the wallet need to have activity?). This is inadequate for an agent to fully anticipate the tool's behavior.
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%, so the address parameter is fully documented in the schema. The description adds no additional meaning about the address (e.g., format, network, how it is used). Baseline of 3 is appropriate; the description does not enhance understanding of the parameter.
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?
States a specific resource ('Wallet P&L analysis') and lists covered aspects (token flows, current values, transaction history). The verb 'analysis' is clear, and the tool is distinct from siblings like obol_wallet_overview or obol_wallet_activity. However, it doesn't explicitly contrast with those siblings, so it stops short of full differentiation.
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?
No guidance on when to use this tool versus alternatives. It never mentions other tools or conditions (e.g., 'use this for profit/loss insights'). The agent must infer usage purely from the name and description, which is insufficient given four other wallet-related 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?
The description discloses a $0.005 USDC cost, which is a useful behavioral trait. However, with no annotations provided, the description carries the full burden for other behavioral aspects. It does not state whether the operation is read-only, what side effects might occur, or any operational constraints beyond the fee. The cost disclosure earns it a 3 rather than a 2.
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 fluff, front-loading the core purpose ('Get a Jupiter swap quote with route planning and price impact') and then the cost. Every word earns its place, and the structure is efficient.
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?
With no output schema and no annotations, the description does not explain the structure of the returned quote, nor does it mention the relationship to obol_swap_execute (the obvious next step) or any preconditions like wallet balance or expiration. It is minimal for a tool that likely feeds into a swap execution flow, leaving critical context for an agent implicit.
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 all parameters are already documented in the input schema, including examples for atomic units and mint addresses. The description adds no additional parameter semantics, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a Jupiter swap quote with route planning and price impact, which is a specific verb-resource combination. It doesn't explicitly mention obol_swap_execute as the sibling for execution, but its purpose is unambiguous and easily distinguishable from the wallet and token tools in the sibling list.
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?
There is no explicit guidance on when to use this tool versus alternatives like obol_swap_execute. The description only states what it does and its cost, leaving the agent to infer that it should be used to fetch a quote before executing a swap. No exclusions or alternative selection criteria are provided.
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 are absent, so the description carries the full behavioral burden. It does disclose a genuinely useful behavioral trait — the $0.10 USDC cost — which informs an agent's decision tree on whether to call the tool. However, it does not confirm read-only/non-mutating behavior, describe the return format, or note failure/rate-limit considerations. The cost disclosure lifts it to a 3, but with zero annotation coverage it leaves behavioral context on the table.
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 sentences with zero filler. The primary purpose is front-loaded in the first sentence with concrete details, and the cost disclaimer stands alone in the second. Every word earns its place; this is a model of efficient, well-structured description.
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 low-complexity tool (1 parameter, 100% schema coverage, no nested objects, no output schema), the description covers the core calling contract well: what it returns (positions by type and protocol) and the cost. The main gap is the lack of sibling differentiation in a crowded family of 12 tools, and no return-format hints given the absence of an output schema, but the tool's simplicity keeps it reasonably 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?
Schema description coverage is 100% — the single parameter `address` is already documented in the schema as 'Solana wallet address'. The description adds nothing about parameter format, network context, or validation beyond the schema. With full schema coverage, the baseline 3 applies; no compensation is needed nor extra value provided.
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 uses a clear verb+resource construction ('Get DeFi positions for a wallet') and adds specificity with asset types (LSTs, LP tokens, lending) and categorization by protocol. However, it does not explicitly distinguish itself from the near-twin sibling obol_wallet_portfolio or obol_wallet_overview, relying on content specificity rather than naming which tool it is not.
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?
Provides no guidance on when to use this tool versus alternatives. With 12 siblings including overlap candidates like obol_wallet_portfolio, obol_wallet_overview, and obol_wallet_activity, the agent gets no routing signal about which wallet query maps to which tool. Nothing in the description states when-not-to-use or points to a better alternative.
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 are absent, so the description carries the full burden. It discloses that the tool incurs a monetary cost ($0.005 USDC) and that the price is 'real-time' via Jupiter, which are useful behavioral traits. However, it does not specify return format, latency, rate limits, or whether any side effects occur. The cost disclosure adds value, but the overall behavioral picture remains thin.
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 sentence that front-loads the core purpose and appends the critical cost warning. Every word is necessary, no redundancy, and the structure is straightforward. This is a model of conciseness.
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?
Despite lacking an output schema, the tool is simple: one parameter, no nesting, and a clearly stated purpose. The description provides the essential facts (purpose, cost, data source) needed for most calls. It does not detail the response format, but for a price fetch this is often inferable. The cost mention is a notable completeness factor. Overall, adequate for the tool's complexity.
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 description coverage is 100% — the only parameter 'mint' is fully documented with an example (USDC address). The description adds no additional semantics beyond what the schema already provides. Thus, a baseline score of 3 is appropriate since the schema does the heavy lifting.
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 function: 'Get real-time token price via Jupiter.' The verb 'Get' and resource 'token price' are specific, and the method ('via Jupiter') adds context. It does not explicitly differentiate from siblings like obol_token_metadata, but the purpose is unambiguous enough for an agent to understand what it does.
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 no guidance on when to use this tool versus alternatives. It mentions the cost ($0.005 USDC) but does not explain scenarios where this tool is preferred over, say, obol_token_metadata or obol_swap_quote. The absence of any 'use this when' context leaves the agent to infer usage.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the $0.10 USDC cost, which is a useful behavioral trait, and the factors assessed. However, it does not explicitly state whether the operation is read-only or has any side effects. For a risk assessment tool that likely only reads blockchain data, the safety profile is not disclosed, leaving some ambiguity.
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?
The description is a single concise sentence that front-loads the core purpose and includes the cost. There is no wasted wording. It could arguably be structured with the cost in a separate sentence, but the current form is efficient and readable.
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?
For a simple one-parameter tool with no output schema or annotations, the description covers the core purpose and cost. However, it omits what the tool actually returns (e.g., a risk score, report, or label). An agent deciding whether to invoke this tool would benefit from knowing the output format, especially since cost is involved. The description is adequate but not 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 schema already fully documents the single parameter 'address' as a Solana wallet address (100% coverage). The description adds no further syntax, format, or validation details beyond the schema. Per the rubric, high schema coverage yields a baseline of 3, and the description does not elevate it.
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 performs a 'multi-factor risk assessment' for a Solana wallet, enumerating the factors (age, diversification, activity patterns). This is a specific verb-resource combination that distinguishes it from sibling tools like obol_wallet_overview or obol_wallet_portfolio, which focus on different aspects.
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?
No guidance is given on when to use this tool versus other wallet tools. It doesn't mention alternatives, criteria for selection, or when it would be inappropriate. The only extra detail is the cost, which might influence usage but doesn't help an agent decide if risk assessment is the right tool for the task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the action and that it's 'Free', but does not describe what the tool returns (e.g., status code, message), whether it requires authentication, or if it has any side effects. For a health check, the absence of any mention of output format or potential rate limits leaves the agent guessing.
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 sentence with no fluff. It conveys the essential purpose and the 'Free' factor in minimal words. For a zero-parameter health check, this level of conciseness is appropriate and well-structured.
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?
Given the tool has no parameters and no output schema, the description is mostly sufficient for a basic health-check tool. However, it lacks detail on the response format or what 'health and status' implies (e.g., whether it returns a JSON object with uptime). An agent might need to know if it returns a simple boolean or a detailed report to decide how to interpret the result. This gap prevents a higher score.
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?
There are zero parameters, so the baseline is 4. The description doesn't need to clarify parameter meanings since none exist. It accurately reflects that no input is required.
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 ('Check') and resource ('Obol API health and status'). It clearly distinguishes itself from siblings like wallet, token, swap, and defi tools, which are all about specific data operations. The name 'obol_health' reinforces the purpose.
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?
No guidance is provided on when to use this tool versus alternatives, nor any exclusions. While it's intuitively a health check, the description does not explicitly indicate that it should be used to verify API availability or as a preliminary step before other calls. The 'Free' note is the only extra context, but it doesn't address usage scenarios.
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?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose a cost of $0.01 USDC, which is a meaningful operational detail, but it does not explicitly state read-only nature or other constraints. This is partial but not comprehensive.
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, focused sentence that front-loads the purpose and includes the cost. There is no redundant wording, making it concise and efficient.
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 parameter and no output schema. The description lists the returned fields and cost, which is sufficient for an agent to initiate a call. While error handling is not mentioned, the simplicity of the tool makes the description adequately 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 mint parameter as 'Token mint address' (100% coverage), and the description adds no additional meaning or format details. The baseline of 3 applies because the schema already handles 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?
The description clearly states the tool's function: 'Get token metadata' and explicitly lists the returned fields (name, symbol, supply, decimals). This is a specific verb-resource combination that distinguishes it from sibling tools like token price.
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?
No guidance is provided on when to use this tool versus alternative obol tools. The description does not mention exclusions, alternatives, or typical scenarios, leaving the agent to infer usage solely from the tool name.
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?
With no annotations, the description carries the burden of behavioral disclosure. It does mention a concrete behavior: cost of $0.01 USDC, which is valuable. It also implies a read-only operation by stating what it returns. However, it does not disclose failure modes, rate limits, or any side effects beyond cost, leaving some gaps.
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: a single sentence plus a cost clause. It front-loads the purpose and returns the key detail immediately. Every word earns its place with no 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?
For a simple tool with one parameter and no output schema, the description is nearly complete. It tells what data will be returned (SOL balance, token count, total value), implicitly defining the response. It does not mention response format, but given the simplicity, that is a minor omission.
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 single parameter 'address' has 100% schema description coverage ('Solana wallet address'). The tool description adds no extra meaning beyond that, so the baseline score of 3 is appropriate. It does not clarify address format or validation, but the schema already provides sufficient 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?
The description names a specific verb ('Get') and resource ('Solana wallet overview') and explicitly lists the returned data: SOL balance, token count, total value. This clearly distinguishes it from sibling tools like activity or PnL by focusing on a summary snapshot.
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?
No guidance is given on when to use this tool versus wallet_portfolio, wallet_activity, or other siblings. It describes the action but not the context, like 'use for a quick financial snapshot' or 'when you need total value and token count'. This leaves the agent to infer the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral disclosure burden. It does mention a cost ($0.05 USDC) and lists what is included, which adds value. However, it does not disclose any side effects, authentication needs, rate limits, or whether it is read-only (though 'Get' implies it). The cost is useful, but the description falls short of fully transparent behavior.
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?
A single, front-loaded sentence with zero fluff. It states the core purpose first, then lists contents and cost—every word earns its place.
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 one-parameter read tool with no output schema, the description gives a good sense of the return (holdings, prices, NFTs, breakdown) and the cost. It could explicitly note whether SOL itself is included or whether the response is paginated, but given the low complexity and high schema coverage, it is largely 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 schema description coverage is 100%, so the single parameter 'address' is already documented as 'Solana wallet address'. The description adds no further meaning about the parameter (e.g., format, required network). Per the baseline for high coverage, a 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 a specific verb ('Get') and resource ('full wallet portfolio'), and enumerates its contents (token holdings, prices, NFTs, breakdown), which distinguishes it from sibling tools like obol_wallet_overview or obol_wallet_activity without needing to read their schemas.
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 no guidance on when to use this tool versus the many sibling wallet tools (overview, activity, risk, pnl, defi_positions). It does not state exclusions, prerequisites, or recommend alternatives, leaving the agent to infer usage from the name alone.
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?
No annotations are provided, so the description carries the full burden. It discloses the cost ($0.05 USDC) which is a critical behavioral trait. The verb 'Get' implies a read-only operation, but this is not explicitly stated. It also does not mention response format, pagination, rate limits, or any side effects. While the cost disclosure is valuable, the lack of explicit read-only confirmation and output details makes this a moderate score.
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 that front-loads the action and includes the cost as important additional information. There is no wasted language, and every word earns its place. It is immediately readable and scannable.
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 is relatively simple (one parameter, no output schema), so the description is not expected to be exhaustive. However, since there is no output schema, the description should at least hint at what the response contains. It mentions categorization, which is helpful, but does not describe the structure of the response, any limits on history length, or whether multiple addresses are supported. For a tool with no annotations and no output schema, this is a moderate level of completeness.
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 description coverage is 100% for the only parameter 'address' with description 'Solana wallet address'. The tool description adds the context that this address is for a wallet whose transaction history is retrieved, but it doesn't add any new semantic details about the parameter format or constraints. Since the schema already covers the parameter, this is a baseline score of 3.
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 verb 'Get' and the resource 'wallet transaction history' with specific detail about categorization (swaps, transfers, etc.). It distinguishes this tool from siblings like obol_wallet_overview or obol_wallet_portfolio by focusing on the transaction history with categorization. An agent can immediately understand what this tool does.
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 fetching wallet transaction history, which gives some context on when to use it. However, it does not explicitly state when NOT to use it or mention any alternatives (e.g., obol_wallet_pnl for profit/loss, obol_wallet_risk for risk). The usage guidance is implied rather than explicit, leaving the agent to infer based on the purpose.
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?
With no annotations provided, the description carries the full burden. It discloses that the operation is free, which is a light behavioral hint, and implies read-only behavior via 'Get'. However, it does not mention whether any authentication is needed, rate limits, or how the response is structured. For a simple info tool this is acceptable but not rich, so a 3 is appropriate.
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, well-structured sentence that front-loads the action and object, then lists what is included and a key trait ('Free'). There is zero redundancy; every word adds value. This is a model of concise specification.
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 no parameters, no output schema, and a straightforward purpose, the description is almost complete. It tells the agent exactly what information is available (endpoints, pricing, payment mode) and notes it is free. A minor gap is the lack of detail about the response format (e.g., JSON structure), but for a simple info endpoint this is not critical. Overall it meets the needs of an agent selecting and calling the tool.
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 trivially covers 100% of them. As per the rubric, a 0-parameter tool gets a baseline of 4 because there is nothing for the description to add beyond the empty schema. The description correctly focuses on the tool's output rather than input.
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 ('Get') and resource ('Obol API info'), and enumerates the exact content returned: 'all available endpoints, pricing, and payment mode.' It implicitly distinguishes itself from sibling tools that target specific wallet, swap, or health functions by focusing on meta-level API details.
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 intended use is evident from the description: an agent should call this tool when it needs general API information (endpoints, pricing, payment mode). It does not explicitly exclude alternatives or mention prerequisites, but the context is clear enough that no confusion with siblings is likely, so it earns a 4.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently mentions the $0.02 USDC cost and data sources (Sanctum for APYs, Jupiter for exchange rates), which adds useful context. However, it does not mention whether the operation is read-only, potential errors, or any rate limits, leaving gaps for an agent. The cost and data source details earn it a 3 rather than a 2.
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: three short sentences that front-load the primary purpose ('Compare LST yields across Solana') before providing supporting details (examples, data sources, cost). Every sentence adds value with no redundancy. It is an exemplar of efficient, well-structured tool documentation.
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 that the tool has no parameters and no output schema, the description covers the essential aspects: what it does, the specific assets, data sources, and cost. It does not specify the exact format of the returned comparison, but that is inferable from the stated purpose. For a tool of this simplicity, the description is nearly complete, meriting a 4.
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 covered. Per the calibration rule, a baseline of 4 is given for tools with no parameters. The description does not need to explain parameters and effectively communicates that no inputs are required.
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 verb 'Compare' and the resource 'LST yields across Solana,' with specific examples (jitoSOL, mSOL, bSOL, jupSOL, hSOL). This distinguishes it from siblings like obol_token_price (price only) and obol_defi_positions (broader positions), making the tool's unique purpose unmistakable.
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 it (when comparing LST yields on Solana) but does not explicitly mention alternatives or when-not-to-use scenarios. Since the context is clear and the tool's purpose is distinct from its siblings, a score of 4 is appropriate for clear context without exclusions.
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?
With no annotations, the description carries full disclosure burden. It discloses two important behaviors: the tool costs $0.25 USDC, and it returns a transaction that the agent must sign and submit (i.e., it does not execute the swap itself). This is significant transparency. It does not mention potential side effects or limitations (e.g., balance checks, slippage behavior), but the essential behavioral facts are present.
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 sentences with zero filler. The primary function is stated first, the cost is front-loaded, and no redundant information is included. Every sentence earns its place.
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 is sufficient for an agent to understand the tool's role: build a transaction, get serialized bytes, sign and submit. It does not specify the output format or error conditions, but those are not critical for invoking the tool correctly given the schema explains parameters. The cost disclosure adds useful context. It is complete enough for the tool's complexity.
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 all six parameters are individually documented in the schema (e.g., amount in atomic units, slippage default). The tool description adds no additional parameter-level detail beyond the cost implication. Since the schema covers everything, a 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 states a specific action ('Build a Jupiter swap transaction for signing'), the resource (a swap transaction), and the immediate outcome (returns serialized transaction to sign and submit). It clearly distinguishes this from the sibling obol_swap_quote, which likely provides pricing, by framing this as the execution-building step.
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: when the agent needs a serialized swap transaction to sign and submit, likely after obtaining a quote. It does not explicitly name obol_swap_quote as the alternative or list conditions for when not to use it, but the context of 'build for signing' provides clear usage context without exclusions.
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/halfkey/obol'
If you have feedback or need assistance with the MCP directory API, please join our Discord server