Skip to main content
Glama
tadas-github

a2asearch-mcp

get_agent

Retrieve comprehensive information about AI agents from the A2ASearch directory using their unique slug identifier to access capabilities, documentation, and technical details.

Instructions

Get full details for a specific agent by its slug (name as kebab-case). Returns description, README, capabilities, stars, forks, languages and more.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesAgent slug — e.g. 'playwright', 'ollama', 'claude-code', 'mem0'

Implementation Reference

  • The handler logic for the "get_agent" tool, which fetches agent details from the A2ASearch API and formats them into a markdown summary.
    if (name === "get_agent") {
      const { slug } = args;
      const res = await fetch(`${API_BASE}/agent/${encodeURIComponent(slug)}`);
      if (!res.ok) {
        if (res.status === 404)
          return {
            content: [{ type: "text", text: `Agent "${slug}" not found.` }],
          };
        throw new Error(`API error: ${res.status}`);
      }
      const { data: a } = await res.json();
    
      const summary = [
        `# ${a.name}`,
        `**Type:** ${a.type}`,
        `**Description:** ${a.description || "N/A"}`,
        `**GitHub:** ${a.agentCardUrl}`,
        `**Stars:** ${a.stars?.toLocaleString() || 0}  |  **Forks:** ${a.forks || 0}`,
        a.languages?.length ? `**Languages:** ${a.languages.join(", ")}` : "",
        a.capabilities?.length
          ? `**Capabilities:** ${a.capabilities.join(", ")}`
          : "",
        a.topics?.length ? `**Topics:** ${a.topics.join(", ")}` : "",
        a.last_commit_date
          ? `**Last commit:** ${new Date(a.last_commit_date).toLocaleDateString()}`
          : "",
        "",
        a.readme
          ? `## README\n${a.readme.slice(0, 3000)}${a.readme.length > 3000 ? "\n\n_(truncated)_" : ""}`
          : "",
      ]
        .filter(Boolean)
        .join("\n");
    
      return { content: [{ type: "text", text: summary }] };
    }
  • index.js:54-68 (registration)
    Registration and schema definition for the "get_agent" tool within the MCP server setup.
      name: "get_agent",
      description:
        "Get full details for a specific agent by its slug (name as kebab-case). " +
        "Returns description, README, capabilities, stars, forks, languages and more.",
      inputSchema: {
        type: "object",
        properties: {
          slug: {
            type: "string",
            description: "Agent slug — e.g. 'playwright', 'ollama', 'claude-code', 'mem0'",
          },
        },
        required: ["slug"],
      },
    },
Behavior2/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 of behavioral disclosure. It mentions the return data includes 'description, README, capabilities, stars, forks, languages and more,' which adds some context about output. However, it doesn't cover critical aspects like whether this is a read-only operation, error handling for invalid slugs, rate limits, or authentication needs, leaving significant gaps for a tool with no annotation support.

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 front-loaded with the core purpose in the first sentence, followed by details on return values. It's efficient with two sentences and no redundant information, though it could be slightly more structured by separating usage context from output details. Overall, it's appropriately sized and clear.

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

Completeness3/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is moderately complete. It covers the purpose and output data, but lacks behavioral details like error cases or operational constraints. Without annotations or an output schema, it should provide more context on what 'full details' entail and potential limitations, making it adequate but with noticeable gaps.

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?

The input schema has 100% description coverage, with the 'slug' parameter well-documented as 'Agent slug — e.g. 'playwright', 'ollama', 'claude-code', 'mem0'.' The description adds minimal value by restating that the slug is 'name as kebab-case' and used to identify the agent, but doesn't provide additional semantics beyond what the schema already covers. This meets the baseline for high schema coverage.

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

Purpose4/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: 'Get full details for a specific agent by its slug.' It specifies the verb ('Get'), resource ('agent'), and identifier method ('by its slug'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'list_agents' or 'search_agents', which likely handle multiple agents rather than a single one.

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

Usage Guidelines3/5

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

The description implies usage when you need detailed information about a specific agent, as indicated by 'specific agent by its slug.' However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'list_agents' or 'search_agents,' nor does it mention any prerequisites or exclusions. The context is clear but lacks comparative direction.

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

Install Server

Other Tools

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/tadas-github/a2asearch-mcp'

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