Skip to main content
Glama

genskill-mcp

An MCP server that lets any AI agent build on GenLayer: search the docs, inspect contracts and transactions over RPC, and scaffold, lint, and test Intelligent Contracts.

npm CI License: MIT Node MCP

genskill-mcp is a Model Context Protocol server for MCP-compatible clients (Claude Code, Cursor, VS Code, Gemini CLI, Codex, and remote MCP clients over HTTP). It combines searchable GenLayer documentation, live protocol/RPC inspection of contracts and transactions, and a contract authoring toolkit (scaffold, lint, and test Intelligent Contracts), so an agent can go from zero to a deployable contract without leaving its editor.

This project does not sign transactions or manage private keys. It supports live node inspection and contract interaction through GenLayer JSON-RPC methods such as gen_call, gen_getContractState, gen_getContractCode, gen_getContractSchema, gen_getTransactionStatus, and gen_getTransactionReceipt.

Install

Use

Command / URL

Local (stdio)

npx -y genskill-mcp

Hosted (remote)

https://genskill-mcp.vercel.app/mcp

Per-client setup (Claude Code, Cursor, VS Code, Gemini, Codex, remote) is in the quickstarts below.

Related MCP server: GenLayer MCP Server

What this server does

The server loads the official GenLayer docs bundle:

It parses that bundle into sections and exposes:

  • searchable MCP tools

  • a browsable docs index resource

  • individual section resources

  • live GenLayer JSON-RPC tools for contract and transaction inspection

  • a browsable RPC configuration resource

  • contract authoring tools: scaffold a starter contract and lint it before deploy

  • guided MCP prompts for writing, testing, and debugging contracts

This repository supports two transports:

  • stdio for local CLI tools such as Claude Code, Codex, Cursor, VS Code, and Gemini CLI

  • Streamable HTTP for deployed remote MCP usage

Build a contract (authoring tools, new in 2.2)

If you are new to GenLayer, this is the fast path from zero to a deployable contract. It does not just point you at docs, it gives you working code and checks it.

  • genlayer_scaffold_contract generates a working starter Intelligent Contract for a template (storage, llm-judge, web-oracle, token). The output already has the runner header pinned and avoids the common GenVM deploy-killers, so it deploys as-is.

  • genlayer_lint_contract runs static pre-deploy checks on contract source. It catches the mistakes that make a deploy finalize with a bare invalid_contract (no stack trace): a comment line directly under the runner header, an unpinned or :test / :latest runner, a missing gl.Contract class, forbidden sandbox imports (os, sys, subprocess, random, ...), and GenVM Python-subset issues such as for loops, sorted, .sort, lambda, and list / dict storage fields.

  • genlayer_scaffold_test generates a fast direct-mode test (genlayer-test) for a template, using the real fixtures (direct_vm, direct_deploy, direct_alice) and mocking web/LLM calls so tests stay deterministic.

Three guided prompts wrap the workflow for any MCP client:

  • genlayer_write_contract scaffold, decide what needs consensus, then lint.

  • genlayer_test_contract direct-mode then integration testing.

  • genlayer_debug_deploy the checklist for a deploy that errored on-chain.

And a single always-available resource, genlayer://guide/contract-rules, is an authoritative cheat sheet (skeleton, storage types, web/LLM/equivalence APIs, the GenVM Python-subset rules, and the deploy/finalize/debug checklist) that any connecting agent can read to get contract writing and debugging right. It tracks the latest GenLayer docs and the official write-contract / direct-tests skills.

Typical loop: scaffold, edit, genlayer_lint_contract until it is clean, deploy, then inspect it live with genlayer_get_contract_snapshot.

RPC configuration

Live protocol tools use the configured GenLayer RPC endpoint.

  • GENLAYER_RPC_URL: JSON-RPC endpoint to use

  • GENLAYER_RPC_TIMEOUT_MS: timeout for live RPC requests

If GENLAYER_RPC_URL is not set, the server defaults to:

https://studio.genlayer.com/api

Quickstart for Claude Code

claude mcp add --transport stdio genskill -- npx -y genskill-mcp

Then start Claude Code:

claude

Inside Claude Code, run:

/mcp

The genskill server and its tool endpoints should be listed.

Quickstart for Cursor (per-project)

Add this to .cursor/mcp.json:

{
  "mcpServers": {
    "genskill": {
      "command": "npx",
      "args": ["-y", "genskill-mcp"]
    }
  }
}
TIP

If a Cursor version does not recognizemcpServers, use mcp_servers as the top-level key instead.

Quickstart for VS Code (per-workspace)

Add this to .vscode/mcp.json:

{
  "servers": {
    "genskill": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "genskill-mcp"]
    }
  },
  "inputs": []
}

Quickstart for Gemini CLI

Add the MCP server globally:

gemini mcp add --scope user genskill npx -y genskill-mcp

Confirm it is registered:

gemini mcp list

Quickstart for Codex

Add the MCP server with the Codex CLI:

codex mcp add genskill -- npx -y genskill-mcp

Confirm it is registered:

codex mcp list

Alternatively, add this to a Codex MCP config:

[mcp_servers.genskill]
command = "npx"
args = ["-y", "genskill-mcp"]

Restart Codex if needed so it reloads the MCP config.

Quickstart from source

For source-based usage instead of installing from npm:

  1. Clone the repo:

    git clone https://github.com/Jr-kenny/genskill-mcp
    cd genskill-mcp
  2. Install dependencies and build:

    npm install
    npm run build
  3. Run the local entrypoint:

    node /absolute/path/to/genskill-mcp/dist/cli.js

Substitute that node .../dist/cli.js command in any MCP client config for source-based usage over npx.

Quickstart for remote MCP clients

Remote MCP clients can use the public HTTP endpoint without an account. Anonymous clients receive the stateless documentation, authoring, planning, and protocol tools. Persisted workflow sessions require an optional tenant bearer token.

This is not Claude-specific. It is the deployed transport for any client that can connect to remote MCP servers over Streamable HTTP, including chat-style AI apps where that capability is available.

  1. Deploy this repository to Vercel. No authentication configuration is required for public stateless access.

  2. To enable private workflow sessions for known tenants, configure credentials as a JSON object. Each key is a stable tenant ID and each value is a random bearer token containing at least 32 characters:

    GENSKILL_MCP_TENANT_TOKENS='{"team-a":"replace-with-a-random-32-character-token"}'

    Anonymous users never see workflow session tools or resources, even when tenant credentials are configured.

  3. The deployed MCP endpoint is:

    https://genskill-mcp.vercel.app/mcp
  4. The deployed service also exposes:

    • GET / for a small server info response

    • GET /health for health checks

    • POST /mcp for MCP Streamable HTTP requests

  5. Add the deployed MCP URL in any remote MCP client. Known tenants can optionally send their token to unlock their isolated workflow sessions:

    Authorization: Bearer replace-with-a-random-32-character-token

Use:

https://genskill-mcp.vercel.app/mcp

This applies to Claude-hosted integrations, ChatGPT-style apps, and other remote AI clients where MCP server URLs are supported.

For local HTTP testing, run:

npm install
npm run build
npm run start:http

It listens on port 3000 by default. Set the PORT environment variable to change it.

HTTP workflow session tools are hidden from anonymous users. Authenticated sessions are stored in separate hashed directories for each tenant. Set GENSKILL_MCP_SESSION_DIR to choose the session root. Vercel defaults to temporary function storage, so use a durable tenant-aware backing store if sessions must survive instance recycling.

Local filesystem access is available only over the stdio transport. HTTP servers don’t register genlayer_load_contract_artifact, and all other HTTP tools reject contractPath. Remote clients can provide base64-encoded code or a deployed contract address.

Vercel deployment

This repository is configured for Vercel through vercel.json and the Web-standard API functions in api/.

Public MCP endpoint on Vercel:

https://genskill-mcp.vercel.app/mcp

Useful checks:

  • https://genskill-mcp.vercel.app/

  • https://genskill-mcp.vercel.app/health

  • POST https://genskill-mcp.vercel.app/mcp from an anonymous or authenticated MCP client

Notes:

  • /mcp is routed to the Vercel function at /api/mcp.mjs.

  • Anonymous /mcp requests expose only stateless tools. A supplied bearer token must be valid, and invalid tokens return 401.

  • The Vercel endpoint uses the MCP SDK Web-standard Streamable HTTP transport in stateless mode.

  • POST requests return JSON responses where possible, which is friendlier for serverless hosting than holding long SSE streams open.

  • If the docs update while the service is already deployed, call genlayer_refresh_docs from an MCP client or redeploy the project.

Tool endpoints

High-level orchestration tools now use a canonical machine-readable response shape with:

  • kind

  • summary

  • current_state

  • blockers

  • next_actions

  • fallbacks

  • data

The autopilot and capability surfaces are capability-aware: they should prefer only actions supported by the currently configured endpoint and explicitly downgrade unsupported debug or ops paths into fallbacks.

