Skip to main content
Glama

One MCP endpoint for the WHOLE toolchain — GitHub, GitLab, Cloudflare, Vercel, Verpex, Gmail, Calendar, browser automation, research, ML, multi-agent coordination, and a large catalogue of pluggable domain cartridges, all reachable through a single zero-dependency stdio bridge.

License: MPL-2.0 npm Glama MCP Server OpenSSF Best Practices OpenSSF Scorecard Software Heritage Quality gate

What it is, honestly: BoJ exposes 68 MCP tools today (45 boj_* + 23 coord_*) over stdio with zero runtime dependencies. It catalogues 125 domain cartridges, but most of those are an inspectable catalogue, not live services — a cartridge only performs real actions when its backend process is running and you supply the right credentials. The bridge is fully inspectable offline; side-effectful tools return a structured {error, hint} until their backend is up. See Cartridges for the full story.

Contents

Features

  • Unified endpoint — GitHub/GitLab, Cloudflare/Vercel/Verpex, Gmail/Calendar, Firefox browser automation, CodeSeeker code intelligence, Semantic Scholar research, and Hugging Face ML, all behind one MCP server.

  • 68 MCP tools — 45 boj_* (5 core discovery/dispatch + explicit high-frequency tools) and 23 coord_* multi-agent coordination tools.

  • 125-cartridge catalogue — a single boj_cartridge_invoke reaches any catalogued cartridge; explicit boj_<domain>_<verb> tools exist for the highest-frequency operations.

  • Multi-instance AI coordinationlocal-coord-mcp lets several Claude / Gemini / Codex sessions on one machine discover each other, claim tasks without collision, and run under a master/journeyman/apprentice supervision model.

  • Zero runtime dependencies — the bridge runs on Node, Deno, or Bun with no install step.

  • Inspectable offlineboj_health, boj_menu, boj_cartridges, and boj_cartridge_info answer from an offline manifest so clients can introspect the server without any backend running.

  • MCP resources & prompts — 7 boj:// resources and reusable prompts (audit-repo, convene-cluster, deploy-with-dns-ssl, summarize-channel, triage-issues, proof-status).

  • Hardened — per-call rate limiting, size caps, prompt-injection detection with Unicode-confusable normalisation, and error sanitisation (paths, stack traces, and env vars stripped from responses).

  • Formally verified core — the coordination ABI is written in Idris2 with discharged proof obligations; remaining axioms are documented, not hidden.

Install

BoJ ships as an MCP server over stdio. The published npm package (@hyperpolymath/boj-server) has zero runtime dependencies, so no install step is ever required regardless of runtime.

Most cartridges call the BoJ REST backend on http://localhost:7700. Without it, the server is still fully inspectable; side-effectful tools return {error, hint}. See Backend.

Claude Code (CLI)

claude mcp add boj-server -- npx -y @hyperpolymath/boj-server@latest

Related MCP server: MCP Proxy Server

Claude Desktop

Edit claude_desktop_config.json:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows%APPDATA%\Claude\claude_desktop_config.json

  • Linux~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "boj-server": {
      "command": "npx",
      "args": ["-y", "@hyperpolymath/boj-server@latest"],
      "env": { "BOJ_URL": "http://localhost:7700" }
    }
  }
}

Restart Claude Desktop after saving.

npx (any MCP client)

The minimum stdio spec is command: npx, args: ["-y", "@hyperpolymath/boj-server@latest"]. Optional env: BOJ_URL (default http://localhost:7700). This works with VS Code / Copilot, Cursor, Cline, Windsurf, Continue.dev, Zed, and the Gemini CLI — point each client’s MCP config at that command. This repo’s .mcp.json is a working reference config.

Deno / Bun / Node (from a clone)

The bridge entrypoint is mcp-bridge/main.js and runs on any of the three runtimes with no install:

# Deno (no install step; the project's documented runtime)
deno run -A /path/to/boj-server/mcp-bridge/main.js

# Bun (zero-install)
bun /path/to/boj-server/mcp-bridge/main.js

# Node (>= 18)
node /path/to/boj-server/mcp-bridge/main.js

Quickstart

After install, ask your LLM: "Use the boj_health tool." You get {status:"ok", uptime_s, version} when the backend is up, or a structured hint when it is offline.

To talk to the bridge directly over stdio, send newline-delimited JSON-RPC. Initialize, then list tools:

printf '%s\n%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"demo","version":"0"}}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
  | node mcp-bridge/main.js

The initialize response reports protocol 2024-11-05 and server boj-server; tools/list returns 68 tool definitions (45 boj_*, 23 coord_*), each carrying a full description, JSON-Schema inputSchema/outputSchema, and MCP behaviour annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).

Call a tool:

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call",
  "params": { "name": "boj_health", "arguments": {} } }

