Skip to main content
Glama

get_scarab_balance

Check SCARAB token balance for any wallet address to monitor staking and governance holdings in the Maiat Protocol.

Instructions

Get the SCARAB token balance for an address. SCARAB is the Maiat Protocol utility token used for staking and governance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (0x...) to check SCARAB balance for

Implementation Reference

  • The MCP tool handler for 'get_scarab_balance' in the mcp-server package. It delegates to `sdk.scarab(address)`.
    async ({ address }) => {
      try {
        const data = await sdk.scarab(address);
        return {
          content: [
            {
              type: "text" as const,
              text: JSON.stringify(data, null, 2),
            },
          ],
        };
      } catch (err) {
        return {
          content: [
            {
              type: "text" as const,
              text: JSON.stringify({
                error: err instanceof Error ? err.message : String(err),
                address,
              }),
  • Registration of the 'get_scarab_balance' tool in the MCP server.
    server.tool(
      "get_scarab_balance",
      "Get the SCARAB token balance for an address. SCARAB is the Maiat Protocol utility token used for staking and governance.",
      {
        address: z
          .string()
          .describe("Wallet address (0x...) to check SCARAB balance for"),
      },
  • The core business logic function 'getScarabBalance' which interacts with the database.
    export async function getScarabBalance(walletAddress: string): Promise<number> {
      const normalized = walletAddress.toLowerCase();
      const bal = await prisma.scarabBalance.findUnique({
        where: { address: normalized },
      });
      return bal?.balance ?? 0;
    }
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool's function but doesn't mention whether it's read-only, requires authentication, has rate limits, returns error conditions, or provides real-time vs cached data. For a financial query tool with zero annotation coverage, this leaves significant behavioral 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/5

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

The description is efficiently structured in two sentences: the first states the core functionality, the second provides helpful domain context about SCARAB. Every word earns its place with zero redundancy or fluff. It's appropriately sized for a single-parameter tool.

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?

For a simple read operation with 100% schema coverage but no annotations or output schema, the description is minimally adequate. It explains what the tool does but lacks behavioral context about safety, performance, or error handling. The absence of output schema means the description doesn't explain return values, but for a balance query, the implied return is reasonably clear.

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 documents the single 'address' parameter with its format. The description adds minimal value beyond what's in the schema - it confirms the parameter's purpose but doesn't provide additional syntax, validation rules, or examples. Baseline 3 is appropriate when schema does the heavy lifting.

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 ('Get'), resource ('SCARAB token balance'), and target ('for an address'). It distinguishes this tool from siblings by focusing on token balance retrieval rather than reputation, trust, analysis, or other operations. The additional context about SCARAB being a utility token adds helpful domain knowledge.

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

Usage Guidelines2/5

Does 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. While it implicitly suggests usage when needing a SCARAB balance, it doesn't mention prerequisites, limitations, or relationships to sibling tools like 'get_token_forensics' which might offer broader token analysis. No explicit when/when-not instructions are present.

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/JhiNResH/maiat-protocol'

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