Live protocol tools

  1. genlayer_list_networks Lists documented GenLayer network presets, chain IDs, and RPC URLs.

  2. genlayer_start_workflow_session Creates a persisted workflow session from a generated contract workflow plan.

  3. genlayer_list_workflow_sessions Lists persisted workflow sessions ordered by most recently updated.

  4. genlayer_get_workflow_session Reads a persisted workflow session by id.

  5. genlayer_update_workflow_step Marks a workflow session step as completed or pending.

  6. genlayer_autopilot_brief Generates a single operator-grade brief with endpoint capabilities, contract context, workflow plans, handoff steps, and relevant docs.

  7. genlayer_load_contract_artifact Loads a local contract artifact or bytecode file and returns base64 plus file metadata. This tool is exposed only over the local stdio transport.

  8. genlayer_probe_endpoint_capabilities Probes which HTTP and RPC surfaces are actually exposed on the configured GenLayer deployment.

  9. genlayer_generate_agent_handoff Generates an explicit ordered handoff bundle so weaker agents know exactly which genskill-mcp tools to call next.

  10. genlayer_get_contract_interface Normalizes a contract schema into constructor, view methods, and write methods.

  11. genlayer_plan_contract_action Builds a schema-validated execution plan for deploy, read, or write actions.

  12. genlayer_plan_contract_workflow Builds a multi-phase contract workflow covering deploy, wait, snapshot, interaction, and diagnosis.

  13. genlayer_run_transaction_report Orchestrates waiting, inspection, status explanation, optional trace lookup, and optional contract snapshot into one report.

  14. genlayer_run_contract_report Orchestrates network context, contract snapshot, interface, workflow, and default plans into one report.

  15. genlayer_generate_typescript_workflow Generates GenLayerJS deploy/read/write snippets from a contract schema or deployed contract.

  16. genlayer_generate_contract_playbook Generates a schema-aware deployment and interaction playbook for a contract.

  17. genlayer_node_health Calls the configured GenLayer node HTTP GET /health endpoint.

  18. genlayer_network_status Returns a combined live snapshot of node health, chain id, block height, sync status, and optional debug ping status.

  19. genlayer_balance Calls the configured GenLayer HTTP GET /balance endpoint for the node operator.

  20. genlayer_eth_get_balance Calls eth_getBalance through the configured GenLayer RPC endpoint.

  21. genlayer_raw_rpc Calls gen_*, eth_*, zks_*, or zksync_* methods directly against the configured endpoint.

  22. genlayer_trace_transaction Calls gen_dbg_traceTransaction when the target node exposes debug methods.

  23. genlayer_metrics Fetches Prometheus-style metrics from the configured HTTP GET /metrics endpoint.

  24. genlayer_submit_raw_transaction Submits a signed raw transaction through eth_sendRawTransaction.

  25. genlayer_inspect_transaction Combines gen_getTransactionStatus, gen_getTransactionReceipt, and eth_getTransactionByHash into one response.

  26. genlayer_wait_for_transaction Polls transaction status until accepted or finalized.

  27. genlayer_explain_transaction_status Interprets transaction status into finality phase, appealability, and next-step guidance.

  28. genlayer_call_contract Executes gen_call for read, write-simulation, or deploy-simulation requests.

  29. genlayer_get_contract_schema Calls gen_getContractSchema for base64-encoded contract code.

  30. genlayer_get_contract_state Calls gen_getContractState for a deployed contract.

  31. genlayer_get_contract_code Calls gen_getContractCode for a deployed contract.

  32. genlayer_get_contract_snapshot Fetches state, deployed code, and derived schema in one call.

  33. genlayer_get_transaction_status Calls gen_getTransactionStatus for lightweight transaction polling.

  34. genlayer_get_transaction_receipt Calls gen_getTransactionReceipt for full processed transaction data.

  35. genlayer_syncing Calls gen_syncing on the configured endpoint.

Documentation tools

  1. genlayer_search_docs Searches the documentation bundle and returns ranked matches with snippets.

  2. genlayer_refresh_docs Force-refreshes the cached GenLayer documentation bundle from the configured source. Use this after the GenLayer team ships new docs, for example new Studio GEN, payable contract, Faucet, Tip Jar, or MetaMask updates.

  3. genlayer_read_doc Reads a section by slug, path, title, or fuzzy query.

  4. genlayer_get_doc_by_slug Reads a section by exact slug, path, docs URL, or resource URI.

  5. genlayer_search_examples Searches example-heavy sections that contain commands, code blocks, SDK snippets, or config examples.

  6. genlayer_get_related_docs Finds related documentation pages based on section path, title, and neighborhood in the docs tree.

  7. genlayer_list_topics Lists top-level GenLayer documentation topics with counts and example pages.

  8. genlayer_list_sections Lists available parsed documentation sections.

Resources

  1. genlayer://protocol/networks Documented GenLayer network presets, RPC URLs, and chain IDs.

  2. genlayer://workflow/sessions List of persisted workflow sessions. HTTP clients see only their authenticated tenant’s sessions.

  3. genlayer://workflow/session/{id} Persisted workflow session with step completion state, scoped to the authenticated HTTP tenant.

  4. genlayer://workflow/autopilot Single operator-grade brief for the configured endpoint and current contract context.

  5. genlayer://protocol/rpc-config JSON document showing the configured RPC endpoint, timeout, and supported helper methods.

  6. genlayer://protocol/capabilities Probed endpoint capabilities showing which HTTP and RPC surfaces are actually exposed.

  7. genlayer://protocol/transaction/{txId} Combined transaction inspection resource for a specific transaction hash.

  8. genlayer://protocol/transaction/{txId}/report Composed transaction report with status interpretation and optional trace data when exposed.

  9. genlayer://protocol/contract/{address}/state Current accepted-state snapshot for a specific deployed contract.

  10. genlayer://protocol/contract/{address}/snapshot Combined state, code, and schema snapshot for a specific deployed contract.

  11. genlayer://protocol/contract/{address}/playbook Schema-aware deployment and interaction playbook for a deployed contract.

  12. genlayer://protocol/contract/{address}/report Composed contract report with network context, snapshot, interface, workflow, and default plans.

  13. genlayer://protocol/contract/{address}/plans Default workflow plus default read/write action plans for a deployed contract.

  14. genlayer://protocol/contract/{address}/method/{method}/plan/{action} Default schema-validated plan for a specific read or write method.

  15. genlayer://docs/index JSON index of all parsed sections.

  16. genlayer://docs/section/{slug} Individual documentation sections as read-only resources.

Project structure

File/Folder

Purpose

src/index.ts

The server logic: loads docs, parses sections, registers tools and resources

src/cli.ts

Entry point that starts the stdio MCP server

src/genlayerAuthoring.ts

Contract scaffolder + linter + test scaffolder (pure, unit-tested)

src/authoringTools.ts

Registers the authoring tools and the dev-workflow prompts

src/mcpResponses.ts

Shared canonical response envelope helpers

src/genlayerDocs.ts

Docs loading, caching, parsing, search, and formatting helpers

src/genlayerRpc.ts

GenLayer RPC, HTTP ops endpoints, network presets, and transaction helpers

src/genlayerContractToolkit.ts

Schema normalization and GenLayerJS workflow/playbook generation

src/genlayerArtifacts.ts

Local artifact loading and hashing for artifact-driven GenLayer workflows

src/genlayerWorkflowSessions.ts

Persisted workflow session state and session formatting helpers

api/

Vercel API functions for the remote MCP, health, and root endpoints

test/

Unit tests for the authoring module (npm test, built-in node:test)

dist/

Compiled JavaScript output generated by npm run build

package.json

Dependencies, scripts, package metadata, and CLI registration

tsconfig.json

TypeScript compiler settings

vercel.json

Vercel routing and function configuration

README.md

Usage and client setup

How it's built

This MCP server is a lightweight TypeScript implementation built on the official MCP SDK.

Core components

  • Built on @modelcontextprotocol/sdk

  • Uses StdioServerTransport for local MCP clients

  • Uses zod to validate tool arguments

  • Fetches the GenLayer docs bundle from the official docs site

  • Parses the bundle into section-level resources based on each # path/to/file.mdx boundary

  • Uses a simple deterministic ranking function over titles, slugs, paths, and body text

Configuration

Optional environment variables:

  • GENLAYER_DOCS_URL: alternate source URL or local file path for the docs bundle

  • GENLAYER_DOCS_CACHE_FILE: cache location for the downloaded bundle

  • GENLAYER_DOCS_REFRESH_HOURS: cache freshness window in hours, default 24

  • GENLAYER_DOCS_TIMEOUT_MS: HTTP timeout in milliseconds, default 15000

The server also refreshes stale in-memory snapshots automatically. For long-running HTTP deployments, call genlayer_refresh_docs when the GenLayer team ships new documentation and an immediate update is needed without restarting the service.

Local development

This section is only for working on the MCP server itself.

npm install
npm run build
npm run check
npm start

npm run check verifies that the server can fetch and parse the live GenLayer docs bundle.

Releasing (maintainers)

Releases are published to npm automatically by .github/workflows/release.yml when a v* tag is pushed. One-time setup: add an npm automation token as the NPM_TOKEN repository secret (gh secret set NPM_TOKEN).

To cut a release:

npm version minor        # bumps package.json, commits, creates the tag vX.Y.Z
git push --follow-tags   # pushes the commit + tag; CI builds, tests, publishes

The workflow checks the tag matches package.json, runs the tests, and publishes with npm provenance. Once published, consumers update with:

npx -y genskill-mcp@latest      # always newest
npm update -g genskill-mcp      # if installed globally

Remote (Vercel) users need no action — the hosted endpoint auto-deploys from main; clients pick up changes on reconnect.

Credits

Built and maintained by:

Available Tools

46 tools
genlayer_autopilot_briefGenerate GenLayer Autopilot BriefA
Read-onlyIdempotent

Generate a single high-context operator brief that combines endpoint capabilities, contract context, workflow plans, weak-agent handoff steps, and relevant docs.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
goalNoPrimary goal for the operator brief.onboard
addressNoDeployed contract address to target.
contractPathNoOptional local contract artifact path for onboarding or deploy workflows.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly and idempotent; description adds value by specifying what the brief combines, 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/5

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

Single sentence, front-loaded with key action and resource, no wasted words.

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 no output schema, description adequately covers tool's purpose and inputs, but could mention output format for completeness.

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 coverage is 100%, and description adds high-level context but does not elaborate on parameter usage beyond what schema provides.

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 generates a high-context operator brief combining multiple elements, distinguishing it from sibling tools that perform individual tasks.

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 use for a comprehensive overview but lacks explicit when-to-use or when-not-to-use guidance or alternatives.

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

