Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.1.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with minimal overlap: compute_agent_score focuses on agent utility scoring, get_dex_price and get_pool_liquidity handle different aspects of Uniswap pools (price vs liquidity), list_trading_pairs provides discovery, lookup_agent_identity retrieves identity metadata, and search_defi_knowledge offers educational content. The descriptions explicitly differentiate their functions and cross-reference each other appropriately.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern (e.g., compute_agent_score, get_dex_price, list_trading_pairs) using snake_case throughout. The verbs are descriptive and aligned with their actions (compute, get, list, lookup, search), making the set predictable and easy to understand.

    Tool Count5/5

    With 6 tools, the count is well-scoped for the server's purpose of providing DeFi and agent-related utilities on Base mainnet. Each tool serves a specific, non-redundant function, covering agent scoring, Uniswap data access, identity lookup, and knowledge search, which feels complete without being overwhelming.

    Completeness4/5

    The tool set covers key areas for DeFi and agent interactions on Base, including data retrieval (prices, liquidity, identities), discovery (trading pairs), scoring (agent utility), and education (knowledge base). Minor gaps exist, such as no direct tools for executing transactions or managing agent registrations, but the provided tools support core workflows effectively.

  • Average 4.6/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: 'No on-chain calls — instant response' (performance characteristic), 'Free tier — no payment in standalone mode; $0.001 USDC via x402 on the resource server' (cost/payment model), and 'Returns up to 5 matching entries ranked by relevance' (output limitation and ranking). However, it doesn't specify error handling or rate limits.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized and front-loaded with the core purpose. Every sentence adds value: the first states the purpose, the second details scope and examples, the third describes output format and limitations, the fourth covers behavioral aspects, and the fifth provides usage guidance. Minor redundancy exists in listing the 15 topics.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (search function with cost considerations), no annotations, and no output schema, the description does well by explaining the knowledge base scope, output format ('each with id, title, tags, and full content'), behavioral traits, and usage context. However, without an output schema, it could benefit from more detail about the response structure.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, providing a comprehensive description of the single 'query' parameter. The description adds minimal value beyond the schema by mentioning 'keyword matching against 15 entries' and listing example topics, but doesn't provide additional parameter semantics beyond what's already documented in the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Search a curated DeFi knowledge base covering Base chain DeFi protocols and concepts.' It specifies the verb ('search'), resource ('curated DeFi knowledge base'), and scope ('Base chain DeFi protocols and concepts'), distinguishing it from sibling tools like get_dex_price or compute_agent_score which perform different functions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool: 'Use this before calling get_dex_price or compute_agent_score to understand the underlying concepts.' It also mentions alternatives implicitly by listing sibling tools and specifying this is for knowledge retrieval, not on-chain operations or calculations.

    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 provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: read-only operation ('Read-only — no side effects'), cost implications ('Free — no payment required'), return format details ('Returns registration status and available metadata fields; unregistered agents return registered: false with null metadata'), and data source specifics ('ERC-8004 registry on Base mainnet'). It doesn't mention rate limits or error handling, but covers core behavioral aspects well.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured with zero wasted sentences. It front-loads the core purpose, then provides behavioral details, and concludes with clear usage guidance. Each sentence adds distinct value: identity lookup, behavioral traits, and alternative tool reference.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter read-only tool with no output schema, the description provides excellent context about what the tool does, its behavioral characteristics, and when to use it versus alternatives. The main gap is the lack of output schema documentation, but the description compensates by describing the return format ('Returns registration status and available metadata fields').

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already fully documents the single 'address' parameter with its format, validation, and example. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate coverage through structured data alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Look up an agent's on-chain identity'), resource ('ERC-8004 registry on Base mainnet'), and scope ('Reads isRegistered() and...fetch name, endpoint, and registration timestamp'). It distinguishes from sibling tools by explicitly naming 'compute_agent_score' as an alternative for different functionality.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool ('Look up an agent's on-chain identity') versus alternatives ('Use compute_agent_score to get a full utility score that incorporates ERC-8004 status alongside ETH balance and transaction history'). It clearly defines the tool's scope and when to choose a different tool.

    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 provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the tool reads from a contract slot and converts data, caches prices for 30 seconds (with a 'cached' field), and includes cost details (free in standalone mode, paid via x402). However, it doesn't mention error handling, rate limits, or authentication requirements, leaving some gaps for a mutation-free but network-dependent tool.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized and front-loaded, starting with the core function and following with details like caching, cost, and usage guidance. Every sentence adds value (e.g., cache duration, payment options, sibling tool reference), but it could be slightly more streamlined by integrating the token ordering explanation more tightly with the pair parameter.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (fetching and converting on-chain data), no annotations, and no output schema, the description does well by covering purpose, usage, behavioral traits (caching, cost), and parameter semantics. However, it lacks details on error cases (e.g., invalid pair handling) and the exact structure of the return data, which would be helpful for an agent to interpret results fully.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% coverage, so the baseline is 3. The description adds value by explaining the token ordering semantics: 'Each pair returns the price of token0 denominated in token1 (e.g., ETH/USDC returns USDC per 1 ETH).' This clarifies the meaning beyond the enum list, though it doesn't detail the pair format or validation rules beyond what's implied.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose with specific verbs ('Fetch', 'Reads', 'converts', 'Returns') and resources ('current spot price for a Uniswap V3 trading pair on Base mainnet'), distinguishing it from siblings like list_trading_pairs (discovery) or get_pool_liquidity (different data). It explicitly mentions what it returns (price, pool address, etc.), making the function unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool vs. alternatives: 'Use list_trading_pairs first to discover available pairs and their token ordering.' It also clarifies the context (Base mainnet, Uniswap V3) and includes cost information (free tier vs. $0.01 USDC via x402), which helps the agent decide based on operational needs.

    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 provided, the description carries full burden and does well by disclosing: scoring methodology (three signals with point ranges), cost ('Free — no payment required'), and output structure (returns total score, components, ETH balance, transaction count, registration status). It doesn't mention rate limits, error conditions, or computational requirements.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Perfectly structured with zero waste: first sentence defines purpose and scoring methodology, second describes output, third provides interpretation guidance, fourth covers cost, fifth links to sibling tool. Every sentence earns its place and information is front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter tool with no annotations and no output schema, the description provides excellent context: scoring methodology, output structure, interpretation guidance, cost information, and sibling tool relationship. It doesn't specify response format details or error handling, keeping it from a perfect score.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100% with detailed parameter documentation, so baseline is 3. The description adds value by reinforcing the address format context ('Ethereum address on Base mainnet') and linking to the sibling tool for related functionality, elevating it above baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('compute an on-chain utility score'), target resource ('Ethereum address on Base mainnet'), and scoring methodology (three on-chain signals with point ranges). It distinguishes from sibling tools by specifying this is a scoring function rather than price/liquidity/identity lookup operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly provides when-to-use guidance: 'Higher scores indicate more active and established on-chain agents' and 'Use lookup_agent_identity to retrieve full ERC-8004 metadata for registered agents.' This clearly differentiates from the sibling lookup_agent_identity tool and provides context for interpretation.

    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?

    With no annotations provided, the description carries full burden and excels by disclosing: computational behavior ('computes an approximate TVL in USD using the current spot price'), accuracy limitations ('tvl_usd_approx is a rough estimate based on the symmetric liquidity assumption'), data freshness ('No caching — each call reads live on-chain data'), cost implications ('Free tier — no payment required'), and return format details. This goes well beyond minimum requirements.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Front-loaded with core purpose, followed by implementation details, limitations, behavioral context, and usage guidance. Every sentence adds value with zero waste. The structure flows logically from what the tool does to how to use it.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no annotations and no output schema, the description provides comprehensive coverage: explains what it does, how it works, accuracy limitations, behavioral traits, cost implications, prerequisites, and return values. It fully compensates for the lack of structured metadata.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so baseline is 3. The description adds meaningful context by explaining the parameter's purpose ('Trading pair identifier') and connecting it to the sibling tool ('Use list_trading_pairs first to discover available pools'). However, it doesn't provide additional format or validation details beyond what the schema already documents.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Fetch the current liquidity'), resource ('for a Uniswap V3 pool on Base mainnet'), and scope ('TVL'). It distinguishes from sibling tools by specifying it's for liquidity/TVL rather than price discovery (get_dex_price) or pool listing (list_trading_pairs).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use this tool ('Use list_trading_pairs first to discover available pools') and when to use alternatives ('and get_dex_price for the current price'). Provides clear context about prerequisites and complementary tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: 'no on-chain calls required' (performance/behavior), 'Results are static configuration — not subject to caching or rate limits' (data freshness and rate limit behavior), and 'Returns a structured map of pair identifiers to pool metadata' (output format). This covers safety, performance, and output structure adequately.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is front-loaded with the core purpose, followed by usage guidelines and behavioral details. Every sentence adds value: the first defines the tool, the second explains output and usage, the third clarifies parameters and behavior. There is no redundant or wasted text.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (0 parameters, no output schema, no annotations), the description is complete. It explains what the tool does, when to use it, behavioral aspects like no on-chain calls and static data, and output format. This provides sufficient context for an agent to invoke it correctly without structured fields.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0 parameters with 100% coverage, so the baseline is 4. The description reinforces this by stating 'No parameters required,' which adds clarity beyond the empty schema, ensuring the agent understands no inputs are needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states the tool's purpose: 'List all supported trading pairs with their pool addresses, fee tiers, token symbols, and decimal precision on Base mainnet.' It specifies the verb ('List'), resource ('trading pairs'), and scope ('Base mainnet'), and distinguishes from siblings by mentioning it's used before calling get_dex_price or get_pool_liquidity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool: 'Use this tool before calling get_dex_price or get_pool_liquidity to discover available pairs and understand token ordering.' It also mentions alternatives implicitly by naming specific sibling tools, giving clear context for usage.

    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

agentshield-mcp MCP server

Copy to your README.md:

Score Badge

agentshield-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/yeick010/agentshield-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server