The server also implements resources/list (7 boj:// resources) and prompts/list.

Capabilities overview

The bridge exposes 45 boj_* tools and 23 coord_* tools. A subset of cartridges have explicit boj_<domain>_<verb> tools for high-frequency operations; everything catalogued is reachable through boj_cartridge_invoke.

Group

Tools

Examples

Core discovery / dispatch

5

boj_health, boj_menu, boj_cartridges, boj_cartridge_info, boj_cartridge_invoke

GitHub

14

boj_github_list_repos, boj_github_create_issue, boj_github_create_pr, boj_github_merge_pr, boj_github_search_code, boj_github_graphql

GitLab

8

boj_gitlab_list_projects, boj_gitlab_create_mr, boj_gitlab_list_pipelines, boj_gitlab_setup_mirror

Browser (Firefox)

7

boj_browser_navigate, boj_browser_click, boj_browser_type, boj_browser_read_page, boj_browser_screenshot, boj_browser_tabs, boj_browser_execute_js

Cloud

3

boj_cloud_cloudflare, boj_cloud_vercel, boj_cloud_verpex

Communications

2

boj_comms_gmail, boj_comms_calendar

Research / code intel / ML / search

4

boj_research, boj_codeseeker, boj_ml_huggingface, boj_search

Coordination (local-coord-mcp)

23

coord_register, coord_claim_task, coord_send, coord_review, coord_approve, coord_health

Set BOJ_TOOL_SCOPE=core to advertise only the discovery surface; explicit boj_<domain>_* tools remain reachable via boj_cartridge_invoke regardless. A CSV of prefixes (e.g. core,github,browser) advertises core plus named groups.

Multi-agent coordination (coord_*)

A localhost multi-agent bus (default 127.0.0.1:7745) lets multiple AI sessions on one machine discover each other, claim tasks without collision, and operate under supervision (master approves; journeyman executes; apprentice stays gated):

  • Peerscoord_register, coord_list_peers, coord_set_variant, coord_set_capabilities, coord_get_peer_capabilities.

  • Typed envelopescoord_send, coord_send_gated, coord_receive (Nickel-contract validation, opt-in strict mode).

  • Task claimscoord_claim_task with role-based watchdog TTL, coord_progress heartbeats, coord_sweep_watchdog, optional advisory paths for path_overlap warnings.

  • Track recordcoord_report_outcome, coord_get_affinities, coord_set_declared_affinities, coord_scan_suggestions (emits overclaim/drift advisory envelopes).

  • Supervisioncoord_review, coord_review_entry, coord_approve, coord_reject, coord_promote_to_master, coord_transfer_master, plus coord_status / coord_health.

Task-claim collision-freedom is a task-level guarantee, not a git-level lock: two journeymen claiming different tasks that touch the same file can still hit a vanilla merge conflict. The supported pattern is branch-per-claim + per-peer worktree, advisory path-claims, and master-gated integration. The companion terminal UI lives in coord-tui/ and at hyperpolymath/coord-tui.

Cartridges

BoJ catalogues 125 cartridges across trust tiers (Teranga / Shield / Ayo). Be clear about what that means:

  • Catalogued ≠ live. boj_menu lists the full catalogue, but most cartridges report available: false. They are entries describing a capability — its API base URL, auth model (often brokered through vault-mcp), and any native FFI path — not a running service.

  • A cartridge becomes available when (1) its backend process is running and reachable via the BoJ REST API, and (2) you have supplied the credentials it needs.

  • Credentials are typically environment variables (GITHUB_TOKEN, GITLAB_TOKEN, CF_API_TOKEN, OAuth tokens, …) or are brokered by the vault-mcp credential cartridge. boj_cartridge_info <name> returns the cartridge’s manifest, including the exact auth requirement.

  • Without backend or credentials, side-effectful tools return a structured {error, hint} telling you what’s missing — they never silently fail.

Number transparency: 125 is the single source of truth — it is the number of cartridge.json manifests in the canonical boj-server-cartridges registry (the bundled cartridges/ tree was retired from this repo; populate a local cache with scripts/fetch-cartridges.sh + BOJ_CARTRIDGES_PATH) and what the live boj_menu reports. Every packaging file (package.json, jsr.json, smithery.yaml, ai-plugin.json, openapi.yaml, CITATION.cff) is reconciled to it. Of those 125, most are a catalogue entry rather than a live service — see the bullets above.

Catalogued domains include: git forges & code hosting, cloud platforms (Cloudflare, Vercel, AWS, GCP, DigitalOcean, Hetzner, Fly, Linode, Railway, Render), databases (PostgreSQL, MongoDB, Redis, Neo4j, ClickHouse, DuckDB, Turso, Supabase, Neon, …), containers & Kubernetes, CI/CD & observability (Buildkite, CircleCI, Hypatia, Grafana, Prometheus, Sentry), messaging (Slack, Discord, Telegram, Matrix), productivity (Notion, Linear, Jira, Obsidian, Zotero), ML/AI & coordination, browser & web automation, code intelligence & research, developer tooling (LSP/DAP/BSP, language & package registries), security & secrets, IaC & proof systems, and hyperpolymath-native admin cartridges.

Backend

Most cartridges (GitHub/GitLab, cloud, ML, browser, CodeSeeker, etc.) call the BoJ REST API — an Elixir service on http://localhost:7700. Two modes:

  1. Run BoJ locally — clone this repo and just run (see docs/quickstarts/USER.adoc). The REST API serves on port 7700.

  2. Inspectable mode only — without the backend, boj_health, boj_menu, boj_cartridges, and boj_cartridge_info still respond from the offline manifest, so any MCP client can introspect the server. Side-effectful tools return {error, hint} until the backend is up.

Note on versions: when the backend is offline, boj_health may report a placeholder backend version (0.1.0) from the bundled offline manifest — this is the manifest’s hardcoded value, not the npm package version (0.4.7). The MCP bridge itself reports 0.4.7 at initialize.

The coordination bus (local-coord-mcp) is a separate localhost service, default http://127.0.0.1:7745 (COORD_BACKEND_URL).

Transports

Selected with BOJ_TRANSPORT (ADR-0013):

Value

Behaviour

stdio (default)

Reads JSON-RPC from stdin, writes to stdout — how Claude Code / Desktop launch the bridge as a subprocess.

http

Starts an HTTP+SSE listener on BOJ_HTTP_PORT (default 7780) for remote / Workers / browser deployments. Binds 127.0.0.1 by default; BOJ_HTTP_AUTH=none is refused on a non-loopback bind.

both

Runs stdio and HTTP simultaneously.

HTTP auth: none (loopback only), or bearer against BOJ_HTTP_AUTH_TOKENS. mtls/oidc are planned, not yet implemented.

Configuration

Key environment variables (full schema in glama.json):

Variable

Default

Purpose

BOJ_URL

http://localhost:7700

Base URL for the BoJ REST backend.

GITHUB_TOKEN

PAT for boj_github_* tools.

GITLAB_TOKEN / GITLAB_URL

— / https://gitlab.com

Token + base URL for boj_gitlab_* tools.

BOJ_TOOL_SCOPE

full

full, core, or a CSV of domain prefixes (e.g. core,github,browser).

BOJ_RATE_LIMIT

60

Max tool calls per minute.

BOJ_LOG_LEVEL

info

debug / info / warn / error / silent.

BOJ_TRANSPORT

stdio

stdio / http / both.

BOJ_HTTP_PORT / BOJ_HTTP_BIND

7780 / 127.0.0.1

HTTP transport port and bind address.

BOJ_HTTP_AUTH / BOJ_HTTP_AUTH_TOKENS

none / —

HTTP auth mode and accepted bearer tokens.

COORD_BACKEND_URL

http://127.0.0.1:7745

Coordination bus backend.

COORD_REQUIRE_NICKEL

0

1 enables strict Nickel-contract validation on gated envelopes.

OTEL_EXPORTER_OTLP_ENDPOINT

When set, every tools/call emits an OTLP/JSON span to <endpoint>/v1/traces.

Security

  • Input hardening — per-call rate limiting (BOJ_RATE_LIMIT), request size caps, and prompt-injection detection with Unicode-confusable normalisation.

  • Error sanitisation — responses strip filesystem paths, stack traces, and environment variables before they reach the client.

  • HTTP safetyBOJ_HTTP_AUTH=none is refused on any non-loopback bind; bearer auth is required for remote exposure.

  • Credential isolation — cartridge credentials are supplied per-cartridge (env vars or the vault-mcp broker), never embedded in tool definitions.

  • Formal verification — the coordination ABI safety layer is written in Idris2 with discharged proof obligations; remaining believe_me sites are isolated, documented axioms over the compiler’s opaque Char/String primitives, tracked in PROOF-NEEDS.md.

  • Supply chain — SHA-pinned GitHub Actions; coherence tests assert the advertised tool list matches the cartridge manifest so nothing is advertised-but-undispatched.

Run the coherence tests:

node --test mcp-bridge/tests/

Report vulnerabilities per SECURITY.md.

License

  • CodeMPL-2.0 (Mozilla Public License 2.0) — the license published to npm and detected by GitHub.

  • Documentation — MPL-2.0 today (the repository’s REUSE config tags every file MPL-2.0); a CC-BY-SA-4.0 split for prose is the intended model, with the docs-licence rollout tracked as a follow-up.

Contributing & links

Maintained by Jonathan D.A. Jewell.

Available Tools

41 tools
boj_browser_clickC

Click an element on the page by CSS selector

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS selector of the element to click

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral context. It states the action but doesn't disclose effects (e.g., page navigation, form submission), error handling, or performance implications. It lacks details like whether it waits for element visibility or handles dynamic content.

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, efficient sentence with zero waste. It's front-loaded with the core action and method, making it easy to parse quickly.

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?

For a tool with no annotations, no output schema, and a single parameter, the description is incomplete. It doesn't cover behavioral traits, error cases, or return values, leaving gaps in understanding how the tool behaves in practice.

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 parameter 'selector' fully documented in the schema. The description adds no additional meaning beyond implying CSS selector usage, matching the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('click') and target ('element on the page'), specifying the method ('by CSS selector'). It distinguishes itself from siblings like 'type' or 'navigate' by focusing on clicking, but doesn't explicitly differentiate from other browser interaction tools beyond the verb.

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. It doesn't mention prerequisites (e.g., needing an open browser page), error conditions (e.g., if selector doesn't exist), or sibling tools like 'execute_js' for more complex interactions.

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

boj_browser_execute_jsC

Execute JavaScript in the current page context

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesJavaScript code to execute

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical behavioral details: it doesn't mention that this executes in the browser context (implying potential side effects like DOM manipulation), whether it returns a value from the script, error handling, security implications, or performance considerations. The description is minimal and doesn't compensate for the absence of 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, direct sentence with zero wasted words. It front-loads the core action ('Execute JavaScript') and specifies the context ('in the current page context') efficiently. Every word earns its place, making it easy to parse quickly.

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 the complexity of executing JavaScript in a browser (a potentially powerful and risky operation), the description is incomplete. With no annotations and no output schema, it fails to address key aspects: what the tool returns (e.g., the result of the script, errors), behavioral traits (e.g., side effects, execution context), or error conditions. For a tool with one parameter but significant implicit complexity, this minimal description leaves too many gaps for safe and effective 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?

The input schema has 100% description coverage, with the single parameter 'script' clearly documented as 'JavaScript code to execute'. The description adds no additional semantic context beyond what the schema provides (e.g., no examples of valid scripts, no mention of async support, or return value handling). Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding but doesn't need to.

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 ('Execute') and resource ('JavaScript in the current page context'), making the purpose immediately understandable. It distinguishes itself from sibling browser tools like click, navigate, or read_page by focusing on script execution rather than navigation or content extraction. However, it doesn't explicitly differentiate from potential JavaScript-related tools that might exist elsewhere in the server.

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. It doesn't mention prerequisites (e.g., needing a page loaded first), limitations (e.g., cross-origin restrictions), or when other tools like boj_browser_read_page might be more appropriate for extracting information. The agent must infer usage from the tool name and context alone.

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

boj_browser_navigateC

Navigate Firefox to a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to navigate to

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Navigate Firefox to a URL' implies a state-changing operation (browser navigation), but doesn't disclose important behavioral traits: whether this opens a new tab or uses current tab, what happens if navigation fails, whether it waits for page load, authentication requirements, or rate limits. The description is minimal and lacks operational 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?

The description is maximally concise - a single sentence with zero wasted words. It's front-loaded with the core action and resource. Every word earns its place: 'Navigate' (action), 'Firefox' (target), 'to a URL' (resource/destination).

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?