genlayer_balanceGet GenLayer BalanceA
Read-onlyIdempotent

Fetch the node operator balance from the configured GenLayer HTTP /balance endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint and idempotentHint; description adds endpoint detail ('HTTP /balance endpoint'), providing context beyond 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/5

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

Single sentence with no unnecessary words.

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?

No output schema needed; description fully covers the tool's action for a simple balance fetch.

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?

No parameters exist; schema coverage is 100%, and description does not need to add parameter details. Baseline 4 for zero parameters.

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?

Description uses specific verb 'Fetch' and resource 'node operator balance', clearly distinguishing from siblings like genlayer_eth_get_balance.

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?

No explicit guidance on when to use vs alternatives, though the tool's simplicity makes usage obvious.

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

genlayer_call_contractExecute GenLayer gen_callA

Execute a live gen_call request for read, write-simulation, or deploy-simulation against the configured GenLayer RPC endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoTarget contract address. Omit for deploy requests if the node accepts that shape.
dataYesHex-encoded call data payload.
fromYesCaller address.
typeYesGenLayer call type.
valueNoOptional hex-encoded value to send.
statusNoOptional state snapshot filter.
blockNumberNoOptional hex-encoded block number.
leader_resultsNoOptional validator-mode leader results.

TDQS

A3.8/5.0
Behavior4/5

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

Discloses that write and deploy are *simulations* (not real transactions), and that all types execute a 'live' request against the configured RPC. With no annotations, this is good transparency; could still add that it does not modify on-chain state for simulations.

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?

Single sentence of 16 words, front-loaded with the key action and resource. No unnecessary repetition or fluff.

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 8 parameters and no output schema, the description provides a sufficient high-level overview. Schema descriptions cover individual parameters. Could mention that write and deploy are simulations (already in behavioral transparency). Nearly complete.

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 covers 100% of parameters, so baseline is 3. Description adds no parameter-level details; it only summarizes the tool's overall purpose. No additional value beyond 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?

Clearly states action 'Execute' and resource 'gen_call request' for three specific call types (read, write-simulation, deploy-simulation). Distinguishes from siblings like genlayer_raw_rpc which is a generic RPC endpoint, and genlayer_get_contract_state which retrieves state separately.

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?

Provides no guidance on when to use this tool versus alternatives. Does not mention when to choose genlayer_raw_rpc, genlayer_submit_raw_transaction, or genlayer_get_contract_state for similar operations.

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

genlayer_eth_get_balanceGet EVM Balance Through GenLayerC
Read-onlyIdempotent

Call eth_getBalance through the configured GenLayer RPC endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet or contract address to inspect.
blockTagNoEthereum block tag, for example latest, pending, or a hex block number.latest

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds no further behavioral context beyond stating it calls eth_getBalance. Missing details like result format (e.g., wei), error behavior, or network assumptions.

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 a single sentence, front-loading the core purpose. Every word is necessary; there is no fluff or redundancy. It is appropriately concise for the simplicity of the tool.

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

Completeness2/5

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

No output schema exists, yet the description does not explain the return value (e.g., balance in wei) or any edge cases. Given the sibling tools' variety, more context (e.g., reliance on configured RPC endpoint) would aid correct usage.

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 coverage is 100%, with descriptions for both parameters ('address' and 'blockTag'). The tool description adds no additional semantics beyond what the schema provides, so baseline score of 3 is appropriate.

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 it calls eth_getBalance through the GenLayer RPC endpoint, indicating the tool retrieves an EVM balance. It distinguishes from sibling tools like genlayer_balance, which likely handles native balance, though the differentiation is implicit.

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?

No explicit guidance on when to use this tool versus alternatives like genlayer_balance or genlayer_call_contract. The description does not mention prerequisites, context, or limitations, 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.

genlayer_explain_transaction_statusExplain GenLayer Transaction StatusA
Read-onlyIdempotent

Interpret a GenLayer transaction hash into appealability, finality phase, and likely next step.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.
timestampNoOptional unix timestamp override for GenLayer status methods.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating safe, read-only behavior. The description adds value by specifying the conceptual outputs (appealability, finality phase, next step), providing context beyond 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/5

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

The description is a single sentence that is concise and front-loaded with the core purpose, with no extraneous information.

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?

The description adequately covers the tool's output concepts given its simplicity. It could be improved by mentioning return format or error handling, but it is sufficient for a tool with no output schema.

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 coverage is 100% with descriptions for both parameters. The tool description does not add any additional detail about parameters beyond what is already 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 that the tool interprets a transaction hash into appealability, finality phase, and likely next step. The verb 'Interpret' and specific outputs distinguish it from sibling tools like genlayer_get_transaction_status.

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 it provides a higher-level interpretation than raw status, but there is no explicit guidance on when to use this tool versus alternatives like genlayer_get_transaction_status or genlayer_inspect_transaction.

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

genlayer_generate_agent_handoffGenerate Agent HandoffB
Read-onlyIdempotent

Generate an explicit step-by-step GenLayer handoff bundle for weaker agents, including ordered tool usage, fallback paths, and success conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
goalNoPrimary agent goal.onboard
addressNoDeployed contract address to target.
contractPathNoOptional local contract artifact path for onboarding or deploy workflows.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, which are consistent with the description's 'generate' action (likely a safe, read-only computation). The description does not add behavioral context beyond the annotations, such as side effects or authentication needs. With annotations present, a score of 3 is appropriate as the description neither contradicts nor significantly enhances transparency.

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 a single sentence that conveys the core purpose and output structure without extraneous words. It is front-loaded with the main action. While concise, it could be slightly more structured, but it effectively communicates the tool's function.

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 has no output schema and four optional parameters, the description should elaborate on the return value to aid an AI agent. It vaguely mentions 'ordered tool usage, fallback paths, and success conditions' but does not specify the format or contents of the handoff bundle. Thus, the description is incomplete for full autonomous use.

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 all four parameters (code, goal, address, contractPath) are already documented in the input schema. The description does not provide additional semantic meaning for the parameters, only describing the output structure. Therefore, the baseline score of 3 is warranted.

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 specifies the tool generates a 'step-by-step GenLayer handoff bundle for weaker agents', including ordered tool usage, fallback paths, and success conditions. This clearly states the verb and resource, and the mention of handoff for weaker agents provides some distinction from sibling planning tools like genlayer_plan_contract_workflow, though the differentiation is not fully explicit.

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 a handoff bundle for weaker agents is needed, but it does not provide explicit guidance on when to use versus alternatives, nor does it mention exclusions or prerequisites. This is adequate but lacks sufficient direction for an AI agent to confidently choose this tool over similar ones.

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

genlayer_generate_contract_playbookGenerate Contract PlaybookB
Read-onlyIdempotent

Generate a schema-aware deployment and interaction playbook for a GenLayer contract.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
addressNoDeployed contract address to target.
contractPathNoOptional local or repo-relative contract path.

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety and idempotency. The description adds only 'schema-aware,' which provides minimal behavioral insight. It does not disclose potential outputs, resource requirements (e.g., need for network access), or side effects beyond what annotations convey.

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 a single, focused sentence with no extraneous information. It front-loads the key action and subject, making it immediately understandable.

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 three optional parameters, no output schema, and annotations that cover safety, the description is adequate but minimal. It does not explain what a playbook contains, its format, or how the tool handles missing parameters. An agent may need to infer details not provided.

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% coverage (each parameter has a description), so the baseline is 3. The description does not add any further parameter semantics; it merely restates the function without explaining parameter relationships or when to use each parameter.

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 'Generate a schema-aware deployment and interaction playbook for a GenLayer contract,' which identifies a specific verb and resource. However, it does not distinguish this tool from similar siblings like genlayer_plan_contract_workflow or genlayer_generate_agent_handoff, leaving some ambiguity about when to use this specific tool.

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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, use cases, or exclusions, leaving the agent without context for tool selection.

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

genlayer_generate_typescript_workflowGenerate GenLayer TypeScript WorkflowA
Read-onlyIdempotent

Generate GenLayerJS deploy/read/write code from a contract schema or deployed contract.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
addressNoDeployed contract address to target.
contractPathNoOptional local or repo-relative contract path to include in deploy snippets.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool's safety is clear. The description adds no further behavioral context (e.g., what happens if both code and address are provided), but 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/5

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

The description is a single, well-structured sentence that conveys the core functionality without any redundant information.

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?

The description covers the main use cases (from schema or deployed contract) but does not address edge cases like providing both code and address, or what happens if no parameters are given. No output schema is provided, but the description focuses on input.

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 the baseline is 3. The description adds value by explaining that the generated code covers deploy/read/write operations, beyond what the schema's parameter descriptions convey.

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 generates GenLayerJS code for deploy/read/write operations from a contract schema or deployed contract. It distinguishes itself from other scaffolding or contract inspection tools among siblings.

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 when to use the tool (need to generate TypeScript client code), but does not explicitly state when not to use it or provide alternatives. Sibling tools like genlayer_scaffold_contract serve different purposes, so guidance is only implied.

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

genlayer_get_contract_codeGet GenLayer Contract CodeA
Read-onlyIdempotent

Fetch the deployed base64 code blob for a GenLayer contract from the configured RPC endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoOptional state snapshot filter.
addressYesContract address to inspect.
blockNumberNoOptional hex-encoded block number.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. Description adds that the code is base64 encoded and fetched from RPC, but does not disclose error behavior, caching, or rate limits. Adequate but not rich.

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?

Single sentence, front-loaded with verb, no wasted words. All information is immediately useful.

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 annotations cover safety and simplicity, description is mostly complete. However, it does not specify output format (e.g., base64 string) or behavior for optional parameters like status or blockNumber. Minor gap.

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?

Input schema has 100% coverage for parameters; description adds no extra meaning beyond what schema already provides. Baseline score appropriate for full schema coverage.

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 verb 'fetch', the resource 'deployed base64 code blob', and the context 'GenLayer contract'. It clearly distinguishes from sibling tools like genlayer_get_contract_interface or genlayer_get_contract_state.

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?

No guidance on when to use this tool vs alternatives. The description does not mention when-not-to-use, prerequisites, or context for using this specific tool over others.

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

genlayer_get_contract_interfaceGet GenLayer Contract InterfaceA
Read-onlyIdempotent

Normalize a contract schema into constructor, view methods, and write methods.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
addressNoDeployed contract address to inspect.

TDQS

A3.6/5.0
Behavior3/5

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

The description states the tool normalizes a schema into categories, adding helpful output structure context beyond the annotations (readOnlyHint, idempotentHint). However, it does not elaborate on behavior like error handling, authentication needs, or the format of the returned interface categorization. The annotations already cover safety, so the description provides moderate additional 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/5

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

The description is a single, short sentence that efficiently conveys the core purpose and output structure. It contains no filler or redundant information, and the key 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 read-only, idempotent tool with two optional parameters and no output schema, the description is sufficiently complete. It explains what the tool does and what the output contains (constructor, view, write methods). It could mention that at least one parameter is needed, but given both are optional, this is a minor gap.

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 coverage is 100% with descriptive parameter names ('code' and 'address') and descriptions in the schema (Base64-encoded code, deployed address). The tool description adds no further meaning beyond what the schema already provides, earning a baseline score of 3.

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 uses the specific verb 'Normalize' and clearly states the resource is a contract schema, with output organized into 'constructor, view methods, and write methods.' This clearly distinguishes it from sibling tools like genlayer_get_contract_schema, which retrieves the raw schema, or genlayer_call_contract, which executes a method. The purpose is unambiguous.

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 lacks any guidance on when to use this tool versus alternatives. It does not specify scenarios (e.g., inspection vs. execution), prerequisites, or exclusions. With many sibling tools for contract interaction, the absence of usage context reduces the agent's ability to choose correctly.

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

genlayer_get_contract_schemaGet GenLayer Contract SchemaA
Read-onlyIdempotent

Derive the schema/interface for base64-encoded GenLayer contract code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesBase64-encoded contract code.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds no new behavioral context. It does not disclose what happens with invalid code or the format of the derived schema, but the safety profile is clear from 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/5

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

Single sentence, no extraneous information. Every word serves a purpose.

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 simple read-only tool with one parameter and no output schema, the description is mostly adequate. It could mention what the derived schema looks like or error handling, but overall it provides sufficient context given the minimal complexity.

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%, with the single parameter 'code' described as 'Base64-encoded contract code.' The description merely restates this fact without adding new meaning or constraints beyond 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 uses a specific verb 'derive' and clearly identifies the resource as 'schema/interface for base64-encoded GenLayer contract code.' It distinguishes from sibling tools like 'genlayer_get_contract_code' and 'genlayer_get_contract_interface'.

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?

No explicit guidance on when to use this tool versus alternatives such as 'genlayer_get_contract_interface' or 'genlayer_get_contract_state'. It does not mention when not to use it or specify prerequisites.

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

genlayer_get_contract_snapshotGet GenLayer Contract SnapshotA
Read-onlyIdempotent

Fetch contract state, deployed code, and derived schema in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoOptional state snapshot filter.
addressYesContract address to inspect.
blockNumberNoOptional hex-encoded block number.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint as true. The description adds the context of returning three components (state, code, schema). There is no contradiction, and the description is consistent with the safe, idempotent 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/5

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

The description is a single, concise sentence that communicates the tool's purpose without any unnecessary words or repetition.

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 read-only snapshot tool with well-documented parameters and no output schema, the description adequately conveys that the response includes state, code, and schema. It could be slightly more explicit about the structure or potential optionality of each component, but overall it's sufficient.

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% parameter description coverage, detailing address, status, and blockNumber. The description does not add any semantic value 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/5

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

The description clearly states the verb 'Fetch' and the specific resources: contract state, deployed code, and derived schema. It explicitly distinguishes itself from individual retrieval tools like genlayer_get_contract_state, genlayer_get_contract_code, and genlayer_get_contract_schema by offering a combined snapshot.

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 for efficient combined retrieval but does not provide explicit guidance on when to use this tool versus alternatives, nor does it state any prerequisites or exclusions.

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

genlayer_get_contract_stateGet GenLayer Contract StateA
Read-onlyIdempotent

Fetch the live state blob for a deployed GenLayer contract from the configured RPC endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoOptional state snapshot filter.
addressYesContract address to inspect.
blockNumberNoOptional hex-encoded block number.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true and idempotentHint=true, so the read-only behavior is already clear. The description adds that the state is fetched 'from the configured RPC endpoint' but does not disclose other traits like potential latency or whether it returns full vs. partial state. No contradiction with 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/5

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

The description is a single sentence, front-loaded with the key action and resource. No unnecessary words.

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?

No output schema is provided, and the description refers to a 'state blob' without clarifying its structure. For a tool with 3 parameters and no output schema, more detail about the return format would improve completeness. However, the description covers the essential input context.

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 coverage is 100%, with each parameter already described in the input schema. The description adds no additional meaning beyond 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 specifies 'Fetch the live state blob for a deployed GenLayer contract', using a specific verb and resource. It distinguishes from sibling tools like get_contract_interface, get_contract_code, and get_contract_snapshot by focusing on the 'state blob'.

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?

No guidance is given on when to use this tool versus alternatives such as get_contract_snapshot or call_contract. Context about prerequisites or filtering results is absent.

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

genlayer_get_doc_by_slugGet GenLayer Doc By SlugA
Read-onlyIdempotent

Read a GenLayer documentation section by exact slug, path, resource URI, or docs URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesExact section slug or path, for example understand-genlayer-protocol/core-concepts/genvm.
maxCharsNoMaximum characters to return.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds that the tool accepts multiple input formats, but does not disclose additional traits like pagination, error handling, or auth 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?

Single sentence, zero redundancy, no waste. Every word contributes to understanding.

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 simple read-only tool with annotations, the description is sufficient. It does not describe the output format, but annotations and schema richness mitigate this gap.

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 coverage is 100% with clear descriptions. The description adds value by stating alternative input formats (path, URI, URL) not explicitly listed in the schema, enhancing parameter semantics beyond schema 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 tool reads a GenLayer documentation section, specifies four input formats (slug, path, resource URI, docs URL), and distinguishes from siblings like search_docs.

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?

No explicit guidance on when to use this tool versus alternatives such as genlayer_search_docs or genlayer_read_doc. The description implies exact matching but does not state conditions or exclusions.

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

genlayer_get_transaction_receiptGet GenLayer Transaction ReceiptA
Read-onlyIdempotent

Fetch the full receipt for a processed GenLayer transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description's job is lighter. However, the description adds no additional behavioral context such as whether the receipt is always available or its size implications. It is adequate but not enhanced.

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 a single concise sentence with no fluff. It is front-loaded with the main action and resource.

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?

The tool has no output schema, so the description could help explain the receipt structure, but it does not. For a simple fetch operation with good annotations, it is minimally complete but missing detail about return values.

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 already covers the sole parameter txId with a description ('Transaction hash with 0x prefix'), and schema description coverage is 100%. The description adds no further meaning beyond what is 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 verb 'Fetch' and the resource 'full receipt for a processed GenLayer transaction', which is specific and distinguishes it from sibling tools like genlayer_get_transaction_status.

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, no prerequisites, and no scenarios where it is not appropriate. It lacks context for an agent to decide between this and related tools.

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

genlayer_get_transaction_statusGet GenLayer Transaction StatusA
Read-onlyIdempotent

Fetch the lightweight consensus status for a GenLayer transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.
timestampNoOptional unix timestamp override.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description's addition of 'lightweight consensus status' provides some context but does not elaborate on behavior beyond 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/5

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

Single sentence, no wasted words, front-loaded with key information.

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?

Minimal but adequate for a simple lookup with one required parameter. However, no output schema and description omits what 'status' means or what the response contains, leaving some uncertainty.

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 covers 100% of parameters, so description adds no extra meaning beyond what is in the schema. Baseline 3 applies.

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 uses specific verb 'Fetch' and resource 'lightweight consensus status for a GenLayer transaction', clearly distinguishing it from siblings like get_transaction_receipt or trace_transaction.

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?

No explicit guidance on when to use this tool versus alternatives. The phrase 'lightweight consensus status' implies it is not a full receipt, but does not specify when to prefer it or when to use other tools.

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

genlayer_get_workflow_sessionGet Workflow SessionA
Read-onlyIdempotent

Read a persisted GenLayer workflow session by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesWorkflow session id.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and idempotentHint=true, telling the agent this is a safe, read-only, idempotent operation. The description adds the verb 'Read', which is consistent but does not add further behavioral details (e.g., behavior when sessionId is invalid). With annotations covering the key traits, the description provides minimal incremental value.

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?

A single sentence that directly states the tool's purpose with no unnecessary words. It is front-loaded with the verb and resource, making it highly efficient for an agent to parse.

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 low complexity (single parameter, no output schema, and strong annotations), the description provides sufficient information. It covers the essential action and resource, and the annotations fill in safety and idempotency. No additional context is necessary for correct invocation.

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 coverage is 100% as the only parameter (sessionId) is described in the schema. The description does not add meaning beyond stating that retrieval is 'by id'. It does not clarify format, constraints, or relationship to other fields. Baseline 3 is appropriate since schema already documents the parameter.

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 action ('Read') and the resource ('persisted GenLayer workflow session by id'). It distinguishes this tool from sibling tools like genlayer_start_workflow_session (create) and genlayer_list_workflow_sessions (list), 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 Guidelines4/5

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