For a browser navigation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after navigation (does it return success/failure? page title? status?), doesn't mention potential side effects (tab creation, history updates), and provides no context about the Firefox instance being controlled. Given the operational nature of browser automation, more behavioral context is needed.

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 'url' clearly documented in the schema. The description doesn't add any parameter semantics beyond what the schema provides (it doesn't specify URL format requirements, validation rules, or examples). With high schema coverage, baseline 3 is appropriate as the schema does the parameter documentation work.

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 action ('Navigate Firefox') and resource ('to a URL'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling browser tools like 'boj_browser_read_page' or 'boj_browser_tabs', but the verb 'navigate' is specific enough to distinguish it from other browser interactions.

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. With multiple sibling browser tools available (like 'boj_browser_read_page' for reading content or 'boj_browser_tabs' for tab management), there's no indication of when navigation is appropriate versus other browser operations.

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

boj_browser_read_pageB

Read the text content of the current page

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool reads text content but lacks details on what 'text content' includes (e.g., visible text, hidden elements, formatting), whether it handles errors (e.g., if no page is loaded), or any performance considerations (e.g., speed, size limits). This leaves significant gaps in understanding how the tool behaves in practice.

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 directly states the tool's function without any unnecessary words or fluff. It's front-loaded with the core action ('Read'), making it easy to understand at a glance, and every part of the sentence contributes to defining the purpose efficiently.

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 the complexity of a browser tool (which can involve dynamic content and errors), no annotations, and no output schema, the description is insufficient. It doesn't explain what 'text content' entails, how it's returned (e.g., as plain text, structured data), or potential limitations (e.g., for JavaScript-heavy pages). This leaves the agent with incomplete information to use the tool effectively in varied contexts.

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 the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. A baseline score of 4 is applied as it meets the requirement for a parameterless tool without introducing confusion.

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 action ('Read') and resource ('text content of the current page'), making the tool's purpose evident. However, it doesn't explicitly differentiate from sibling browser tools like 'boj_browser_screenshot' (which captures visual content) or 'boj_browser_execute_js' (which runs scripts), leaving some ambiguity about its specific scope within the browser context.

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 whether it's for extracting visible text versus full HTML, or how it relates to other browser tools like 'boj_browser_navigate' (for page loading) or 'boj_browser_click' (for interaction). There's no mention of prerequisites, like needing a page to be loaded first, which could lead to misuse.

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

boj_browser_screenshotB

Take a screenshot of the current page

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as whether this is a read-only operation, what format the screenshot returns (e.g., image data, file path), potential side effects, or any rate limits. This is inadequate for a tool with zero 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, efficient sentence that directly states the tool's purpose with no unnecessary words. It's front-loaded and appropriately sized for a simple tool, earning its place without waste.

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 the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but incomplete. It lacks details on output format (e.g., image data type), behavioral context, and usage guidelines, making it insufficient for an agent to fully understand how to invoke and interpret results.

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 with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here, but doesn't compensate for any gaps since there are none. Baseline is 4 for zero parameters.

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 action ('Take a screenshot') and the target ('of the current page'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'boj_browser_read_page' which might also involve page content retrieval, missing full sibling differentiation.

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

Usage Guidelines2/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. It doesn't mention prerequisites (e.g., needing an active browser page), exclusions, or compare it to similar tools like 'boj_browser_read_page', leaving the agent to infer usage context.

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

boj_browser_tabsC

List, create, or close browser tabs

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesTab operation
urlNoURL for new tab (create only)
tab_idNoTab ID (close only)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions three operations but doesn't describe their effects (e.g., whether 'create' opens in background/foreground, if 'close' requires confirmation, or if 'list' returns tab metadata). For a tool with potential side effects (create/close), this lack of detail is a significant gap, though it doesn't contradict any 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 extremely concise (four words) and front-loaded with all key information. Every word earns its place by specifying the core operations. There's no redundancy or unnecessary elaboration, making it highly efficient for quick understanding.

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 the tool's complexity (three distinct operations with side effects), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral traits, error conditions, or return values (e.g., what 'list' outputs). For a multi-operation tool, this minimal description leaves too much undefined for effective agent 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?

The description adds no parameter semantics beyond what the schema provides. Since schema description coverage is 100% (each parameter has a description), the baseline score is 3. The description doesn't explain parameter interactions (e.g., 'url' is only for 'create', 'tab_id' for 'close') or provide examples, so it doesn't compensate for potential schema gaps.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs (list, create, close) and resource (browser tabs). It distinguishes itself from sibling browser tools like 'boj_browser_navigate' or 'boj_browser_read_page' by focusing on tab management rather than page interactions. However, it doesn't explicitly differentiate from non-browser siblings, which keeps it from a perfect score.

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. It doesn't mention prerequisites (e.g., browser context), exclusions (e.g., when other browser tools might be more appropriate), or comparisons with siblings like 'boj_browser_navigate' for URL handling. Usage is implied through the operation list but not explicitly stated.

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

boj_browser_typeC

Type text into an element on the page

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS selector of the input element
textYesText to type

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but doesn't mention important behavioral traits: whether this requires the element to be visible/interactable, if it simulates keystrokes or sets value directly, potential side effects (like triggering events), error conditions, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap.

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, efficient sentence that states the core functionality without any wasted words. It's appropriately sized for a simple tool and front-loads the essential information. Every word earns its place.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after typing (success indicators, return values, or error behavior), nor does it provide context about browser state requirements or interaction constraints. The agent lacks sufficient information to use this tool reliably in complex scenarios.

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 both parameters (selector and text) clearly documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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 action ('type text') and target ('into an element on the page'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling browser tools like boj_browser_click or boj_browser_read_page, which would require mentioning this is specifically for input elements rather than general interaction.

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. It doesn't mention prerequisites (like needing a page to be loaded), when not to use it (e.g., for non-input elements), or direct alternatives among the sibling browser tools. The agent must infer usage from the tool 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.

boj_cartridge_infoB

Get detailed information about a specific BoJ cartridge

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCartridge name (e.g. database-mcp, container-mcp, git-mcp)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a read operation ('Get'), but doesn't mention authentication needs, rate limits, error conditions, or what 'detailed information' includes (e.g., format, fields). For a tool with zero annotation coverage, this is insufficient.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the core purpose.

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 single-parameter lookup tool with good schema coverage but no annotations and no output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context and usage guidance. The absence of output schema means the description should ideally hint at return format, which it doesn't.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter 'name' with examples. The description doesn't add any parameter semantics beyond what's in the schema (e.g., doesn't clarify what constitutes a valid cartridge name beyond the examples). Baseline 3 is appropriate when schema does the work.

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 ('Get') and resource ('detailed information about a specific BoJ cartridge'), making the purpose understandable. However, it doesn't distinguish this tool from its sibling 'boj_cartridges' (which likely lists cartridges rather than providing detailed info about a specific one), preventing a perfect score.

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 like 'boj_cartridges' or 'boj_cartridge_invoke'. It doesn't mention prerequisites, context, or exclusions, leaving the agent to 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.

boj_cartridge_invokeC

Invoke a BoJ cartridge operation. Send a command to a specific cartridge for execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCartridge name (e.g. database-mcp, git-mcp)
paramsNoParameters to pass to the cartridge invocation

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral insight. It mentions 'invoke' and 'send a command,' implying a write/mutation operation, but does not disclose permissions, side effects, error handling, or response format. This is inadequate for a tool that likely performs actions with potential consequences.

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 brief (two sentences) and front-loaded with the core action. It avoids redundancy, though it could be more informative without sacrificing conciseness.

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 annotations, no output schema, and a tool that likely performs operations (implied by 'invoke'), the description is incomplete. It lacks details on behavior, return values, error cases, or how it fits with siblings, leaving significant gaps for an agent to use it correctly.

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 parameters 'name' and 'params' are documented in the schema. The description adds no extra meaning (e.g., examples of cartridge names or param structures), but the baseline is 3 since the schema handles parameter documentation adequately.

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

Purpose3/5

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

The description states the tool 'invoke[s] a BoJ cartridge operation' and 'send[s] a command to a specific cartridge for execution,' which clarifies the verb (invoke/send) and resource (cartridge). However, it lacks specificity about what 'invoke' entails (e.g., running a script, querying data) and does not differentiate from siblings like 'boj_cartridge_info' or 'boj_cartridges,' making it vague in context.

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 mentions sending a command to a cartridge but does not specify scenarios, prerequisites, or exclusions compared to sibling tools (e.g., 'boj_cartridge_info' for metadata). This leaves usage unclear.

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

boj_cartridgesB

Show the BoJ cartridge matrix — protocol x domain grid showing which cartridges serve which protocol/domain combinations

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool shows a matrix but doesn't describe how it behaves—e.g., whether it's a read-only operation, requires authentication, has rate limits, or returns structured data. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational traits.

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, efficient sentence that front-loads the core purpose ('Show the BoJ cartridge matrix') and adds clarifying detail ('protocol x domain grid showing which cartridges serve which protocol/domain combinations'). Every word earns its place with no redundancy or waste.

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 0 parameters, 100% schema coverage, and no output schema, the description is adequate for a simple read operation. However, it lacks details on behavioral aspects like safety or output format, which are important since no annotations or output schema exist. It meets minimum viability but has clear gaps in completeness.

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 description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description appropriately doesn't discuss parameters, and the schema fully covers the input structure.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Show the BoJ cartridge matrix — protocol x domain grid showing which cartridges serve which protocol/domain combinations.' It specifies the verb ('Show'), resource ('BoJ cartridge matrix'), and output format ('protocol x domain grid'), distinguishing it from siblings like 'boj_cartridge_info' or 'boj_cartridge_invoke'. However, it doesn't explicitly differentiate from all siblings, so it's not a perfect 5.

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. It doesn't mention prerequisites, context, or exclusions, nor does it reference sibling tools like 'boj_cartridge_info' for detailed cartridge data. Usage is implied by the purpose but lacks explicit instructions.

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

boj_cloud_cloudflareC

Manage Cloudflare resources — Workers, D1 databases, KV namespaces, R2 buckets, DNS zones/records

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe Cloudflare operation
api_tokenNoCloudflare API token (for authenticate)
paramsNoOperation parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'manage' which implies both read and write operations, but doesn't disclose authentication requirements, rate limits, error handling, or what 'manage' entails beyond listing resource types. The description is too vague about actual behavior.

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, efficient sentence that front-loads the core purpose. It wastes no words, though it could be more structured by separating resource types or adding brief context. For a multi-operation tool, this conciseness is reasonable but not optimal.

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?

For a complex tool with 12 operations, 3 parameters (including a nested object), no annotations, and no output schema, the description is inadequate. It doesn't explain the tool's scope, authentication flow, error conditions, or return formats. The agent must rely entirely on the input schema without contextual guidance.

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 documents all parameters thoroughly. The description adds no parameter-specific information beyond implying the tool handles Cloudflare resources. It doesn't explain the relationship between 'operation' choices and required parameters, or provide context for the 'params' object. Baseline 3 is appropriate when schema does the work.

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

Purpose4/5

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

The description clearly states the tool's purpose as managing Cloudflare resources with specific examples (Workers, D1 databases, KV namespaces, R2 buckets, DNS zones/records). It uses the verb 'manage' which is appropriate, though it doesn't explicitly differentiate from sibling tools like boj_cloud_vercel or boj_cloud_verpex beyond the Cloudflare focus.

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. It doesn't mention prerequisites like authentication, compare it to sibling cloud tools, or indicate which operations are appropriate for different scenarios. The agent must infer usage from the operation enum alone.

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

boj_cloud_vercelC

Manage Vercel projects — deployments, domains, environment variables, logs, serverless functions

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe Vercel operation
api_tokenNoVercel API token (for authenticate)
paramsNoOperation parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions resource types but doesn't describe authentication requirements (though 'api_token' parameter hints at it), rate limits, error handling, or what 'manage' entails (read vs write operations). The description doesn't contradict annotations since none exist, but it fails to provide adequate behavioral context for a multi-operation cloud management tool.

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

Conciseness4/5

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

The description is a single, efficient sentence that lists key resource areas. It's appropriately sized and front-loaded with the main purpose ('Manage Vercel projects'). However, it could be slightly more structured by separating operation categories or adding minimal context about the tool's scope.

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?

For a tool with 3 parameters, no annotations, no output schema, and a complex operation enum (9 options), the description is inadequate. It doesn't explain the tool's multi-operation nature, how operations relate to parameters, what results to expect, or any prerequisites. The description leaves too much undefined for effective agent 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%, providing good documentation for all 3 parameters. The description adds minimal value beyond the schema—it mentions 'Vercel projects' which aligns with the operation enum, but doesn't explain parameter relationships (e.g., that 'api_token' is specifically for 'authenticate' operation) or provide context for the generic 'params' object. Baseline 3 is appropriate given the schema does most of the work.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Manage Vercel projects' with specific resource areas listed (deployments, domains, environment variables, logs, serverless functions). It distinguishes from sibling tools by focusing on Vercel cloud operations rather than browser, GitHub, GitLab, or other domains. However, it doesn't specify the exact verb for each operation beyond 'manage'.

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. It doesn't mention when to choose specific operations (like 'authenticate' vs 'list-projects'), nor does it differentiate from sibling cloud tools like 'boj_cloud_cloudflare' or 'boj_cloud_verpex'. Usage context is implied but not explicit.

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

boj_cloud_verpexC

Manage Verpex hosting via cPanel UAPI — domains, DNS, email, databases, SSL, cron, metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe Verpex operation to perform
hostnameNocPanel hostname (for authenticate)
usernameNocPanel username (for authenticate)
api_tokenNocPanel API token (for authenticate)
domainNoDomain name (for DNS, SSL operations)
paramsNoAdditional operation parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It mentions 'manage' which implies both read and write operations, but doesn't specify authentication requirements, rate limits, error behavior, or what 'manage' entails for each operation type. The description is too vague about the tool's actual behavior.

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 efficiently structured as a single sentence listing the platform, interface, and resource areas. It's appropriately sized for a multi-operation tool, though it could be more front-loaded with clearer purpose. Every element earns its place by conveying scope.

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?

For a complex tool with 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the multi-operation nature, authentication flow, error handling, or return formats. The agent must rely entirely on the input schema to understand how to use this tool effectively.

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 all parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. It mentions general resource areas but doesn't explain how parameters like 'operation', 'domain', or 'params' relate to those areas. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose as managing Verpex hosting via cPanel UAPI and lists key resource areas (domains, DNS, email, databases, SSL, cron, metrics). It distinguishes from sibling tools by specifying the Verpex platform, but doesn't explicitly differentiate from other cloud tools like boj_cloud_cloudflare or boj_cloud_vercel beyond the platform name.

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. It doesn't mention when to choose Verpex management over other cloud tools, what prerequisites exist (like authentication), or any limitations. The agent must infer usage from the operation list alone.

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

boj_comms_calendarC

Google Calendar operations — list events, create events, check availability

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesCalendar operation
oauth_tokenNoOAuth2 token (for authenticate)
paramsNoOperation parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions operations but doesn't disclose behavioral traits like authentication requirements (implied by 'authenticate' operation but not explained), rate limits, error handling, or what 'check availability' entails. The description is too vague to inform the agent about how the tool behaves beyond basic operation names.

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 concise and front-loaded with a clear purpose in a single sentence. It efficiently lists key operations without unnecessary elaboration. However, it could be slightly more structured by grouping or explaining operations, but it's appropriately sized with zero waste.

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 the tool's complexity (multiple operations, authentication, no output schema, and no annotations), the description is incomplete. It lacks details on authentication flow, operation-specific behaviors, return values, and error cases. For a multi-operation tool with significant behavioral implications, this description is insufficient to guide an agent effectively.

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 parameters well. The description adds minimal value beyond the schema—it hints at operations but doesn't provide additional semantics like parameter usage details or constraints. With high schema coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Google Calendar operations' with specific verbs (list, create, check) and resources (events, availability). It distinguishes this as a calendar tool among siblings that are mostly browser, GitHub, GitLab, and other operations, though it doesn't explicitly differentiate from boj_comms_gmail which is another communications 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?

The description provides no guidance on when to use this tool versus alternatives. It lists operations but doesn't indicate prerequisites (like authentication), when to choose specific operations, or how this tool relates to sibling tools like boj_comms_gmail. There's no explicit when/when-not or alternative tool recommendations.

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

boj_comms_gmailC

Gmail operations — send, read, search emails, manage labels

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesGmail operation
oauth_tokenNoOAuth2 token (for authenticate)
paramsNoOperation parameters (to, subject, body for send; query for search; message_id for read)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions operations like 'send' and 'manage labels' which imply mutations, but doesn't disclose permissions needed, rate limits, error handling, or what 'authenticate' entails. The description is too vague to inform the agent about key behavioral traits beyond basic functionality.

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, efficient phrase that front-loads the core purpose. It lists key operations without unnecessary elaboration, though it could be slightly more structured (e.g., separating authentication from other operations). Every word earns its place, making it appropriately concise for a multi-operation 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?

Given the tool's complexity (multiple operations including mutations like 'send'), lack of annotations, and no output schema, the description is incomplete. It doesn't cover authentication requirements, error cases, or response formats, leaving significant gaps for an AI agent to understand how to invoke it correctly in 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 description coverage is 100%, so the schema already documents all parameters. The description adds minimal value by listing operation types (send, read, search, manage labels) which aligns with the 'operation' enum, but doesn't provide additional semantics like format details or constraints beyond what's in the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Gmail operations — send, read, search emails, manage labels', which specifies the verb 'operations' and resource 'Gmail' with concrete examples. It distinguishes from sibling tools like calendar or GitHub tools by focusing on email functionality, though it doesn't explicitly differentiate from potential overlapping email tools.

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. It lists operations but doesn't indicate prerequisites (like authentication), when to choose specific operations, or how it compares to other communication tools like 'boj_comms_calendar'. Usage is implied through the operation list, but no explicit context or exclusions are given.

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

boj_github_comment_issueD

Comment on an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
issue_numberYes
bodyYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'comment' without any information on permissions needed, rate limits, whether the comment is editable, if it triggers notifications, or what the response looks like. This is inadequate for a mutation tool with zero 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 extremely concise with a single three-word phrase, 'Comment on an issue', which is front-loaded and wastes no words. However, this conciseness comes at the cost of under-specification, but based on the scoring criteria, it earns full points for brevity and structure.

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

Completeness1/5

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

Given the complexity of a GitHub API tool with 4 parameters, no annotations, no output schema, and 0% schema coverage, the description is completely inadequate. It lacks essential details like authentication needs, error handling, return values, and usage context, making it insufficient for effective tool invocation.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 4 parameters (owner, repo, issue_number, body) are documented in the schema. The description adds no semantic information about these parameters, such as what 'owner' refers to (e.g., GitHub username/organization) or format requirements for 'issue_number' and 'body'. It fails to compensate for the schema gap.

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

Purpose2/5

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

The description 'Comment on an issue' is a tautology that essentially restates the tool name 'boj_github_comment_issue'. It specifies the verb 'comment' and resource 'issue' but lacks any distinguishing details about scope or GitHub context, making it vague compared to more specific descriptions like 'Add a comment to a GitHub issue with markdown support'.

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

Usage Guidelines1/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. It does not mention sibling tools like 'boj_github_create_issue' for creating issues or 'boj_github_get_issue' for retrieving issue details, nor does it specify prerequisites such as authentication or issue state requirements.

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

boj_github_create_issueC

Create an issue on a GitHub repo

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
titleYes
bodyNo
labelsNo

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the basic action without mentioning permissions required, rate limits, whether it's idempotent, what happens on failure, or the format of the response. This is inadequate for a mutation tool with zero 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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.

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 the complexity (a mutation tool with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, parameter details, or expected outcomes, leaving significant gaps for an AI agent to use the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so parameters are undocumented in the schema. The description adds no information about parameters beyond implying 'owner', 'repo', 'title', 'body', and 'labels' from the tool name and context. It doesn't explain what these parameters mean, their formats, or constraints, failing to compensate for the schema gap.

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 action ('Create an issue') and target resource ('on a GitHub repo'), providing a specific verb+resource combination. It distinguishes from siblings like 'boj_github_comment_issue' or 'boj_github_get_issue' by focusing on creation. However, it doesn't specify scope or constraints beyond the basic 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?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication, repository access), compare to similar tools like 'boj_gitlab_create_issue', or indicate when other tools might be more appropriate (e.g., 'boj_github_create_pr' for pull requests).

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

boj_github_create_prC

Create a pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
titleYes
bodyNo
headYes
baseNo

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden. It only states the action ('Create a pull request') without disclosing behavioral traits like required authentication, rate limits, whether it's idempotent, what happens on failure, or the expected response format. This is inadequate for a mutation tool with zero 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, efficient sentence with zero waste. It's appropriately sized and front-loaded, though it lacks detail, which is a completeness issue rather than conciseness.

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

Completeness1/5

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

Given the complexity of creating a pull request (a mutation with 6 parameters), no annotations, no output schema, and 0% schema coverage, the description is completely inadequate. It doesn't explain parameters, behavior, or return values, leaving the agent with insufficient information to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 6 parameters (owner, repo, title, body, head, base) are documented in the schema. The description adds no information about what these parameters mean, their formats, or examples, failing to compensate for the coverage gap.

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

Purpose3/5

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

The description 'Create a pull request' clearly states the action (create) and resource (pull request), but it's generic and doesn't differentiate from sibling tools like boj_github_merge_pr or boj_gitlab_create_mr. It specifies the GitHub context in the tool name but not in the description.

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 like boj_github_create_issue or boj_github_merge_pr. The description lacks context about prerequisites, such as needing an existing repository or branch, or when this is appropriate in a workflow.

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

boj_github_get_fileC

Get file contents from a repo

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
pathYes
refNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' file contents, implying a read-only operation, but doesn't specify authentication requirements, rate limits, error handling, or what happens with missing files. This leaves significant gaps for a tool interacting with external APIs.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 the complexity of interacting with GitHub's API (4 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain return values, error conditions, or behavioral nuances, leaving the agent with insufficient information to use the tool effectively beyond basic inference.

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

Parameters2/5

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

Schema description coverage is 0%, meaning none of the 4 parameters (owner, repo, path, ref) are documented in the schema. The description adds no information about what these parameters mean, their formats, or examples, failing to compensate for the schema's lack of documentation.

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 action ('Get file contents') and target resource ('from a repo'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'boj_github_search_code' or 'boj_github_get_repo' which might have overlapping functionality, preventing a perfect score.

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 doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage based on 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.

boj_github_get_issueD

Get a specific issue

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
issue_numberYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden but offers no behavioral details. It doesn't disclose if this is a read-only operation, requires GitHub authentication, has rate limits, returns structured data or raw content, or handles errors. For a tool with 3 parameters and no output schema, this lack of transparency is critical.

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 extremely concise with a single sentence, 'Get a specific issue,' which is front-loaded and wastes no words. While under-specified, it meets the criteria for brevity and structure without redundancy.

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

Completeness1/5

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

Given the tool's complexity (3 parameters, no annotations, no output schema), the description is severely incomplete. It doesn't cover purpose differentiation, usage context, behavioral traits, parameter meanings, or return values. For a GitHub API tool interacting with issues, this leaves the agent ill-equipped to use it correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning parameters (owner, repo, issue_number) are undocumented in the schema. The description adds no meaning beyond the tool name—it doesn't explain what these parameters represent (e.g., GitHub username, repository name, issue ID), their formats, or constraints. This leaves the agent guessing about input semantics.

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

Purpose2/5

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

The description 'Get a specific issue' restates the tool name (boj_github_get_issue) without adding specificity. It mentions the resource ('issue') but lacks details about what 'get' entails (e.g., retrieving metadata, comments, or full content) and doesn't differentiate from sibling tools like boj_github_list_issues or boj_github_search_issues, making it tautological rather than informative.

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

Usage Guidelines1/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. It doesn't mention prerequisites (e.g., authentication), compare it to siblings like boj_github_list_issues for multiple issues or boj_github_search_issues for filtered searches, or specify use cases (e.g., retrieving a single issue by number). This leaves the agent 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.

boj_github_get_prC

Get a specific pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
pull_numberYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Get a specific pull request', implying a read-only operation, but does not specify authentication requirements, rate limits, error handling, or what data is returned. This leaves significant gaps in understanding the tool's 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, efficient sentence with no wasted words, making it easy to parse. It is appropriately sized for a simple tool, though this conciseness comes at the cost of detail in other dimensions.

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 the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks details on parameter usage, behavioral traits, and output format, making it insufficient for an AI agent to fully understand how to invoke the tool correctly without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, meaning parameters 'owner', 'repo', and 'pull_number' are undocumented in the schema. The description does not add any meaning or context for these parameters, such as explaining what 'owner' refers to (e.g., GitHub username or organization) or the format of 'pull_number'. It fails to compensate for the low coverage.

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

Purpose4/5

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

The description 'Get a specific pull request' clearly states the verb 'Get' and resource 'pull request', making the purpose understandable. However, it does not differentiate from sibling tools like 'boj_github_get_issue' or 'boj_github_get_repo', which follow a similar pattern, so it lacks explicit distinction.

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 'boj_github_list_prs' for listing multiple pull requests or other GitHub tools for different operations. There is no mention of prerequisites, context, or exclusions, leaving usage unclear.

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

boj_github_get_repoC

Get a GitHub repository

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description 'Get a GitHub repository' gives no information about behavioral traits such as whether this is a read-only operation, what data is returned, error handling, rate limits, authentication requirements, or side effects. This is inadequate for a tool that interacts with an external API like GitHub.

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 with zero wasted words. It's front-loaded with the core action ('Get a GitHub repository'), making it immediately understandable. Every word earns its place, and there's no unnecessary elaboration or redundancy.

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 the complexity of interacting with GitHub's API, the lack of annotations, 0% schema description coverage, and no output schema, the description is incomplete. It doesn't address what the tool returns (e.g., repository metadata, status codes), error conditions, authentication needs, or how it differs from similar tools. This leaves significant gaps for an AI agent to use the tool effectively.

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

Parameters2/5

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

The input schema has 2 parameters (owner, repo) with 0% description coverage, meaning the schema provides no semantic information. The description 'Get a GitHub repository' adds minimal context by implying these parameters identify a repository, but it doesn't explain what 'owner' and 'repo' represent (e.g., GitHub username/organization and repository name), their format, or examples. This is insufficient compensation for the schema gap.

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 'Get a GitHub repository' clearly states the verb ('Get') and resource ('GitHub repository'), making the purpose immediately understandable. It distinguishes this tool from other GitHub tools like 'list_repos' or 'get_file' by focusing on retrieving a specific repository. However, it doesn't specify what 'Get' entails (e.g., retrieving metadata vs. full content), which prevents a perfect score.

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. It doesn't mention when this tool is appropriate (e.g., for retrieving repository details) versus when to use sibling tools like 'boj_github_list_repos' (for listing repositories) or 'boj_github_get_file' (for retrieving specific files). There's no context about prerequisites, authentication needs, or common use cases.

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

boj_github_graphqlC

Execute a GitHub GraphQL query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
variablesNo

TDQS

C2.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 carries the full burden. It states 'Execute a GitHub GraphQL query,' which implies a write operation could be possible (e.g., mutations), but doesn't clarify authentication needs, rate limits, error handling, or what 'execute' entails (e.g., returns raw GraphQL response). This leaves significant behavioral gaps for an agent.

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, efficient sentence with no wasted words. It's front-loaded and gets straight to the point, making it easy to parse quickly.

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 annotations, 0% schema coverage, no output schema, and 2 parameters (one nested), the description is incomplete. It doesn't cover authentication, error cases, return format, or how to structure queries/variables, leaving the agent with insufficient context for reliable use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'GitHub GraphQL query,' which hints at the 'query' parameter's purpose, but doesn't explain the 'variables' parameter or provide any syntax examples, required scopes, or format details. This adds minimal value beyond the bare schema.

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

Purpose3/5

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

The description 'Execute a GitHub GraphQL query' clearly states the action (execute) and target (GitHub GraphQL query), which is better than a tautology. However, it's somewhat vague about what specifically is executed (e.g., raw queries vs. predefined operations) and doesn't distinguish it from sibling tools like boj_github_get_repo or boj_github_list_issues, which might also use GraphQL internally.

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. With many sibling GitHub tools (e.g., boj_github_get_file, boj_github_list_issues), it's unclear whether this is for custom queries when those specific tools are insufficient, or if it's the primary interface. No exclusions or prerequisites are mentioned.

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

boj_github_list_issuesC

List issues on a GitHub repo

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
stateNo
per_pageNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention authentication requirements, rate limits, pagination behavior (implied by 'per_page' parameter but not explained), or what the output looks like, leaving significant gaps for a tool that likely interacts with an external API.

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, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose, making it easy to parse, though this brevity contributes to gaps in other dimensions.

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 annotations, 0% schema description coverage, and no output schema, the description is incomplete for a tool with 4 parameters that likely involves API calls. It fails to address authentication, error handling, response format, or usage nuances, leaving the agent with insufficient context to use it effectively.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'owner' and 'repo' refer to, the meaning of 'state' enum values, or how 'per_page' affects results. This leaves all 4 parameters semantically unclear beyond their schema definitions.

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 action ('List') and resource ('issues on a GitHub repo'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'boj_github_search_issues' by focusing on listing rather than searching, though it doesn't explicitly contrast them.

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 like 'boj_github_search_issues' or 'boj_github_get_issue'. The description lacks context about prerequisites (e.g., authentication needs) or typical use cases, offering minimal direction for selection.

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

boj_github_list_prsC

List pull requests

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
stateNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits like authentication needs, rate limits, pagination, or response format. It lacks details on what 'list' entails, such as whether it returns all PRs or requires parameters for filtering.

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 extremely concise with just three words, making it front-loaded and efficient. However, it's under-specified rather than optimally concise, as it lacks necessary details for effective tool use.

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 annotations, no output schema, and 3 parameters with 0% schema coverage, the description is incomplete. It doesn't provide enough context for a tool that likely interacts with GitHub API, missing details on behavior, parameters, and output.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain the meaning of 'owner', 'repo', or 'state' parameters, leaving them undocumented. With 3 parameters and low coverage, this is inadequate.

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

Purpose3/5

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

The description 'List pull requests' states the verb and resource clearly, but it's vague about scope and doesn't differentiate from sibling tools like 'boj_github_list_issues' or 'boj_github_get_pr'. It specifies what it does at a basic level but lacks detail about what kind of listing it performs.

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 such as 'boj_github_get_pr' for a single PR or 'boj_github_list_issues' for issues. The description implies usage for listing PRs but offers no context about prerequisites, filtering, or comparison with siblings.

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

boj_github_list_reposC

List your GitHub repositories

ParametersJSON Schema
NameRequiredDescriptionDefault
per_pageNo
sortNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'List your GitHub repositories' but doesn't clarify what 'your' means (e.g., authenticated user's repos, includes forks, visibility settings), whether it's paginated, rate-limited, or requires specific permissions. This leaves significant gaps for an agent to understand the tool's 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, straightforward sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's purpose.

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 the complexity (2 parameters, no annotations, no output schema), the description is incomplete. It doesn't cover parameter meanings, behavioral details like pagination or authentication, or output format. For a tool that likely returns a list of repositories, more context is needed to use it effectively without trial and error.

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

Parameters2/5

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

The input schema has 2 parameters with 0% description coverage (no schema descriptions). The tool description doesn't mention any parameters, failing to compensate for the lack of schema documentation. It doesn't explain what 'per_page' or 'sort' do, their defaults, or how they affect the listing, leaving parameters semantically unclear.

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 action ('List') and resource ('your GitHub repositories'), making the purpose immediately understandable. However, it doesn't differentiate from sibling GitHub tools like 'boj_github_get_repo' or 'boj_github_search_code', which would require more specificity about scope or filtering capabilities.

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. It doesn't mention any prerequisites (e.g., authentication), context for listing repositories (e.g., personal vs. organizational), or comparison to sibling tools like 'boj_github_get_repo' for single repos or 'boj_github_search_code' for code-based searches.

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

boj_github_merge_prC

Merge a pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
repoYes
pull_numberYes
methodNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Merge a pull request' implies a write operation that modifies repository state, but it doesn't disclose critical behaviors: authentication requirements, whether merging is destructive or reversible, rate limits, error conditions (e.g., merge conflicts), or what happens on success (e.g., closes PR). This leaves significant gaps for safe agent 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, direct sentence with zero wasted words. It's front-loaded with the core action and resource. While overly brief for completeness, it achieves maximum efficiency in its given form without redundancy or fluff.

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 the tool's complexity (a mutation operation with 4 parameters), lack of annotations, 0% schema coverage, and no output schema, the description is severely incomplete. It doesn't address behavioral risks, parameter meanings, usage context, or expected outcomes. For a GitHub merge tool, this leaves the agent guessing about critical operational details.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'owner', 'repo', 'pull_number', or 'method' represent, their formats, or that 'method' has enum values (merge, squash, rebase). With 4 parameters completely undocumented in both schema and description, this is inadequate for proper tool invocation.

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 'Merge a pull request' clearly states the action (merge) and resource (pull request) with a specific verb. It distinguishes this tool from sibling GitHub tools like 'boj_github_create_pr' or 'boj_github_get_pr' by focusing on merging rather than creation or retrieval. However, it doesn't specify the platform (GitHub) which is implied by the tool name but could be more explicit.

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. It doesn't mention prerequisites (e.g., pull request must be in a mergeable state), exclusions (e.g., not for draft PRs), or related tools (e.g., use 'boj_github_get_pr' to check status first). The agent must infer usage from the tool name and context alone.

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

boj_github_search_codeC

Search code on GitHub

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers no information about how the search works, what permissions are required, rate limits, pagination behavior, or what the response contains. 'Search code on GitHub' is a minimal statement that doesn't describe any behavioral traits beyond the basic action implied by the name.

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 extremely concise at just three words, with zero wasted language. It's front-loaded with the essential action and target, making it immediately scannable and efficient.

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 the complexity of a search operation, no annotations, no output schema, and poor parameter documentation, the description is incomplete. It doesn't explain what the tool returns, how results are structured, or provide any context about GitHub's code search capabilities, leaving significant gaps for an agent trying to use this tool effectively.

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

Parameters2/5

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

The input schema has 1 parameter with 0% description coverage, meaning the schema provides no documentation about the 'query' parameter. The description doesn't compensate by explaining what the query parameter should contain (e.g., search syntax, supported operators, examples), leaving the parameter's semantics completely undocumented.

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 'Search code on GitHub' clearly states the action (search) and target resource (code on GitHub), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'boj_github_search_issues', which performs a similar search operation but for issues rather than code.

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 are multiple GitHub-related sibling tools (e.g., 'boj_github_search_issues', 'boj_github_get_file', 'boj_github_list_repos') that serve different purposes, but the description doesn't indicate when this code search tool is appropriate versus those other options.

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

boj_github_search_issuesC

Search issues and PRs on GitHub

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('Search issues and PRs') without any information about permissions required, rate limits, pagination, output format, or whether this is a read-only operation. This leaves critical behavioral traits unspecified.

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, efficient sentence with no wasted words. It's appropriately sized for a simple tool and front-loaded with the core action, making it easy to parse quickly.

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 annotations, 0% schema coverage, and no output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, or any behavioral aspects like authentication or limits. For a search tool with one parameter, more context is needed to be fully helpful.

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

Parameters2/5

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

Schema description coverage is 0%, with one parameter 'query' undocumented in the schema. The description adds no information about what the query parameter should contain (e.g., search syntax, filters, GitHub query language), failing to compensate for the schema gap. It merely implies searching without parameter details.

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 'Search issues and PRs on GitHub' clearly states the verb (search) and resource (issues and PRs on GitHub), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'boj_github_list_issues' or 'boj_github_list_prs', which appear to list rather than search, so it misses full sibling distinction.

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. With siblings like 'boj_github_list_issues' and 'boj_github_list_prs' that might serve similar listing functions, there's no indication of when search is preferred over list operations or what specific search capabilities this offers.

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

boj_gitlab_create_issueC

Create a GitLab issue

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
titleYes
descriptionNo

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this requires authentication, has rate limits, returns an issue ID, or what happens on failure. For a mutation tool, this lack of transparency is a significant gap.

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, efficient sentence with no wasted words. It's front-loaded and appropriately sized for its content, though brevity contributes to under-specification rather than clarity.

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?

For a mutation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, parameters, and expected outcomes, making it inadequate for effective tool use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter information. It doesn't explain what 'project_id', 'title', or 'description' mean, their formats, or constraints. With 3 parameters undocumented, this fails to compensate for the schema gap.

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

Purpose3/5

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

The description 'Create a GitLab issue' clearly states the action (create) and resource (GitLab issue), but it's vague about scope and lacks differentiation from sibling tools like boj_github_create_issue. It doesn't specify what an 'issue' entails in GitLab context, making it minimally adequate but with gaps.

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. It doesn't mention prerequisites (e.g., authentication), compare to siblings like boj_gitlab_list_issues or boj_github_create_issue, or indicate when not to use it. This leaves the agent without contextual usage direction.

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

boj_gitlab_create_mrD

Create a merge request

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
titleYes
sourceYes
targetNo

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Create') without any details on permissions required, side effects, error handling, rate limits, or what the tool returns. This is inadequate for a mutation tool with zero 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 extremely concise with just three words, front-loaded with the core action. There is no wasted language, though this brevity contributes to the lack of detail in other dimensions.

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

Completeness1/5

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

Given the complexity of creating a merge request (a mutation operation), the absence of annotations and output schema, and 0% schema description coverage, the description is completely inadequate. It provides no behavioral context, parameter guidance, or usage instructions, leaving critical gaps for an agent.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 4 parameters (project_id, title, source, target) are documented in the schema. The description adds no information about what these parameters mean, their formats, or how they interact, failing to compensate for the schema gap.

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

Purpose3/5

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

The description 'Create a merge request' clearly states the action (create) and resource (merge request), but it's vague about scope and lacks differentiation from sibling tools like 'boj_gitlab_create_issue' or 'boj_github_create_pr'. It doesn't specify what system or context this applies to beyond the tool name hinting at GitLab.

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

Usage Guidelines1/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. There are multiple sibling tools for creating items (e.g., 'boj_gitlab_create_issue', 'boj_github_create_pr'), but the description offers no context, prerequisites, or comparisons to help an agent choose appropriately.

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

boj_gitlab_get_projectC

Get a GitLab project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID or URL-encoded path

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Get a GitLab project' but doesn't clarify if this is a read-only operation, what data is returned, error handling, authentication needs, or rate limits. This leaves significant gaps for an AI agent to understand the tool's 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 extremely concise with just four words, front-loading the core purpose without any wasted text. It efficiently communicates the essential action and resource, though this brevity contributes to gaps in other dimensions.

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 the lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what 'get' returns (e.g., project details, metadata), error conditions, or how it differs from sibling tools, leaving the AI agent with inadequate context for effective 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?

The input schema has 100% description coverage, with the parameter 'project_id' documented as 'Project ID or URL-encoded path'. The description adds no additional semantic context beyond this, so it meets the baseline score of 3 where the schema handles parameter documentation adequately.

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 action ('Get') and resource ('a GitLab project'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'boj_gitlab_list_projects' or specify what 'get' entails (e.g., retrieving metadata vs. full project data).

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 like 'boj_gitlab_list_projects' for listing multiple projects or other GitLab tools. The description lacks context about prerequisites, such as needing a specific project ID, or when this tool is appropriate.

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

boj_gitlab_list_issuesC

List GitLab project issues

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
stateNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'List GitLab project issues' implies a read-only operation but doesn't specify authentication requirements, rate limits, pagination behavior, or what data is returned. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple listing tool and front-loads the essential information immediately.

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?

For a tool with 2 parameters, 0% schema description coverage, no annotations, and no output schema, the description is insufficient. It doesn't compensate for the lack of structured documentation about parameters, behavior, or return values. The description alone doesn't provide enough context for reliable tool invocation.

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

Parameters2/5

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

Schema description coverage is 0%, meaning neither parameter has any documentation in the schema. The description provides no information about parameters beyond what's inferred from the tool name. It doesn't explain what 'project_id' represents, what format it expects, or what the 'state' enum values mean in context.

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 'List GitLab project issues' clearly states the action (list) and resource (GitLab project issues), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'boj_gitlab_list_projects' or other listing tools in the server, which prevents a perfect score.

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 are multiple sibling tools for listing (e.g., boj_gitlab_list_projects, boj_gitlab_list_mrs, boj_gitlab_list_pipelines) and no indication of when this specific issue-listing tool is appropriate versus other GitLab or GitHub issue tools.

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

boj_gitlab_list_mrsC

List merge requests

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
stateNo

TDQS

C2.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 carries the full burden of behavioral disclosure. It states 'List merge requests', implying a read-only operation, but doesn't specify permissions, rate limits, pagination, or what data is returned. This is inadequate for a tool with parameters and no output schema, as critical behavioral traits are missing.

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 extremely concise with 'List merge requests', a single phrase that is front-loaded and wastes no words. It efficiently conveys the core action, though this brevity contributes to gaps in other dimensions.

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 the tool has 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't cover parameter meanings, behavioral aspects like permissions or output format, or usage context. For a tool with this complexity, more information is needed to be adequately helpful.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds no information about parameters, failing to explain 'project_id' or 'state' (including the enum values like 'opened', 'closed'). This leaves parameters undocumented, with the description not compensating for the schema gap.

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

Purpose3/5

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

The description 'List merge requests' clearly states the verb ('List') and resource ('merge requests'), making the basic purpose understandable. However, it lacks specificity about scope (e.g., for a project, user, or all) and doesn't differentiate from sibling tools like 'boj_gitlab_list_issues' or 'boj_gitlab_list_projects', which reduces clarity in a multi-tool context.

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 doesn't mention context, prerequisites, or exclusions, such as how it relates to sibling tools like 'boj_gitlab_create_mr' or 'boj_gitlab_list_issues'. This leaves the agent without explicit direction for tool selection.

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

boj_gitlab_list_pipelinesC

List CI/CD pipelines

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

C2.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 carries the full burden of behavioral disclosure. 'List CI/CD pipelines' implies a read-only operation, but it doesn't specify critical details like authentication requirements, rate limits, pagination behavior, or what data is returned (e.g., pipeline statuses, IDs). This leaves significant gaps in understanding how the tool behaves in practice.

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 extremely concise with a single phrase, 'List CI/CD pipelines', which is front-loaded and wastes no words. While it may be too brief for completeness, it efficiently conveys the core action without unnecessary elaboration.

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 the complexity of a CI/CD pipeline listing tool with no annotations, no output schema, and a parameter with 0% schema coverage, the description is incomplete. It doesn't address key aspects like return values, error handling, or operational constraints, making it inadequate for the agent to use the tool effectively without additional context.

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

Parameters2/5

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

The input schema has one parameter ('project_id') with 0% description coverage, meaning the schema provides no semantic details. The description adds no information about parameters, failing to explain what 'project_id' represents (e.g., a GitLab project ID or name) or its format, which is insufficient given the low schema coverage.

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

Purpose3/5

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

The description 'List CI/CD pipelines' clearly states the verb ('List') and resource ('CI/CD pipelines'), providing a basic understanding of the tool's function. However, it doesn't differentiate from sibling tools like 'boj_gitlab_list_issues' or 'boj_gitlab_list_mrs', which follow a similar pattern for different resources, making the purpose somewhat generic rather than specific.

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 lacks context such as prerequisites (e.g., authentication), when it's appropriate (e.g., for monitoring pipelines), or comparisons to other GitLab tools like 'boj_gitlab_list_projects', leaving the agent without usage direction.

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

boj_gitlab_list_projectsC

List your GitLab projects

ParametersJSON Schema
NameRequiredDescriptionDefault
per_pageNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It lacks details on behavior such as pagination (implied by 'per_page' param), authentication requirements, rate limits, or output format (e.g., list structure, fields returned). This is inadequate for a tool with potential complexity.

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, efficient sentence with no wasted words. It is front-loaded and directly states the tool's function, making it easy to parse quickly.

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 annotations, 0% schema coverage, no output schema, and one undocumented parameter, the description is incomplete. It doesn't explain key aspects like how projects are filtered (e.g., by user, visibility), what data is returned, or behavioral constraints, leaving significant gaps for an AI agent.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. The 'per_page' parameter is undocumented in both schema and description, leaving its purpose (e.g., pagination control) unclear. This fails to address the coverage gap.

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 'List your GitLab projects' clearly states the action (list) and resource (GitLab projects), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'boj_gitlab_get_project' or 'boj_github_list_repos', which would require specifying scope or ownership details.

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. It doesn't mention prerequisites (e.g., authentication), context (e.g., personal vs. group projects), or compare to siblings like 'boj_gitlab_get_project' for single projects or GitHub tools for cross-platform needs.

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

boj_gitlab_setup_mirrorC

Set up a push mirror

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
target_urlYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Set up a push mirror', implying a write/mutation operation, but doesn't disclose behavioral traits such as required permissions, whether it's idempotent, potential side effects (e.g., overwriting existing mirrors), or error handling. This leaves significant gaps for safe agent use.

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, 'Set up a push mirror', which is appropriately concise and front-loaded. However, it's under-specified rather than efficiently informative, slightly reducing its effectiveness.

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 annotations, 0% schema coverage, no output schema, and 2 parameters, the description is incomplete. It lacks details on usage context, parameter semantics, behavioral transparency, and expected outcomes, making it insufficient for a mutation tool in a complex domain like GitLab.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds no meaning beyond the schema—doesn't explain what 'project_id' or 'target_url' represent (e.g., GitLab project ID format, valid URL patterns for mirrors). With 2 undocumented parameters, this is inadequate, scoring below the baseline of 3 for high schema coverage.

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

Purpose3/5

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

The description 'Set up a push mirror' clearly states the action (set up) and resource (push mirror), but it's vague about what a 'push mirror' entails in this context (e.g., GitLab repository mirroring). It doesn't distinguish from sibling tools like boj_gitlab_list_projects or boj_gitlab_create_mr, which are unrelated but share the GitLab domain.

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. It doesn't mention prerequisites (e.g., needing an existing GitLab project), exclusions, or related tools like boj_gitlab_get_project for verifying project_id. The context is implied from the tool name but not explicitly stated.

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

boj_healthB

Check BoJ server health status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Check') but doesn't describe what the check entails (e.g., ping, status codes, uptime), what the output might look like, or any side effects like rate limits. This leaves significant gaps for an agent to understand the tool's 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, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly. This is an excellent example of 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?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks details on behavior and usage context. For a health check tool, more information on expected outputs or typical use cases would enhance completeness, but it's adequate for basic understanding.

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 with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter details, and it correctly implies no inputs are required, aligning with the schema. A baseline of 4 is appropriate for a zero-parameter tool.

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 action ('Check') and resource ('BoJ server health status'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools, as none appear to be health-check related, so this is adequate but not exceptional.

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 lacks context about when health checks are appropriate, such as after deployment or during troubleshooting, which would help an agent decide when to invoke it.

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

boj_menuB

List all BoJ cartridges with their domains, protocols, tiers, and availability

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a list operation, implying it's read-only and non-destructive, but doesn't mention any behavioral traits like rate limits, authentication needs, pagination, or error handling, which are critical for a tool with no structured 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, efficient sentence that front-loads the key action ('List all BoJ cartridges') and specifies the returned data without any fluff. Every word serves a purpose, making it highly concise and well-structured for quick understanding.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, no output schema), the description is adequate but has gaps. It lacks behavioral context (e.g., how data is formatted or if it's paginated) and doesn't differentiate from siblings, making it minimally viable but incomplete for optimal agent use without additional structured data.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and the baseline score for 0 parameters is 4, as it avoids unnecessary details while being complete in this context.

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 action ('List all') and the resource ('BoJ cartridges'), specifying the data fields returned (domains, protocols, tiers, availability). However, it doesn't explicitly differentiate from sibling tools like 'boj_cartridges' or 'boj_cartridge_info', which appear related, leaving some ambiguity about when to choose 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?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'boj_cartridges' and 'boj_cartridge_info' that seem related to cartridges, there's no indication of context, prerequisites, or exclusions to help an agent select appropriately among them.

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

boj_ml_huggingfaceC

Hugging Face operations — search models, model info, inference, spaces, datasets

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesHuggingFace operation
api_tokenNoHF API token (for authenticate)
paramsNoOperation parameters (query for search, model_id for info/inference)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It lists operations but doesn't disclose behavioral traits like authentication requirements (implied by 'authenticate' operation but not explained), rate limits, response formats, or error handling. For a multi-operation tool with no annotations, this is insufficient.

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 concise and front-loaded, listing key operations in a single sentence. It avoids unnecessary words, though it could be slightly more structured (e.g., grouping operations). Every part contributes to understanding the tool's scope.

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 the tool's complexity (multiple operations, nested params object, no output schema, and no annotations), the description is incomplete. It lacks details on authentication, operation-specific behaviors, return values, and error cases, making it inadequate for an AI agent to use effectively without trial and error.

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 parameters. The description adds minimal value by hinting at operation types but doesn't provide additional semantics beyond what's in the schema (e.g., details on 'params' object). Baseline 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description clearly states the tool performs 'Hugging Face operations' and lists specific operations like search models, model info, inference, spaces, and datasets. It provides a verb+resource combination but doesn't differentiate from siblings since all other tools are unrelated (browser, cloud, GitHub, etc. operations).

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 merely lists operations without indicating context, prerequisites, or exclusions. There's no mention of when to choose specific operations or how this tool relates to other ML/AI tools.

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

boj_researchC

Academic research — search papers, citations, references, authors

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesResearch operation
api_keyNoAPI key (for authenticate)
paramsNoOperation parameters (query for search, paper_id for details/citations, author_id for author-papers)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Academic research' and lists operations, but fails to describe critical behaviors such as authentication needs (implied by the 'authenticate' operation in the schema), rate limits, error handling, or what the tool returns (since there's no output schema). This is inadequate for a tool with multiple operations and no structured safety hints.

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 very concise—a single phrase listing key operations. It's front-loaded with the domain ('Academic research') and wastes no words, though it could be more structured (e.g., separating operations with commas or bullet points). Every word contributes to the purpose, making it efficient.

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 the tool's complexity (multiple operations via the 'operation' parameter, nested 'params' object, and no output schema), the description is incomplete. It doesn't explain how to use the operations, what inputs are needed for each, or what to expect in return. With no annotations and rich input schema, the description should provide more context to guide the agent effectively.

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 all parameters (operation, api_key, params) with descriptions and an enum for operation. The description adds minimal value beyond the schema by listing some operation types (e.g., 'search papers, citations, references, authors'), but it doesn't provide additional syntax, format details, or usage examples. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Academic research — search papers, citations, references, authors', which specifies the domain (academic research) and the main operations (search, citations, references, authors). It distinguishes from most sibling tools which are focused on browser automation, cloud services, GitHub/GitLab operations, and other domains, though it doesn't explicitly differentiate from other potential research tools that might exist.

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. It lists operations but doesn't indicate prerequisites (e.g., authentication requirements), when to choose specific operations, or how it compares to other tools in the sibling list (e.g., if there are overlapping functionalities). This leaves the agent with minimal context for decision-making.

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

TDQS

C2.8/5.0
Disambiguation4/5

Tools are generally well-differentiated by domain and action, with clear prefixes like 'boj_browser_', 'boj_github_', and 'boj_gitlab_' organizing them. Some potential confusion exists between similar operations across domains (e.g., 'boj_github_create_issue' and 'boj_gitlab_create_issue'), but the domain prefixes help distinguish them. A few tools like 'boj_cartridge_invoke' and 'boj_cartridge_info' have overlapping purposes but are still distinguishable by their specific functions.

Naming Consistency5/5

Naming is highly consistent throughout, following a clear pattern of 'boj_[domain]_[action]' with snake_case used uniformly. Verbs like 'create', 'list', 'get', and 'manage' are applied predictably across domains (e.g., 'boj_github_create_issue', 'boj_gitlab_list_issues'). This consistency makes it easy for agents to understand and navigate the toolset without confusion.

Tool Count2/5

With 41 tools, the count is excessive for a single server, making it feel bloated and potentially overwhelming for agents. While the tools cover multiple domains (browser, cloud, GitHub, GitLab, etc.), such a high number suggests poor scoping; it might be better split into separate, more focused servers. This heavy load can hinder agent efficiency and increase misselection risks.

Completeness4/5

The toolset shows strong coverage across its domains, with comprehensive CRUD operations for GitHub and GitLab (e.g., create, list, get, merge), browser automation, cloud management, and more. Minor gaps exist, such as missing update/delete operations for some resources (e.g., no 'update_issue' for GitLab), but agents can likely work around these. Overall, it supports a wide range of workflows without major dead ends.

Maintenance

ActivityActive
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A central hub that aggregates multiple MCP resource servers into a single unified interface, enabling users to access tools and capabilities from multiple backend servers through one connection point.
    41
    203
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A feature-rich Model Context Protocol gateway that federates MCP and REST services, unifying discovery, authentication, and transport protocols while providing virtualization of legacy APIs as MCP-compliant tools.
  • F
    license
    Not graded
    quality
    D
    maintenance
    An advanced integrated MCP server platform that combines 600+ tools and multiple biomedical databases to enable comprehensive information retrieval across molecules, proteins, genes, and diseases for accelerating therapeutic research.
    38

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyperpolymath/boj-server'

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