The description implies usage for retrieving a specific session by ID, which is clear from the context. However, it does not explicitly state when not to use it or suggest alternatives like genlayer_list_workflow_sessions for enumeration. The context is clear but lacks exclusions.

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

genlayer_inspect_transactionInspect TransactionB
Read-onlyIdempotent

Combine GenLayer status, GenLayer receipt, and Ethereum transaction lookup for a transaction hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.
timestampNoOptional unix timestamp override for GenLayer status/receipt methods.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description's safety profile is covered. The description adds that it combines multiple lookups, but does not disclose potential performance implications or error 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/5

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

Single 14-word sentence efficiently communicates the tool's combined nature. No unnecessary words.

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

Completeness2/5

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

Despite combining three lookups, the description does not specify the output format or structure. Without an output schema, an AI agent lacks context on what the combined response contains, limiting completeness.

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?

Input schema already describes both parameters with 100% coverage. Description adds no additional meaning or constraints beyond what's 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?

Description clearly states it combines three specific lookups (status, receipt, ethereum transaction) for a transaction hash. This distinguishes it from sibling tools that perform only one lookup.

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?

Description provides no explicit guidance on when to use this composite tool versus using individual lookup tools. An AI agent is left to infer usage context without explicit when/when-not guidance.

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

genlayer_lint_contractLint Intelligent ContractA
Read-onlyIdempotent

Static pre-deploy checks for a GenLayer contract. Catches the mistakes that make a deploy finalize with a bare invalid_contract or fail consensus: a comment directly under the runner header, unpinned/alias runners, missing gl.Contract, and GenVM Python-subset issues (for/sorted/lambda) and storage anti-patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesFull contract source to lint.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds detailed behavioral context about the specific issues checked (e.g., comment under runner header, unpinned runners, missing gl.Contract, Python-subset issues). This goes beyond annotations to inform the agent of exact checks.

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 two sentences, front-loading the purpose and then listing specifics. Every sentence adds value, no redundant information.

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?

The description lacks information about the output format (e.g., lint results, warnings, errors, pass/fail). With no output schema, the agent cannot know how to interpret the tool's return value. This is a gap for a linting tool.

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 single parameter 'code' is already well-described in the schema ('Full contract source to lint.'). The tool description does not add additional meaning or constraints beyond what the schema provides, so it 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.

Purpose5/5

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

The description clearly states the tool performs static pre-deploy checks for GenLayer contracts, listing specific issues it catches, which distinguishes it from sibling tools like scaffolding or deployment.

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

Usage Guidelines4/5

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

The description implies usage before deployment ('pre-deploy checks'), but does not explicitly state when to use it versus alternatives or when not to use it. The context of sibling tools helps, but no direct guidance is given.

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

genlayer_list_networksList GenLayer NetworksA
Read-onlyIdempotent

List current GenLayer network presets and RPC endpoints from the documented network matrix.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint, indicating a safe read operation. The description adds minimal context: it mentions the source ('documented network matrix') and the output type (presets and RPC endpoints). However, it does not disclose any potential rate limits, output size, or key behavioral traits beyond what is already clear from 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/5

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

The description is a single, well-structured sentence that conveys all necessary information without any extraneous words. It is front-loaded with the key action and resource.

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 absence of parameters and output schema, the description is reasonably complete. It identifies the data source and content. However, it does not specify the output format (e.g., array of objects) or provide example results, which would improve completeness for an agent unfamiliar with the tool.

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?

With zero parameters (schema coverage 100% by virtue of emptiness), the baseline is 4. The description adds no parameter-level details but clarifies the tool's output scope, which is acceptable for a parameterless tool.

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 verb 'list' and the resource 'GenLayer network presets and RPC endpoints', with the specific source 'from the documented network matrix'. It clearly distinguishes the tool's purpose from siblings like genlayer_network_status or genlayer_probe_endpoint_capabilities, which focus on connectivity status or endpoint probing, not listing presets.

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 over alternatives. For instance, it does not explain when to choose genlayer_list_networks vs genlayer_probe_endpoint_capabilities or genlayer_node_health. The agent is left to infer usage from the name and description alone.

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

genlayer_list_sectionsList GenLayer Doc SectionsA
Read-onlyIdempotent

List available GenLayer documentation sections, optionally filtered by prefix text.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum sections to list.
prefixNoOptional prefix or substring filter for titles, paths, or slugs.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description adds little beyond restating the optional filtering. No additional behavioral context like return format or limits is disclosed.

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?

Single sentence, front-loaded with verb and resource, no wasted words. Highly concise.

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 simple listing tool with two parameters and no output schema, the description is adequate. It could mention that it returns a list, but not required for completeness.

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%. The description only rephrases the 'prefix' parameter as 'optionally filtered by prefix text', adding no new semantic meaning beyond 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 uses a specific verb 'List' and resource 'GenLayer documentation sections', clearly distinguishing it from sibling tools like genlayer_search_docs or genlayer_read_doc.

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?

It states when to use (to list sections with optional filter) but does not provide explicit guidance on when not to use or alternatives. Sibling context implies differentiation but isn't explicit.

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

genlayer_list_topicsList GenLayer TopicsA
Read-onlyIdempotent

List top-level GenLayer documentation topics with section counts and example pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of topics to return.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint as true, indicating a safe, read-only operation. The description adds context about the content ('section counts and example pages') but does not disclose pagination, ordering, or other 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/5

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

The description is a single, clear sentence that front-loads the purpose and key details. It contains no fluff and is appropriately concise for a simple 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?

Given no output schema, the description does not specify the return format or ordering. It mentions 'section counts and example pages' but does not clarify how these appear. For a straightforward tool this is minimal but acceptable; more context could improve agent usage.

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 only parameter 'limit' is fully described in the schema with a default, range, and meaning. The description does not add any additional semantics beyond what is already in the schema, so baseline 3 applies.

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 verb 'List' and the resource 'top-level GenLayer documentation topics', and specifies that it includes 'section counts and example pages'. This distinguishes it from sibling tools like genlayer_list_sections or genlayer_search_docs.

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 the tool is for browsing top-level topics, but it does not explicitly state when to use it over alternatives such as genlayer_search_docs or genlayer_list_sections. No exclusions or context are provided.

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

genlayer_list_workflow_sessionsList Workflow SessionsA
Read-onlyIdempotent

List persisted GenLayer workflow sessions ordered by most recently updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of sessions to list.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, establishing safety and idempotency. The description adds context about persistence and ordering but does not disclose details like pagination behavior or return structure. Since annotations cover the safety profile, the description adds moderate value.

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 a single, well-structured sentence that immediately conveys the primary purpose and ordering. No unnecessary words or filler.

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 list tool with one parameter and no output schema, the description is minimally adequate. It states the resource and ordering but does not explain the return format or pagination semantics. Given the low complexity, it meets the minimum threshold.

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 coverage is 100% (the only parameter 'limit' has a description). The tool description does not add any additional meaning beyond the schema, 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/5

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

The description clearly states the verb 'list', the resource 'persisted GenLayer workflow sessions', and specifies the ordering 'by most recently updated'. This distinguishes it from sibling tools like genlayer_get_workflow_session (single session) and genlayer_start_workflow_session (create).

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 such as genlayer_get_workflow_session or genlayer_start_workflow_session. It does not indicate prerequisites or exclusions, 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.

genlayer_load_contract_artifactLoad Contract ArtifactA
Read-onlyIdempotent

Load a local contract artifact or bytecode file and return base64 plus file metadata for downstream GenLayer workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractPathYesLocal path to a compiled contract artifact or binary/code file.

TDQS

A3.6/5.0
Behavior3/5

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

The description adds that the tool returns base64 and file metadata, which is beyond the readOnly and idempotent annotations. However, it does not disclose file access restrictions, error handling, or security considerations that might be relevant for a local file read operation.

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 a single sentence that is front-loaded with the verb 'Load' and key objects. It contains no unnecessary words and efficiently conveys purpose and output.

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 simple read-only tool with one parameter and annotations covering safety, the description is mostly complete. It specifies the output (base64 and metadata), but lacks detail on metadata structure or potential error conditions (e.g., file not found). Still adequate for most agents.

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 coverage is 100% and the parameter description already explains the contractPath input. The tool description does not add any new meaning beyond what the schema provides, so baseline 3 is appropriate.

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 it loads a local contract artifact or bytecode file and returns base64 plus metadata, using a specific verb-resource pair. It distinguishes from on-chain contract tools like genlayer_get_contract_code or genlayer_call_contract.

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 mentions 'for downstream GenLayer workflows' implying use context but provides no explicit guidance on when to use this tool vs siblings (e.g., when to load local artifact vs fetch on-chain contract code). No exclusions or alternatives are given.

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

genlayer_metricsGet GenLayer MetricsA
Read-onlyIdempotent

Fetch Prometheus-style metrics from the configured GenLayer HTTP /metrics endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint as true, so the description's safety is consistent. The description adds context by specifying the endpoint ('/metrics'), which is not in annotations. However, it does not disclose potential network errors or polling 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/5

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

The description is a single sentence that immediately conveys the action and resource. No redundant information, perfectly concise and 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?

The tool has no output schema, so the description should hint at the return format. 'Prometheus-style metrics' is somewhat informative, but an agent unfamiliar with Prometheus might need more detail. Otherwise, for a no-parameter fetch, it is fairly complete.

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 no parameters (100% coverage, 0 params). With zero parameters, the description has no param details to add. Baseline 4 is appropriate.

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 verb 'Fetch', the resource 'Prometheus-style metrics', and the specific endpoint '/metrics'. It distinguishes this tool from sibling monitoring tools like genlayer_node_health or genlayer_network_status by focusing on metrics.

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 does not provide explicit guidance on when to use this tool versus alternatives. Usage is implied (when Prometheus metrics are needed), but no when-not conditions or sibling comparisons are given.

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

genlayer_network_statusGet GenLayer Network StatusA
Read-onlyIdempotent

Fetch a combined snapshot of GenLayer RPC connectivity, chain id, block height, and syncing status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint, indicating safe and idempotent behavior. The description adds that the tool returns a snapshot of specific fields, which is useful context. However, it does not go beyond listing fields, so the additional transparency is moderate. Score 3.

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?

A single, front-loaded sentence with 16 words that efficiently conveys the tool's purpose. No redundant information; every word earns its place.

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 simplicity (no parameters, no output schema, but annotations cover safety), the description adequately explains what the tool returns. However, it could be improved by hinting at the return format (e.g., JSON structure). Since there is no output schema, the description carries the burden, but it is still fairly complete for a status snapshot.

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 tool has 0 parameters, and schema coverage is 100% (trivial). The baseline for 0 parameters is 4, and the description does not need to add parameter information. It adds value by describing the output, which is appropriate for a no-param tool.

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 it fetches a 'combined snapshot' of GenLayer network status, listing specific fields (RPC connectivity, chain id, block height, syncing status). This distinguishes it from sibling tools like genlayer_syncing (likely focused only on syncing) and genlayer_node_health (likely a health check).

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 when to use (for a combined overview), but does not provide explicit guidance on when not to use or mention alternative sibling tools like genlayer_syncing or genlayer_node_health. The context is clear but lacks exclusions or comparisons, so score is 3 (implied usage).

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

genlayer_node_healthCheck GenLayer Node HealthA
Read-onlyIdempotent

Fetch the configured GenLayer node HTTP health endpoint and return the live response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds that it returns a 'live response' implying no caching, which is useful but minimal additional 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/5

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

Single sentence, front-loaded with the verb 'Fetch', no redundant words. Perfectly concise.

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 simple health check with no parameters and no output schema, the description fully covers the operation: fetch health endpoint and return live response. No missing context.

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?

No parameters exist; schema coverage is 100% (empty). Baseline for 0 parameters is 4. The description adds no parameter info but none is 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 clearly states the action ('Fetch') and the resource ('configured GenLayer node HTTP health endpoint') and what is returned ('live response'). It distinguishes from sibling tools like genlayer_network_status or genlayer_metrics which cover broader network or metric checks.

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?

No guidance on when to use this tool versus alternatives such as genlayer_network_status or genlayer_metrics. Does not mention any prerequisites or exclusions.

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

genlayer_plan_contract_actionPlan Contract ActionA
Read-onlyIdempotent

Build a schema-validated execution plan for deploy, read, or write contract actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoPositional arguments to validate against the schema.
codeNoBase64-encoded contract code to inspect directly.
fromNoOptional caller address for execution planning.
valueNoOptional hex or decimal value to send for payable writes.
actionYesContract action to plan.
addressNoDeployed contract address for read/write actions.
methodNameNoContract method name for read/write actions.
contractPathNoOptional local or repo-relative contract path for deploy workflows.
statusTargetNoDesired terminal status for transaction flows.finalized

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint, confirming safe, repeatable operation. The description adds that the plan is 'schema-validated', hinting at validation behavior. It does not detail return format or error handling, but the annotation coverage reduces 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/5

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

A single, well-structured sentence of 12 words that front-loads the core purpose. Every word adds value; no redundancy or filler.

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 tool with 9 parameters, the description is minimal. It omits what the plan looks like, how to use the output, and whether planning is synchronous. While the annotations provide safety context, the description does not fully equip an agent to understand the tool's process or output.

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?

All 9 parameters are described in the schema, so the description adds no additional meaning. It only reinforces the high-level purpose. With 100% schema coverage, the baseline is 3.

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 uses a specific verb ('Build') and resource ('execution plan'), and explicitly lists the supported action types ('deploy, read, or write'). This clearly distinguishes it from sibling tools like 'call_contract' (execution) and 'plan_contract_workflow' (multi-step planning).

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

Usage Guidelines4/5

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

The description implies use for planning before execution, and the presence of sibling tools like 'call_contract' and 'plan_contract_workflow' provides contextual differentiation. However, it lacks explicit when-not or alternative tool guidance.

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

genlayer_plan_contract_workflowPlan Contract WorkflowA
Read-onlyIdempotent

Build a multi-phase GenLayer contract workflow covering deploy, wait, snapshot, first read/write, and diagnosis.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
addressNoDeployed contract address to target.
contractPathNoOptional local or repo-relative contract path for deploy workflows.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds value by detailing the phases (deploy, wait, snapshot, etc.), which is behavioral context beyond the 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/5

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

The description is a single sentence that immediately states the tool's purpose and key characteristics. No filler or unnecessary detail.

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?

The description covers what the tool does but omits what it returns (no output schema) and how it relates to sibling tools like genlayer_start_workflow_session. For a planning tool with 3 parameters, more context on outputs and integration would help an agent.

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 coverage is 100%, so baseline is 3. The description does not mention parameters or explain how code, address, or contractPath map to the workflow phases. No additional meaning is added beyond the schema.

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 uses a specific verb 'Build' and resource 'multi-phase GenLayer contract workflow', listing concrete phases. It distinguishes from simpler planning tools like genlayer_plan_contract_action by implying a broader scope, though the distinction could be sharper.

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 gives no explicit guidance on when to use this tool versus alternatives (e.g., genlayer_plan_contract_action, genlayer_start_workflow_session). The usage context is only implied by the list of phases, but no exclusions or preferred scenarios are provided.

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

genlayer_probe_endpoint_capabilitiesProbe Endpoint CapabilitiesA
Read-onlyIdempotent

Probe the configured GenLayer deployment and report which health, RPC, sync, and debug surfaces are actually exposed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. Description adds no behavioral details beyond stating it probes and reports. Consistent with annotations, but no extra context.

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?

Single sentence with no wasted words, directly communicates the tool's purpose.

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 simple probe tool with no parameters and no output schema, the description fully conveys what the tool does. Annotations cover behavioral aspects. Completeness is high.

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?

No parameters to document; schema coverage is 100% trivially. Description adds no parameter info, but baseline is 4 for zero-param tools.

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?

Description uses specific verb 'probe' and resource 'GenLayer deployment', clearly stating it reports which health, RPC, sync, and debug surfaces are exposed. This differentiates it from sibling tools like genlayer_node_health and genlayer_syncing.

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?

Does not explicitly state when to use this tool versus alternatives. Usage is implied as a discovery step before calling specific endpoint tools, but no direct guidance or when-not-to-use advice is provided.

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

genlayer_raw_rpcCall GenLayer RPC MethodC
Idempotent

Call a GenLayer JSON-RPC method directly against the configured endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesJSON-RPC method name to call.
paramsNoPositional JSON-RPC params array.

TDQS

C2.9/5.0
Behavior2/5

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

The description adds little beyond the idempotentHint annotation. It does not disclose potential risks, the passthrough nature, or validation beyond the method pattern already in the schema. No contradiction with 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/5

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

The description is a single concise sentence. It is front-loaded but lacks some informative details, warranting a 4 rather than 5.

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

Completeness2/5

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

Given no output schema, the description should explain what the tool returns (the raw RPC response). It also lacks context on when to use this advanced tool. Incomplete for the complexity of raw RPC access.

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 coverage is 100% and includes descriptions for both parameters. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 verb 'Call' and resource 'GenLayer JSON-RPC method directly against the configured endpoint.' It is specific, but does not explicitly differentiate from sibling tools that also call RPC methods, though the name 'raw' hints at direct access.

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?

No guidance is provided on when to use this tool versus the many dedicated RPC tools (e.g., genlayer_eth_get_balance). There is no mention of alternatives or contexts where a raw call is appropriate.

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

genlayer_read_docRead GenLayer DocB
Read-onlyIdempotent

Read a specific GenLayer documentation section by slug, path, title, or fuzzy query.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYesSection slug, path, title, or a fuzzy lookup query.
maxCharsNoMaximum characters to return.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, covering safety and idempotency. The description adds that the tool reads a section via various query types, but does not disclose return format or potential limitations. With annotations, this is adequate but not enhanced.

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?

Single sentence, no filler. Every word is necessary and informative. Excellent conciseness.

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?

The description lacks specification of return value (e.g., document text content) and any constraints. With no output schema, the agent might benefit from knowing what is returned. However, for a simple read tool with good annotations and schema, it is minimally complete.

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 both parameters. The description mentions query types for 'section', but this is nearly identical to the schema description, adding no new semantics. Baseline 3 is appropriate.

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 verb 'Read' and the resource 'GenLayer documentation section', and specifies multiple identification methods (slug, path, title, fuzzy query). It distinguishes from siblings like genlayer_search_docs and genlayer_get_doc_by_slug by being broad in query types while focusing on a single section.

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?

No explicit guidance on when to use this tool versus alternatives like genlayer_search_docs or genlayer_get_doc_by_slug. The usage context is implied but exclusions and alternatives are not mentioned.

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

genlayer_refresh_docsRefresh GenLayer DocsA
Idempotent

Force-refresh the cached GenLayer documentation bundle from the configured source.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations state idempotentHint=true, and description adds 'force-refresh' and 'cached' details. No mention of side effects like network requests or potential latency.

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?

Single sentence, front-loaded, no extraneous information. Efficient and clear.

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?

Tool is simple with no parameters or output schema; description provides sufficient context for its simple action.

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?

No parameters; schema coverage is 100%. Baseline score of 4 applies per rules.

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?

Description clearly states verb 'force-refresh' and resource 'cached GenLayer documentation bundle', distinguishing it from other documentation tools like search, read, and get.

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?

No explicit when-to-use or alternatives; implied as a maintenance action but lacks guidance on context or prerequisites.

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

genlayer_run_contract_reportRun Contract ReportB
Read-onlyIdempotent

Orchestrate network context, contract snapshot, interface summary, workflow plan, and default action plans into one contract report.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesContract address to inspect.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is clear. The description adds value by stating that the tool combines multiple data sources (network context, snapshot, interface, etc.) into a single report, which is behavioral context beyond 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.

Conciseness4/5

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

The description is a single sentence that communicates the core purpose without extraneous words. It is appropriately front-loaded and concise, though the term 'orchestrate' could be simplified for clarity.

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 tool with one parameter, no output schema, and clear annotations, the description provides a reasonable high-level understanding. However, it lacks specifics about the report structure or how the output can be used, which might require additional exploration.

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 for the single parameter 'address', with a clear description 'Contract address to inspect.' Since the schema already fully documents the parameter, the description does not need to add more. Baseline score of 3 is appropriate.

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 uses a specific verb 'Orchestrate... into one contract report' and identifies the resource as a composite report, distinguishing it from siblings like genlayer_get_contract_snapshot or genlayer_plan_contract_workflow which focus on individual components. However, 'orchestrate' is slightly vague and could be more precise about the action.

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. There is no mention of context, prerequisites, or when not to use it. With many sibling tools performing related but distinct functions, this omission hinders correct selection.

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

genlayer_run_transaction_reportRun Transaction ReportA
Read-onlyIdempotent

Orchestrate waiting, inspection, status explanation, optional trace lookup, and optional contract snapshot into one transaction report.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.
waitNoWhether to poll before producing the final report.
addressNoOptional contract address to snapshot alongside the transaction report.
timestampNoOptional unix timestamp override for GenLayer status/receipt methods.
intervalMsNoPolling interval in milliseconds when waiting.
maxAttemptsNoMaximum polling attempts when waiting.
targetStatusNoDesired status target if waiting is enabled.finalized

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, read-only behavior. The description adds that the tool 'orchestrates' actions like waiting and inspection, which are non-destructive. However, it does not elaborate on potential side effects, error conditions, or performance implications beyond what annotations cover. The description is consistent with annotations, but adds limited behavioral context.

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 a single sentence that concisely conveys the tool's function. It is front-loaded with the key purpose. However, it could be slightly streamlined or structured to improve readability, but overall it is efficient without unnecessary words.

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 has no output schema, the description should explain what the report contains. It lists components (waiting, inspection, status explanation, optional trace lookup, contract snapshot) but does not specify the format, structure, or how results are returned. For a tool that generates a report, this leaves ambiguity about the output, making it less complete.

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% with all seven parameters documented. The description mentions 'optional trace lookup' and 'optional contract snapshot,' but no trace parameter exists in the schema; the contract snapshot maps to the address parameter. The description adds some high-level context but does not significantly enhance understanding of individual parameters beyond the schema's descriptions.

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 orchestrates multiple actions (waiting, inspection, status explanation, optional trace lookup, optional contract snapshot) into a single transaction report. It effectively distinguishes itself from sibling tools like genlayer_inspect_transaction, genlayer_wait_for_transaction, and genlayer_trace_transaction by offering a consolidated report rather than individual steps.

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 for generating a comprehensive report by combining multiple operations, but it does not explicitly state when to use this tool versus the individual sibling tools. There is no guidance on prerequisites, alternatives, or conditions where this tool is preferred or not recommended.

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

genlayer_scaffold_contractScaffold Intelligent ContractA
Read-onlyIdempotent

Generate a working starter GenLayer intelligent contract for a chosen template. The output has the runner header pinned and avoids the common deploy-killers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional contract name (becomes the class name).
templateYesstorage | llm-judge | web-oracle | token

TDQS

A3.8/5.0
Behavior4/5

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

Annotations provide readOnlyHint and idempotentHint, and description adds that output has runner header pinned and avoids common deploy-killers. No contradictions. Adds context beyond 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/5

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

Two sentences, no redundancy. Purpose stated first, followed by key behavioral note. Efficient and well-structured.

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?

Full schema coverage, good annotations, and clear purpose. Missing output format or error handling, but low complexity. Sufficient for correct invocation.

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% with clear descriptions for both parameters. Description adds no further detail beyond schema, but 'chosen template' reinforces intent. Baseline 3 is appropriate.

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?

Description clearly states the tool generates a starter GenLayer intelligent contract from a template. Verb 'Generate' and resource 'starter GenLayer intelligent contract' are specific. Distinguishes from sibling tools like genlayer_lint_contract and genlayer_scaffold_test.

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?

No guidance on when to use this tool versus alternatives. Does not mention when to avoid or any prerequisites. The description only explains what it does, not when it is appropriate.

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

genlayer_scaffold_testScaffold Direct-Mode TestA
Read-onlyIdempotent

Generate a fast in-memory direct-mode test (genlayer-test) for a contract template. Uses the real fixtures (direct_vm, direct_deploy, direct_alice) and mocks web/LLM calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoContract class name the test targets.
templateYesstorage | llm-judge | web-oracle | token

TDQS

A3.9/5.0
Behavior4/5

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

Adds context beyond annotations: mentions use of real fixtures and mocking of web/LLM calls. Annotations declare idempotentHint=true and readOnlyHint=true, consistent with generating in-memory tests. No contradictions.

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?

Two concise sentences, front-loaded with core action and details. No superfluous text.

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?

Missing description of return value/output. Also does not clarify that the 'name' parameter is optional. Adequate for a simple tool but could be more complete regarding optionality and output.

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 covers both parameters with descriptions. The description does not add new semantic meaning beyond what schema provides. Adequate but baseline due to high schema coverage.

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?

Clearly states verb 'generate' and resource 'direct-mode test for a contract template', with specific details about fixtures and mocks. Distinct from sibling tools like genlayer_scaffold_contract.

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?

Implies usage for fast in-memory testing but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives. No mention of genlayer_scaffold_contract as alternative for scaffolding contracts.

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

genlayer_search_docsSearch GenLayer DocsB
Read-onlyIdempotent

Search the GenLayer documentation bundle and return the most relevant sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return.
queryYesSearch query for the GenLayer docs.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, read-only operation. The description adds no further behavioral context (e.g., query syntax, result ordering, or limitations). It does not contradict annotations, so a score of 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.

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. While it could benefit from additional context, such as mentioning that results are snippets or ordered by relevance, it remains concise without wasting words.

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 search tool, the description is adequate but not comprehensive. It does not describe the return format (e.g., section titles, snippets, links) or behavior for empty results. Given the lack of an output schema, the description should ideally provide such details.

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 coverage is 100%, meaning both parameters (query and limit) have descriptions in the schema. The description's phrase 'return the most relevant sections' adds minimal additional meaning. With high schema coverage, baseline is 3.

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 action ('Search'), resource ('GenLayer documentation bundle'), and outcome ('return the most relevant sections'). It effectively distinguishes itself from sibling tools like genlayer_read_doc or genlayer_get_doc_by_slug, which are for retrieving specific docs rather than searching.

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. For instance, it does not explain when to search instead of reading a specific doc or listing sections. The agent must infer usage from the tool name alone.

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

genlayer_search_examplesSearch GenLayer ExamplesA
Read-onlyIdempotent

Search GenLayer documentation sections that contain code blocks, commands, SDK usage, or configuration examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return.
queryYesSearch query for example-heavy GenLayer docs.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint=true, so the description's behavioral disclosure is adequate. It doesn't add extra info about pagination or result formatting, but this is acceptable for a simple search tool.

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?

Single sentence, front-loaded, no unnecessary words. Efficiently conveys the tool's purpose.

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 simple search tool with full annotation coverage and schema documentation, the description is sufficient. It could mention behavior on no results, but not essential.

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?

Input schema covers both parameters (query required, limit optional) with descriptions. The description adds no extra meaning beyond 'example-heavy docs,' so baseline 3 is appropriate given 100% schema coverage.

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 it searches for documentation sections containing code examples, commands, SDK usage, or configuration examples. This distinguishes it from the sibling 'genlayer_search_docs' which likely searches all docs.

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

Usage Guidelines4/5

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

The description implies usage for finding example-heavy content, but does not explicitly exclude other contexts or mention when to use alternatives like genlayer_search_docs.

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

genlayer_start_workflow_sessionStart Workflow SessionB

Create a persisted GenLayer workflow session from a generated contract workflow plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoBase64-encoded contract code to inspect directly.
goalNoPrimary workflow goal.onboard
notesNoOptional operator notes to store with the session.
addressNoDeployed contract address to target.
contractPathNoOptional local contract artifact path for deploy workflows.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already mark readOnlyHint=false and idempotentHint=false, so the agent knows it's a mutating operation. The description adds 'persisted' but does not detail side effects, error states, or required permissions beyond what annotations imply.

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?

One concise sentence with no wasted words. However, it could include structured parameter hints without increasing length.

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

Completeness2/5

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

Given 5 parameters and no output schema, the description is too sparse. It doesn't explain the lifecycle of a workflow session, what a 'workflow plan' is, or how this relates to genlayer_plan_contract_workflow.

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%, giving baseline 3. The description adds no extra meaning about parameters—no hints on how to combine code, goal, address, contractPath, or notes.

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 verb 'Create' and the specific resource 'persisted GenLayer workflow session from a generated contract workflow plan', which distinguishes it from sibling tools like genlayer_list_workflow_sessions or genlayer_get_workflow_session.

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?

No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a workflow plan) or exclusions.

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

genlayer_submit_raw_transactionSubmit Raw TransactionA

Submit a signed GenLayer or Ethereum-compatible raw transaction through eth_sendRawTransaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawTransactionYesSigned raw transaction bytes as a 0x-prefixed hex string.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'submit' without explaining that it alters blockchain state, requires the transaction to be already signed, or what happens on invalid input.

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?

A single sentence that conveys all necessary high-level information with no wasted words.

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 one fully described parameter and no output schema, the description is mostly complete. It could mention broadcast behavior, but it is adequate for a straightforward tool.

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 parameter is fully documented. The description adds value by noting Ethereum compatibility, but overall meaning is already clear from 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 it submits a signed raw transaction, specifies GenLayer or Ethereum-compatibility, and mentions the underlying eth_sendRawTransaction method. It is specific and distinguishes it from sibling tools like genlayer_call_contract or genlayer_trace_transaction.

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 use for broadcasting a signed transaction but does not provide explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned among the many sibling transaction tools.

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

genlayer_syncingCheck GenLayer Sync StatusB
Read-onlyIdempotent

Call the configured GenLayer RPC endpoint gen_syncing method.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

The description adds the detail that it calls a specific RPC method, consistent with readOnlyHint and idempotentHint annotations. No new behavioral insights beyond that.

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?

Single sentence is concise but lacks structure. It is efficient but could benefit from breaking into action and result.

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 no output schema and minimal parameters, the description is adequate for a simple check. However, it omits what 'sync status' means or what the response looks like.

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?

No parameters exist, and schema coverage is 100%. The description adds no parameter info, which is acceptable given the empty schema.

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 calls a specific RPC method for sync status. It is specific but does not differentiate from sibling tools like node_health or network_status.

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?

No guidance on when to use this tool versus alternatives. It merely describes the action without context for selection.

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

genlayer_trace_transactionTrace GenLayer TransactionA
Read-onlyIdempotent

Call gen_dbg_traceTransaction for a transaction hash when the target node exposes debug methods.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIDYesTransaction hash with 0x prefix.
roundNoOptional appeal round to inspect.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's mention of calling a debug method adds context without contradicting. The condition about node exposing debug methods is additional behavioral guidance beyond annotations, but no further side effects are described. This is appropriate given annotation coverage.

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 a single sentence that efficiently conveys the action, method, and condition. No extraneous words. It is front-loaded with the core purpose and immediately useful.

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 has no output schema, the description omits return value details, but the trace output can be inferred. The condition about debug methods is a valuable completeness element. Overall, the description meets the basics for an agent to use the tool effectively, though adding a comment about the trace output format would improve it.

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 coverage is 100%—both parameters have descriptions in the schema (txID with 'Transaction hash with 0x prefix' and round with 'Optional appeal round to inspect'). The tool description does not add extra semantic value beyond what the schema provides, so a baseline score of 3 is warranted.

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 action ('trace a transaction'), the method ('gen_dbg_traceTransaction'), and the resource ('transaction hash'). It distinguishes this tool from many transaction-related siblings by specifying the dependency on debug methods. This is specific and actionable.

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

Usage Guidelines4/5

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

The description explicitly conditions use on the target node exposing debug methods, providing clear context. It does not list exclusions or alternatives, but among many sibling tools that handle transactions (e.g., genlayer_inspect_transaction, genlayer_get_transaction_status), the debug method requirement effectively differentiates usage.

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

genlayer_update_workflow_stepUpdate Workflow StepA
Idempotent

Mark a specific workflow session step as completed or pending.

ParametersJSON Schema
NameRequiredDescriptionDefault
completedNoWhether the step should be marked completed.
sessionIdYesWorkflow session id.
stepIndexYesZero-based step index within the phase.
phaseIndexYesZero-based phase index.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false and idempotentHint=true. The description adds that it marks steps as completed or pending (matching the boolean parameter), but it does not discuss side effects, authorization needs, or response behavior. Since annotations carry the safety profile, this is adequate but minimal.

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 a single clear sentence with no extraneous information. It is concise and front-loaded, though it could potentially include a brief list of required parameters.

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 has 4 parameters, no output schema, and comprehensive schema descriptions, the description is minimally complete. It does not mention the return value or what happens on success/failure, but the schema covers parameter details.

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%: all parameters have descriptions in the schema. The description adds no additional parameter details beyond the schema, so baseline 3 is appropriate.

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 action: 'Mark a specific workflow session step as completed or pending.' It specifies the resource (workflow session step) and the verb (mark as completed/pending), distinguishing it from sibling tools like genlayer_get_workflow_session or genlayer_start_workflow_session.

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 for updating step status but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context is clear but not directive.

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

genlayer_wait_for_transactionWait For TransactionA

Poll GenLayer transaction status until accepted or finalized, then return the combined inspection payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
txIdYesTransaction hash with 0x prefix.
timestampNoOptional unix timestamp override for GenLayer status/receipt methods.
intervalMsNoPolling interval in milliseconds.
maxAttemptsNoMaximum number of polling attempts.
targetStatusNoStop polling when this status is reached.finalized

TDQS

A4/5.0
Behavior4/5

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

The description discloses polling behavior and return of combined inspection payload. Annotations are minimal, so description carries burden. It does not mention error handling on timeout or failure, but otherwise transparent.

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?

Single sentence, front-loaded with key action ('poll...until...then return'). No wasted words.

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?

Description provides core purpose but omits details about what 'combined inspection payload' contains and error scenarios. Adequate for basic use, but could be more informative.

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 fully documents parameters. The description adds no parameter-specific information beyond what is already 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 polls for transaction status until a target status (accepted or finalized) and returns the combined inspection payload. It is distinct from sibling tools like get_transaction_status which are single-shot queries.

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 waiting for a transaction to reach a status, but does not explicitly contrast with alternatives like get_transaction_status or get_transaction_receipt, 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 46 tool updatesv2.3.3
    • First observedgenlayer_autopilot_brief
    • First observedgenlayer_balance
    • First observedgenlayer_call_contract
    • First observedgenlayer_eth_get_balance
    • First observedgenlayer_explain_transaction_status
    • First observedgenlayer_generate_agent_handoff
    • First observedgenlayer_generate_contract_playbook
    • First observedgenlayer_generate_typescript_workflow
    • First observedgenlayer_get_contract_code
    • First observedgenlayer_get_contract_interface
    • First observedgenlayer_get_contract_schema
    • First observedgenlayer_get_contract_snapshot
    • First observedgenlayer_get_contract_state
    • First observedgenlayer_get_doc_by_slug
    • First observedgenlayer_get_related_docs
    • First observedgenlayer_get_transaction_receipt
    • First observedgenlayer_get_transaction_status
    • First observedgenlayer_get_workflow_session
    • First observedgenlayer_inspect_transaction
    • First observedgenlayer_lint_contract
    • First observedgenlayer_list_networks
    • First observedgenlayer_list_sections
    • First observedgenlayer_list_topics
    • First observedgenlayer_list_workflow_sessions
    • First observedgenlayer_load_contract_artifact
    • First observedgenlayer_metrics
    • First observedgenlayer_network_status
    • First observedgenlayer_node_health
    • First observedgenlayer_plan_contract_action
    • First observedgenlayer_plan_contract_workflow
    • First observedgenlayer_probe_endpoint_capabilities
    • First observedgenlayer_raw_rpc
    • First observedgenlayer_read_doc
    • First observedgenlayer_refresh_docs
    • First observedgenlayer_run_contract_report
    • First observedgenlayer_run_transaction_report
    • First observedgenlayer_scaffold_contract
    • First observedgenlayer_scaffold_test
    • First observedgenlayer_search_docs
    • First observedgenlayer_search_examples
    • First observedgenlayer_start_workflow_session
    • First observedgenlayer_submit_raw_transaction
    • First observedgenlayer_syncing
    • First observedgenlayer_trace_transaction
    • First observedgenlayer_update_workflow_step
    • First observedgenlayer_wait_for_transaction

TDQS

A3.6/5.0

Scored across 46 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap among transaction-related tools (e.g., inspect, status, receipt, explain) and contract state retrieval tools (state, code, snapshot, schema). This could cause an agent to select the wrong tool without careful reading.

Naming Consistency5/5

All 46 tools follow a consistent 'genlayer_verb_noun' pattern with snake_case. The verb and noun are always clearly separated, making the tool set predictable and easy to navigate.

Tool Count2/5

With 46 tools, the surface is very large. While the scope covers many aspects of GenLayer development, the count exceeds the recommended 25+ threshold for 'too many', potentially overwhelming agents and increasing selection errors.

Completeness5/5

The tool set thoroughly covers the GenLayer lifecycle: scaffolding, linting, testing, workflow planning, contract deployment/interaction, network diagnostics, documentation retrieval, and transaction analysis. No obvious gaps are present.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    MCP server for AI agents to work with GenLayer projects, providing tools to run GenLayer CLI, lint contracts, and deploy contracts with automatic private key handling.
    4
    5 npm
    -
  • A
    license
    A
    quality
    A
    maintenance
    A local-first MCP server that gives AI coding agents persistent memory and controlled commands. Features a git-backed markdown knowledge vault with FTS5 search, surgical section edits, token-aware context budgeting, and a sandboxed command engine with human approval gates. Works with Claude Code, Cursor, Copilot, Gemini, and more.
    4
    58
    316 npm
    1
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Local-first MCP server that gives any AI coding agent per-project memory, workflow intelligence, and always-on, lossless token & context optimization.
    37
    12 npm
    5
    MIT