Skip to main content
Glama
gitopia

Gitopia MCP Server

Official
by gitopia

Gitopia MCP Server

MCP server for Gitopia — decentralized Git with on-chain governance, bounties, and DAO management. Works with Cursor, VS Code, Claude Code, Claude Desktop, Windsurf, and any MCP-compatible tool.

57 tools | 3 prompts | 4 resource templates

Zero-config start: a wallet is auto-generated on first use. No setup beyond pasting a config snippet.

Quick Start

docker pull ghcr.io/gitopia/gitopia-mcp-server:latest

Then add the config for your editor (see Editor Setup below).

Native Binary

Download from GitHub Releases, or:

go install github.com/gitopia/gitopia-mcp-server/cmd/server@latest

Requires Go 1.25+ and git-remote-gitopia (curl https://get.gitopia.com | bash).

Related MCP server: GitAgentic MCP Server

Editor Setup

codex mcp add gitopia -- docker run --rm -i --platform linux/amd64 \
  -v "${HOME}/.mcp/gitopia:/home/mcp/.mcp/gitopia" \
  -e MCP_WORKSPACE_PATH=/home/mcp/.mcp/gitopia/workspace \
  ghcr.io/gitopia/gitopia-mcp-server:latest stdio

Or add to ~/.codex/config.toml:

[mcp_servers.gitopia]
command = "docker"
args = [
  "run", "--rm", "-i", "--platform", "linux/amd64",
  "-v", "${HOME}/.mcp/gitopia:/home/mcp/.mcp/gitopia",
  "-e", "MCP_WORKSPACE_PATH=/home/mcp/.mcp/gitopia/workspace",
  "ghcr.io/gitopia/gitopia-mcp-server:latest", "stdio"
]

Full Codex guide

Add to your project's .mcp.json:

{
  "mcpServers": {
    "gitopia": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--platform", "linux/amd64",
        "-v", "${HOME}/.mcp/gitopia:/home/mcp/.mcp/gitopia",
        "-v", "${PWD}:/workspace", "-w", "/workspace",
        "-e", "MCP_WORKSPACE_PATH=/workspace",
        "ghcr.io/gitopia/gitopia-mcp-server:latest", "stdio"
      ],
      "env": {}
    }
  }
}

Full Claude Code guide

Add to ~/.cursor/mcp.json (macOS) or %APPDATA%\Cursor\mcp.json (Windows):

{
  "mcpServers": {
    "gitopia": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--platform", "linux/amd64",
        "-v", "${HOME}/.mcp/gitopia:/home/mcp/.mcp/gitopia",
        "-v", "${workspaceFolder}:/workspace", "-w", "/workspace",
        "-e", "MCP_WORKSPACE_PATH=/workspace",
        "ghcr.io/gitopia/gitopia-mcp-server:latest", "stdio"
      ],
      "env": {}
    }
  }
}

Full Cursor guide

Full VS Code guide

Full Windsurf guide

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "gitopia": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--platform", "linux/amd64",
        "-v", "${HOME}/.mcp/gitopia:/home/mcp/.mcp/gitopia",
        "-e", "MCP_WORKSPACE_PATH=/home/mcp/.mcp/gitopia/workspace",
        "ghcr.io/gitopia/gitopia-mcp-server:latest", "stdio"
      ],
      "env": {}
    }
  }
}

Using an existing wallet? Set GITOPIA_MNEMONIC in your shell, then add "-e", "GITOPIA_MNEMONIC" to the Docker args. Never hardcode mnemonics in config files.

Tools (57)

Context Management (4)

Tool

Description

get_user_context

Get current identity, address, and available DAOs

set_active_dao

Switch operations to a DAO context

refresh_user_context

Reload user info from chain

claim_fee_grant

Claim fee grant from faucet

User Management (1)

Tool

Description

create_user

Create on-chain Gitopia user for wallet

Repository Management (7)

Tool

Description

list_repos

List repositories for owner

create_repo

Create remote repository

get_repo

Get repository details

list_branches

List branches

get_file_contents

Read file without cloning

fork_repository

Fork a repository

toggle_repository_forking

Enable/disable forking

Tags, Commits, Releases (4)

Tool

Description

list_tags

List version tags

list_commits

Browse commit history for a branch

list_releases

List published releases

create_release

Publish a new release

Issue Management (5)

Tool

Description

list_issues

List issues

get_issue

Get full issue details

create_issue

Create issue (on-chain)

comment_on_issue

Comment on issue (on-chain)

update_issue

Update state, labels, assignees

Pull Request Management (6)

Tool

Description

list_pull_requests

List PRs

get_pull_request

Get full PR details

get_pull_request_diff

Get unified diff for a PR

create_pull_request

Create PR (on-chain)

comment_on_pull_request

Comment on PR (general or inline)

merge_pull_request

Merge PR (on-chain)

Git Operations (5)

Tool

Description

git_clone

Clone repository to workspace

git_push

Push commits to remote

create_feature_branch

Create and checkout new branch

sync_with_remote

Fetch and merge/rebase

commit_and_push_changes

Stage + commit + push in one step

Workflow Orchestration (3)

Tool

Description

bootstrap_repo

Create remote + local init + files + push

create_feature_branch_pr

Branch + changes + commit + push + PR

update_feature_branch

Add commits to existing branch/PR

Label Management (3)

Tool

Description

list_labels

List repository labels

create_label

Create label (on-chain)

delete_label

Delete label (on-chain)

DAO & Governance (9)

Tool

Description

get_dao

Get DAO details including group_id and group_policy_address

create_dao

Create DAO with members and voting

dao_list_members

List DAO members and weights

dao_list_proposals

List governance proposals

dao_get_proposal

Get proposal details with tally

dao_update_members

Add/remove/change member weights

dao_submit_proposal

Create governance proposal

dao_vote

Vote on proposal

dao_exec

Execute passed proposal

Bounty Management (6)

Tool

Description

list_bounties

Discover bounties

get_bounty

Get bounty details

create_bounty

Attach crypto reward to issue

update_bounty

Modify bounty expiry

close_bounty

Deactivate bounty

delete_bounty

Permanently remove bounty

Batch & Approval (4)

Tool

Description

batch_execute

Execute up to 10 ops in one transaction

confirm_transaction

Broadcast pending transaction

reject_transaction

Cancel pending transaction

list_pending_transactions

List pending transactions

Prompts

Prompt

Description

fix-issue

Complete workflow: clone, branch, fix, test, PR

review-pr

Review a pull request: inspect, comment, approve

hunt-bounty

Discover bounties, evaluate, claim, fix, submit

Security

  • Trust tiers gate tool access: readonly < localwrite < chainwrite

  • Rate limiting on chain-write operations (default 10/min, 100/hr)

  • Message allowlist only signs /gitopia.gitopia.gitopia.* and /cosmos.group.v1.*

  • Workspace isolation blocks path traversal attacks

  • Approval mode holds transactions for explicit confirmation before broadcast

  • Non-root Docker containers run as unprivileged user

See SECURITY.md for vulnerability reporting.

Configuration

Variable

Default

Description

GITOPIA_MNEMONIC

auto-generated

BIP-39 wallet mnemonic

GITOPIA_GRPC_ENDPOINTS

gitopia-grpc.polkachu.com:11390

gRPC endpoints

TRUST_LEVEL

chainwrite

readonly, localwrite, chainwrite

TOOLSETS

all

Comma-separated toolsets to enable (see below)

DRY_RUN

false

Preview transactions without broadcasting

APPROVAL_MODE

false

Require confirmation before chain writes

MCP_WORKSPACE_PATH

~/.mcp/gitopia/workspace

Workspace root

MCP_LOG_LEVEL

info

Log level

TRANSPORT

stdio

stdio or http

PORT

8080

HTTP listen port (when TRANSPORT=http)

See env.example for the full list.

Toolsets

Control which tools are exposed to the MCP client. Useful for reducing context window usage in AI assistants.

Toolset

Tools

Description

core

52

All tools except workflow orchestrators (always included)

workflow

5

bootstrap_repo, create_feature_branch, create_feature_branch_pr, update_feature_branch, commit_and_push_changes

  • TOOLSETS=all (default): All 57 tools

  • TOOLSETS=core: 52 tools (hides workflow orchestrators)

  • TOOLSETS=core,workflow: Same as all

For Claude Code users, TOOLSETS=core is recommended since Claude can orchestrate git operations natively.

Development

go build ./cmd/server          # build
go test ./...                  # test
go vet ./...                   # lint
docker build -t gitopia-mcp-server:latest .  # docker

See CONTRIBUTING.md for development guidelines.

License

MIT

Available Tools

57 tools
batch_executeA

Use this when you need to execute multiple operations in a single on-chain transaction for atomicity. All operations succeed or fail together, saving gas and reducing round-trips. Requires 'operations' (array of {tool, params}, max 10). Supported tools: dao_vote, dao_update_members, comment_on_issue, comment_on_pull_request. See also: dao_vote, dao_update_members.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationsYesList of operations to execute in a single transaction (max 10)

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses atomicity, max operations, and supported tools. However, it does not explicitly state that the operation is a mutation or describe side effects beyond atomicity.

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?

Three short sentences deliver all key information: when to use, atomicity benefit, requirements, and supported tools. No redundant content.

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

Completeness4/5

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

Covers purpose, atomicity, constraints, and sibling references. Missing details on return value or error behavior, but these are partially implicit from the batch nature.

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?

Input schema has 100% coverage, so baseline is 3. The description adds value by specifying the max operations limit (10) and listing supported tool names, which are not in the schema.

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

Purpose5/5

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

The description clearly states the purpose: executing multiple operations atomically in a single on-chain transaction. It distinguishes itself from sibling tools by focusing on batching, and lists supported tools.

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

Usage Guidelines4/5

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

Explicitly states when to use (atomicity, gas savings, reduced round-trips). Provides supported tool list and 'see also' references, but does not explicitly state when not to use.

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

bootstrap_repoA

Use this when you need to create a brand new project from scratch (remote + local + initial commit). Creates a Gitopia repository, initializes it locally, adds initial files (README, .gitignore), and pushes the first commit. Requires 'owner_id' and 'name'. Optional: 'local_path' (defaults to repo name), 'description', 'create_readme' (default true), 'create_gitignore', 'gitignore_template' (go, python, node, rust, java, .net, generic), 'initial_branch' (default 'main'). See also: create_repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idYes
nameYes
local_pathNo
descriptionNo
create_readmeYes
create_gitignoreYes
initial_branchNo
gitignore_templateNo

TDQS

A3.7/5.0
Behavior3/5

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

The description details the tool's actions (creating repo, initializing locally, adding files, pushing commit), which is transparent about its write operations. However, it does not disclose any behavioral traits such as permissions required, error states, or whether it can overwrite existing local directories, leaving some gaps.

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 coherent paragraph that is well-structured, starting with usage guidance, then listing actions and parameters. Every sentence adds value, and the length is appropriate for the complexity of the tool.

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

Completeness3/5

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

Given the 8 parameters, no schema descriptions, and no output schema, the description covers the essential functionality and most parameters. However, the missing output description and the required parameter error detract from completeness. It is adequate but not thorough.

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 description adds meaning to most parameters by listing them with defaults and examples (e.g., gitignore_template options). However, it contradicts the input schema by stating only 'owner_id' and 'name' are required, while the schema also marks 'create_readme' and 'create_gitignore' as required. This inconsistency reduces trust and clarity.

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

Purpose5/5

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

The description clearly states the tool creates a brand new project from scratch, including remote repo creation, local initialization, and initial commit. It specifically distinguishes itself from the sibling 'create_repo' by mentioning 'See also: create_repo', making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this when you need to create a brand new project from scratch' and references 'create_repo' as an alternative, providing clear guidance. However, it does not explicitly state when not to use this tool (e.g., when a repo already exists), which would strengthen the guidelines.

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

claim_fee_grantA

Use this to claim a fee grant from the Gitopia faucet for a wallet address. If address is omitted, uses the current wallet. Fee grants allow signing transactions without holding tokens. Best-effort: returns status even on failure. See also: get_user_context.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoIf empty, uses current wallet address

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Discloses best-effort behavior and address omission fallback. Does not detail auth requirements, rate limits, or what happens if grant already exists. Adequate but not fully transparent.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose. Every sentence adds value: purpose, parameter behavior, best-effort context, and cross-reference. No redundancy or fluff.

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

Completeness4/5

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

Given no annotations and no output schema, the description provides sufficient context for a simple tool: what it does, parameter behavior, and best-effort return. Lacks detail on return format beyond status, but adequate for basic usage.

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

Parameters3/5

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

Schema covers 100% of parameters with description. The tool description mostly restates parameter behavior ('if omitted uses current wallet'), adding no new meaning beyond schema. Baseline score of 3 appropriate.

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

Purpose5/5

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

Clearly states the verb 'claim' and resource 'fee grant from the Gitopia faucet' for a wallet address. Distinguishes from sibling tools like get_user_context by focusing on claiming a grant, not querying context.

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

Usage Guidelines4/5

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

Explains when to use: to claim a fee grant for signing transactions without tokens. Notes behavior when address omitted and mentions best-effort nature. References sibling get_user_context for additional guidance, but lacks explicit when-not-to-use advice.

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

close_bountyA

Use this when a bounty should no longer accept claims (e.g. issue resolved without bounty). Requires 'bounty_id'. Only the bounty creator can close it. See also: get_bounty, delete_bounty.

ParametersJSON Schema
NameRequiredDescriptionDefault
bounty_idYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description must disclose behavior. It states that only the creator can close and implies the bounty will no longer accept claims. While it doesn't detail side effects like irreversibility, it is adequate for a simple closure action.

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

Conciseness5/5

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

Two sentences, front-loaded with usage context, no unnecessary words. Every part adds value.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description covers purpose, usage context, authorization, and related tools. No gaps.

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

Parameters3/5

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

The only parameter, bounty_id, has no description in schema (0% coverage). The description repeats 'Requires bounty_id' but adds no new meaning. Since it's a single required integer ID, the baseline score is acceptable.

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

Purpose5/5

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

The description clearly states the action 'close a bounty' to stop accepting claims, with a specific example (issue resolved without bounty). It differentiates from sibling tools like get_bounty and delete_bounty, earning a high score.

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

Usage Guidelines5/5

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

Explicitly states when to use ('Use this when a bounty should no longer accept claims'), provides context on who can close (only bounty creator), and mentions related tools (get_bounty, delete_bounty) for alternatives.

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

comment_on_issueA

Use this when you need to communicate findings, ask questions, or provide status updates on an issue. Signs and broadcasts a transaction on-chain. Requires 'owner', 'name', 'issue_iid', and 'body'. See also: get_issue, update_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
issue_iidYesIssue number (IID)
bodyYesComment body text

TDQS

A3.7/5.0
Behavior3/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 discloses that the tool signs and broadcasts an on-chain transaction, which is critical. However, it omits details like whether the action is irreversible, requires gas fees, or returns a transaction hash.

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 (two sentences) and front-loaded with the usage guidance. However, the second sentence mixes behavioral info with parameter requirements, which could be more structured.

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?

The tool performs an on-chain transaction with no output schema, yet the description does not explain what the tool returns (e.g., transaction hash) or mention prerequisites like wallet setup. This leaves important gaps for an agent.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description merely restates the required parameters without adding extra meaning or context beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: to communicate findings, ask questions, or provide status updates on an issue. It distinguishes from sibling tools like comment_on_pull_request and update_issue.

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

Usage Guidelines4/5

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

Provides explicit when-to-use context and lists required parameters. References sibling tools (get_issue, update_issue) but does not explicitly exclude alternative tools like comment_on_pull_request.

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

comment_on_pull_requestA

Use this when you need to leave review comments on a pull request. Supports both general comments and inline comments on specific code lines. Signs and broadcasts a transaction on-chain. Requires 'owner', 'name', 'pull_iid', and 'body'. Optional: 'diff_hunk', 'path', 'position' for inline comments. See also: get_pull_request, list_pull_requests.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
pull_iidYesPull request number (IID)
bodyYesComment body text
diff_hunkNoDiff hunk for inline comment
pathNoFile path for inline comment
positionNoLine position for inline comment

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries full burden. It discloses that the tool 'Signs and broadcasts a transaction on-chain', indicating a write operation with on-chain effects. Also clarifies support for both comment types.

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?

Three sentences, front-loaded with purpose, then parameter hints, then references. No wasted words. Efficient and well-structured.

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

Completeness5/5

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

For a tool with 7 parameters, no output schema, and no annotations, the description covers purpose, parameter roles, behavioral disclosure (on-chain transaction), and sibling references. Adequate for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the description's parameter guidance adds context (required vs optional for inline comments) beyond the schema. It clarifies the conditional nature of inline comment parameters.

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

Purpose5/5

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

The description clearly states the verb 'leave review comments' and the resource 'pull request', and distinguishes between general and inline comments. It differentiates from sibling tools like comment_on_issue.

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

Usage Guidelines4/5

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

The description explicitly says when to use: 'Use this when you need to leave review comments on a pull request'. It also suggests alternatives ('See also: get_pull_request, list_pull_requests'), but lacks explicit when-not-to-use guidance.

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

commit_and_push_changesA

Use this when you want to stage, commit, and push in one step (most common push workflow). Requires 'repo_path' and 'commit_message'. Optional: 'files' (specific files to stage; empty stages all), 'branch', 'create_branch'. Automatically sets upstream tracking. See also: git_push, create_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYesRepository path relative to workspace
commit_messageYesCommit message
filesNoSpecific files to stage (empty for all)
branchNoTarget branch (current if empty)
create_branchNoCreate branch if it does not exist

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. Description discloses some behavior (requires params, auto-upstream tracking) but omits details on failure modes, merge conflicts, or authentication needs.

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?

Description is two sentences plus a note, front-loaded with action and requirements. No wasted words.

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

Completeness4/5

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

Given 5 parameters and no output schema, description covers use case, required/optional params, and alternatives. Lacks error/result info but adequate for typical usage.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds minimal value beyond schema, such as noting that empty 'files' stages all.

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

Purpose5/5

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

Description clearly states the tool stages, commits, and pushes in one step, which is the most common push workflow. It distinguishes from siblings by mentioning git_push and create_pull_request.

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

Usage Guidelines4/5

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

Description specifies when to use (one-step workflow) and provides alternatives via 'See also'. However, it does not explicitly state when not to use it.

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

confirm_transactionA

Use this to broadcast a pending chain-write transaction that was held for approval. Requires 'pending_id' (returned by the original tool call when APPROVAL_MODE is enabled). The transaction must belong to the current session and not be expired. See also: list_pending_transactions, reject_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
pending_idYesThe ID of the pending transaction to confirm

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the action (broadcast) and key constraints (session, expiry), but could mention failure modes or side effects. Still, it adds useful behavioral context beyond the schema.

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

Conciseness5/5

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

Two sentences front-loading purpose, then constraints and related tools. No redundant words; every sentence adds value.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description covers purpose, constraints, and references. It could mention the return value, but overall it's sufficient for an agent to use correctly.

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 schema coverage is 100% (one parameter documented), but the description adds meaning by stating that pending_id is returned by the original tool call when APPROVAL_MODE is enabled, which aids the agent in understanding where the ID comes from.

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

Purpose5/5

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

The description clearly states the action ('broadcast') and the resource ('pending chain-write transaction'), and distinguishes itself from siblings by naming alternatives (list_pending_transactions, reject_transaction).

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool (for approving a pending transaction), provides prerequisites (pending_id from original call, session, expiry), and lists alternative tools for reference.

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

create_bountyA

Use this when you want to incentivize work on an issue by attaching a reward. Signs and broadcasts an on-chain transaction. Returns the bounty ID. Requires 'owner', 'name', 'issue_iid', and 'amount' (array of {denom, amount} coins, amount as string). Optional: 'expiry' (unix timestamp). See also: list_bounties, get_bounty, update_bounty.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes
issue_iidYes
amountYes
expiryNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided. Description adds behavioral context: 'Signs and broadcasts an on-chain transaction' and 'Returns the bounty ID.' This is valuable but lacks details on side effects (e.g., gas costs, permissions).

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?

Description is concise (two sentences), front-loads purpose, and lists parameters efficiently. No superfluous words.

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

Completeness4/5

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

Given no annotations, low schema coverage, and no output schema, the description covers purpose, parameter formats, and return value. It adequately prepares the agent for a blockchain transaction tool, though could mention transaction requirements.

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

Parameters4/5

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

Schema description coverage is 0%, so description compensates by explaining required and optional parameters: owner, name, issue_iid, amount (array of {denom, amount} coins, amount as string), and optional expiry (unix timestamp). Adds meaning beyond raw schema, especially for the nested amount object.

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

Purpose5/5

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

Description clearly states the tool's purpose: 'incentivize work on an issue by attaching a reward.' It uses specific verb (create) and resource (bounty), and distinguishes from siblings by mentioning list_bounties, get_bounty, update_bounty.

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

Usage Guidelines4/5

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

Explicitly states when to use: 'when you want to incentivize work on an issue.' References alternative tools with 'See also:' list, providing guidance. Does not explicitly state when not to use, but context is clear.

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

create_daoA

Use this when you need to create a new DAO for collaborative development. Signs and broadcasts an on-chain transaction. Returns the new DAO ID. Requires 'name' and 'description'. Optional: 'avatar_url', 'location', 'website', 'members' (defaults to creator with weight 1), 'voting_period' (default '2' hours), 'percentage' (default '0.50' = 50%). See also: set_active_dao.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
avatar_urlNo
locationNo
websiteNo
membersNo
voting_periodNo
percentageNo
configNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description shoulders the burden. It mentions signing and broadcasting an on-chain transaction and returning the new DAO ID, but does not disclose potential side effects like gas costs or failure modes.

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 three sentences, front-loaded with the tool's purpose, and includes a sibling reference. No unnecessary words.

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

Completeness4/5

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

Given 9 parameters, no annotations, and no output schema, the description covers required and key optional parameters, mentions the return value, and includes a sibling reference. Missing details on 'config' and potential side effects, but adequate for a creation tool.

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

Parameters4/5

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

Schema coverage is 0%, and the description adds meaning by listing required and optional parameters with defaults for members, voting_period, and percentage. However, it omits explanation for the 'config' parameter.

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

Purpose5/5

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

The description clearly states the verb 'create' and resource 'DAO', and distinguishes it from siblings like 'get_dao' and 'set_active_dao'. It also notes it is an on-chain transaction, setting it apart.

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

Usage Guidelines4/5

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

The description explicitly states when to use it ('when you need to create a new DAO') and references a sibling tool 'set_active_dao'. However, it lacks explicit when-not-to-use guidance.

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

create_feature_branchA

Use this when you need to start working on a new feature in an existing local repo. Creates and checks out a new branch. Requires 'repo_path' and 'branch_name'. Optional: 'base_branch' (defaults to current branch). Prefer create_feature_branch_pr for the full branch-change-commit-push-PR cycle. See also: create_feature_branch_pr.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes
branch_nameYes
base_branchNo

TDQS

A4.4/5.0
Behavior3/5

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

No annotations exist, and the description only states it creates and checks out a branch, but does not disclose potential side effects, error handling, or if it modifies remote state. Some behavioral insight is 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?

Three concise sentences with front-loaded usage instruction, no redundant information.

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

Completeness4/5

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

Does not describe return value or error conditions, but given its simplicity, the provided context is largely sufficient. Slightly incomplete without output schema or return info.

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

Parameters4/5

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

Schema has no descriptions (0% coverage), but the description clarifies required vs optional parameters and explains base_branch defaults, adding significant meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool creates and checks out a new branch for starting work on a new feature, and distinguishes itself from the sibling create_feature_branch_pr.

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

Usage Guidelines5/5

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

Explicitly states when to use (starting work on a new feature) and when to prefer the sibling tool (full cycle), providing clear guidance.

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

create_feature_branch_prA

Use this when you want the complete contribution workflow in one operation: create branch, apply file changes, commit, push, and open a PR. This is the recommended tool for code contributions. Requires the repository to already be cloned locally (use git_clone first). base_branch defaults to 'main'. Use update_feature_branch to add commits to an existing branch/PR instead. See also: git_clone, update_feature_branch, create_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYesRepository path relative to workspace (e.g. 'myrepo')
ownerYes
nameYes
branch_nameYes
base_branchNo
filesYes
commit_messageYes
pr_titleYes
pr_descriptionYes
assigneesNo
labelsNo

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It clearly describes the multi-step behavior and default for base_branch. However, it does not mention potential side effects or error conditions.

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 the main purpose. However, it could be slightly more structured to include parameter details without losing brevity.

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

Completeness3/5

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

The description adequately covers purpose and usage guidelines but fails to explain parameters or output, given the tool's complexity (11 params, 8 required). More detail would be beneficial.

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 only 9%, yet the description only elaborates on base_branch default. Other critical parameters (files, repo_path, etc.) are not explained, leaving ambiguity.

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

Purpose5/5

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

The description states it performs the complete contribution workflow: create branch, apply changes, commit, push, and open a PR. It clearly distinguishes from sibling tools like create_feature_branch and create_pull_request.

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

Usage Guidelines5/5

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

Explicitly advises when to use ('complete contribution workflow'), recommends it for code contributions, mentions prerequisite ('require repo cloned'), provides alternative ('use update_feature_branch'), and lists related tools.

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

create_issueA

Use this when you need to report a bug, request a feature, or create a task. Signs and broadcasts a transaction on-chain. Returns the issue URL. Requires 'owner', 'name', 'title', and 'description'. See also: get_issue, comment_on_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes
titleYes
descriptionYes

TDQS

A3.6/5.0
Behavior3/5

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

Discloses that it signs and broadcasts a transaction on-chain, which is crucial, but omits other behavioral traits like gas costs or irreversibility.

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?

Concise, front-loaded with purpose, and each sentence adds value; the redundant 'Requires' line is a minor inefficiency.

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?

Lacks parameter descriptions and error behavior; for a 4-param tool with no output schema, the description is insufficient for confident 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?

Only lists required parameter names, adding no semantic meaning beyond the schema, which has 0% description coverage.

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

Purpose5/5

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

Clearly states the tool reports bugs, requests features, or creates tasks, and distinguishes from siblings get_issue and comment_on_issue.

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

Usage Guidelines4/5

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

Provides explicit when-to-use and mentions alternatives (get_issue, comment_on_issue), though lacks exclusions or when-not-to-use.

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

create_labelA

Use this when you need to create a new label for organizing issues in a repository. Signs and broadcasts an on-chain transaction. Returns the label ID. Requires 'owner', 'name', 'label_name', and 'color' (hex code like 'FF0000'). Optional: 'description'. See also: list_labels, delete_label.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
label_nameYesLabel name (3-63 characters)
colorYesLabel color as hex code (e.g. FF0000)
descriptionNoLabel description (max 255 characters)

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses that the tool 'Signs and broadcasts an on-chain transaction', which is a key behavioral trait beyond creation. Since annotations are absent, the description carries full burden and provides useful context about cost/confirmation time.

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 three concise sentences with no fluff. Each sentence adds value: usage context, behavioral trait, return value, required params, and sibling references. Front-loaded with 'Use this when...'.

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

Completeness4/5

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

Given no output schema, the description mentions return value (label ID). It covers purpose, usage, required params, and on-chain behavior. However, it lacks error handling or idempotency details, which would make it more complete for a creation tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description restates required vs optional parameters and gives a color example (hex code like 'FF0000'), adding minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool is for creating a label to organize issues in a repository, using specific verbs and resource. It distinguishes itself from siblings by listing 'See also: list_labels, delete_label'.

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

Usage Guidelines4/5

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

The description begins with 'Use this when you need to create a new label', directly stating usage context. It also mentions signing an on-chain transaction, implying it's a write operation, and references siblings for alternatives, though it doesn't explicitly state when not to use it.

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

create_pull_requestA

Use this when you have pushed a branch and want to open a PR for review. Creates a pull request on Gitopia. Automatically retries on account sequence mismatch. Requires 'owner', 'name', 'title', 'description', 'head_branch', and 'base_branch'. Optional: 'assignees' (usernames), 'labels' (label IDs), 'issue_iids' (issue numbers to link). Prefer create_feature_branch_pr for the full branch-commit-push-PR cycle. See also: create_feature_branch_pr, git_push.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes
titleYes
descriptionYes
head_branchYes
base_branchYes
assigneesNo
labelsNo
issue_iidsNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses one behavioral trait: 'Automatically retries on account sequence mismatch.' It does not mention other traits like idempotency, rate limits, or potential side effects beyond creation. This is adequate but not comprehensive.

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 reasonably concise, containing three main ideas (when to use, creation action, retry behavior, parameter list, alternatives) in a short paragraph. It could be streamlined by removing the repeated parameter list, but it is not overly verbose.

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

Completeness3/5

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

The description covers the basic action and parameter details but lacks information about return values (no output schema), required permissions, or prerequisites (e.g., being logged in, having push access). Given the complexity and sibling tools, it is somewhat incomplete.

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

Parameters3/5

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

Schema coverage is 0%, so the description must add meaning. It explains optional parameters: 'assignees' (usernames), 'labels' (label IDs), 'issue_iids' (issue numbers to link). However, it does not explain 'owner', 'name', 'head_branch', or 'base_branch', leaving gaps in understanding.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Use this when you have pushed a branch and want to open a PR for review. Creates a pull request on Gitopia.' It uses a specific verb ('creates') and resource ('pull request'), and differentiates from sibling tools like 'create_feature_branch_pr' and 'git_push' by mentioning them as alternatives.

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

Usage Guidelines4/5

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

The description explicitly advises when to use the tool ('when you have pushed a branch') and recommends an alternative ('Prefer create_feature_branch_pr for the full branch-commit-push-PR cycle'). It also lists required and optional parameters. However, it does not provide explicit exclusions or conditions to avoid using this tool.

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

create_releaseA

Use this when you want to publish a release for a tagged version. The tag must already exist on the remote (push it via git first). Signs and broadcasts an on-chain transaction. Returns the release ID. Requires 'owner', 'name', 'tag_name', and 'release_name'. Optional: 'target' (branch, defaults to the repo's default branch), 'description', 'draft', 'pre_release', 'provider'. See also: list_releases, list_tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
tag_nameYesTag name for the release (e.g. v1.0.0)
targetNoBranch or commit SHA to tag (defaults to default branch HEAD)
release_nameYesHuman-readable release title
descriptionNoRelease notes / description
draftNoMark as draft release
pre_releaseNoMark as pre-release
providerNoGit server provider address (defaults to gitopia15nv5vf6fmww8cxr6emrzxjvj36x5n8xvsxsqpw)

TDQS

A4.6/5.0
Behavior4/5

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

Discloses that the tool 'Signs and broadcasts an on-chain transaction' and 'Returns the release ID'. No annotations provided, so the description carries the full burden; it is mostly adequate but could mention permissions or error conditions.

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 concise (three sentences), front-loaded with the main purpose, and no superfluous information.

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

Completeness4/5

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

Covers prerequisites, required and optional parameters, return value, and related tools. Missing details on potential errors or transaction cost, but reasonable given no output schema.

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?

Despite 100% schema coverage, the description adds value by noting defaults for 'target' (defaults to default branch) and 'provider' (default address), enhancing understanding beyond the schema.

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

Purpose5/5

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

The description clearly states 'publish a release for a tagged version' with a specific verb and resource. It also distinguishes from sibling tools like list_releases and list_tags.

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

Usage Guidelines5/5

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

Explicitly states prerequisite ('tag must already exist on the remote') and required parameters. Provides alternatives by mentioning 'See also: list_releases, list_tags'.

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

create_repoA

Use this when you need to create a remote repository on Gitopia without local initialization. Signs and broadcasts an on-chain transaction. Returns the repository URL. owner_id is optional; if omitted, uses the current user context (personal or active DAO). Requires 'name'. Optional: 'description'. Prefer bootstrap_repo if you also want to initialize locally, add files, and push an initial commit. See also: bootstrap_repo, git_clone.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNo
nameYes
descriptionNo

TDQS

A4.4/5.0
Behavior4/5

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

Discloses that it signs and broadcasts an on-chain transaction (mutation), returns repository URL, and explains owner_id default behavior. Could mention permissions or error handling, but sufficient given no 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?

Concise at 4 sentences, front-loaded with use case, each sentence adds distinct information without redundancy.

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

Completeness4/5

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

Covers purpose, usage, behavioral aspects, and parameter semantics for a simple tool. Could include error scenarios or return format specifics, but overall complete for agent to 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?

Adds value by explaining owner_id is optional and defaults to current context, and that description is optional. However, with 0% schema coverage, more details on name constraints or description length would improve it.

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

Purpose5/5

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

The description clearly states it creates a remote repository without local initialization, specifying the verb 'create' and resource 'remote repository on Gitopia'. It distinguishes from the sibling 'bootstrap_repo' by noting 'without local initialization'.

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

Usage Guidelines5/5

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

Explicitly says 'Use this when you need to create a remote repository... without local initialization' and advises 'Prefer bootstrap_repo if you also want to initialize locally, add files, and push an initial commit.' Also references siblings.

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

create_userA

Use this to create an on-chain Gitopia user for the current wallet. Required before creating repos or interacting with the chain. Requires 'username' (3-39 chars, alphanumeric and hyphens). Automatically called during wallet auto-generation, but can also be used standalone. See also: get_user_context.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesGitopia username (3-39 chars, alphanumeric and hyphens)

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that it is automatically called during wallet auto-generation and that it requires a username with format constraints. Could mention behavior if user already exists, but overall good for a simple creation tool.

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

Conciseness5/5

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

Three sentences, each with clear purpose. First sentence states action, second prerequisite, third provides format and context. No redundant words.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, description covers purpose, usage context, and parameter constraints. Lacks explicit mention of success/failure or error states, but adequate given simplicity.

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

Parameters3/5

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

Schema coverage is 100% and description repeats the schema's description without adding new semantics. Baseline of 3 is appropriate.

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

Purpose5/5

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

Clearly states verb 'create' and resource 'on-chain Gitopia user' for the current wallet. Distinguishes from siblings by noting it's a prerequisite for creating repos and interacting with the chain.

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

Usage Guidelines5/5

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

Explicitly says when to use: required before creating repos or interacting, and also standalone after auto-generation. References sibling 'get_user_context' for further info.

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

dao_execA

Use this when a proposal has passed and needs to be executed on-chain. Signs and broadcasts an on-chain transaction. Requires 'proposal_id'. The proposal must have passed (tally succeeded). See also: dao_get_proposal, dao_vote.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposal_idYesThe unique ID of the proposal to execute

TDQS

A4.1/5.0
Behavior3/5

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

Discloses that it signs and broadcasts an on-chain transaction, implying mutation, but doesn't elaborate on side effects, permissions, or failure modes.

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?

Three efficient sentences: usage condition, action, requirement. Well-structured and front-loaded.

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

Completeness4/5

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

Complete for a simple tool with one parameter; covers purpose, precondition, and action. No output schema to supplement.

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 value beyond the schema's definition of proposal_id; schema coverage is 100% so baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states the tool executes a passed proposal on-chain, differentiating from sibling tools like dao_get_proposal and dao_vote.

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

Usage Guidelines5/5

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

Explicitly tells when to use (after proposal passes) and the required condition (tally succeeded), with references to related tools.

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

dao_get_proposalA

Use this when you need full details about a specific DAO governance proposal, including tally results. Returns id, title, summary, status, proposers, metadata, final_tally_result, voting_period_end, and executor_result. Requires 'proposal_id'. See also: dao_list_proposals, dao_vote, dao_exec.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposal_idYesThe unique ID of the proposal

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so description carries full burden. It states the tool returns specific fields but does not disclose if it is read-only, requires authentication, or other behavioral traits (e.g., rate limits, side effects). Adequate but not thorough.

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

Conciseness5/5

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

Two sentences: first states purpose and when-to-use, second lists returned fields and required parameter. No extraneous text, efficient and front-loaded.

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

Completeness4/5

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

For a simple getter with one parameter and no output schema, the description covers usage, returned data, and sibling tools. Lacks error handling or authentication details, but overall sufficient given low complexity.

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

Parameters3/5

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

Only one parameter 'proposal_id' with 100% schema coverage. The schema description is sufficient, and the tool description adds no extra semantic value beyond restating the requirement. Baseline of 3 is appropriate.

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

Purpose5/5

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

Description clearly states the tool retrieves full details of a specific DAO governance proposal, including tally results. It lists returned fields and distinguishes from sibling tools (dao_list_proposals, dao_vote, dao_exec) by implying this is for detailed view. Verb+resource is specific.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when you need full details' and mentions required parameter 'proposal_id'. References related tools for alternative actions. Lacks explicit when-not-to-use, but context is clear enough for an AI agent.

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

dao_list_membersA

Use this when you need to see who belongs to a DAO and their voting weights. Returns a JSON array of member objects with address, weight, metadata, and added_at. Provide 'dao' (name or address) OR 'group_id'. Optional: 'limit' (default 100). See also: dao_list_proposals, create_dao.

ParametersJSON Schema
NameRequiredDescriptionDefault
daoNoDAO name or address (alternative to group_id)
group_idNoThe cosmos group ID of the DAO
limitNoMaximum number of members to return (default 100)

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses return format and parameter constraints. Missing details on permissions or side effects, but for a read-only listing tool this is acceptable.

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

Conciseness5/5

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

Two sentences plus a cross-reference. Extremely concise, front-loaded with purpose, no wasted words.

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

Completeness5/5

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

No output schema, but description explains return format. Parameters fully covered, alternatives noted, siblings referenced. Complete for a simple listing tool.

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

Parameters4/5

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

Schema coverage is 100% and schema already describes params. Description adds value by clarifying 'dao' is an alternative to 'group_id' and noting limit default (100).

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

Purpose5/5

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

Description clearly states the tool lists DAO members and voting weights, specifies return format (JSON array with address, weight, etc.), and distinguishes from siblings via 'See also: dao_list_proposals, create_dao'.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when you need to see who belongs to a DAO and their voting weights' and clarifies input alternatives (dao or group_id) with default limit. Lacks explicit when-not-to-use, but provides sufficient context.

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

dao_list_proposalsA

Use this when you need to review pending or past governance proposals for a DAO. Returns a JSON array of proposal objects with id, title, summary, status, proposers, and voting_period_end. Provide 'dao' (name or address) OR 'group_policy_address'. Optional: 'limit' (default 50). See also: dao_get_proposal, dao_vote.

ParametersJSON Schema
NameRequiredDescriptionDefault
daoNoDAO name or address (alternative to group_policy_address)
group_policy_addressNoThe group policy account address
limitNoMaximum number of proposals to return (default 50)

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description effectively discloses behavioral traits: it returns a JSON array of proposal objects with specific fields (id, title, summary, status, proposers, voting_period_end). It also mentions the default limit of 50. However, it omits details like pagination, error handling, or whether proposals are sorted.

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 three sentences, with no fluff. It front-loads the core purpose and quickly covers inputs, outputs, and related tools.

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

Completeness5/5

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

For a simple list tool with 3 parameters and no output schema, the description provides enough context: purpose, expected output structure, parameter usage, and sibling references. No annotations are needed because the description covers safety and behavior adequately.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that 'dao' can be a name or address, and that it is an alternative to group_policy_address, implying mutual exclusivity. It also clarifies the default for 'limit' (50), which is not in the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: reviewing pending or past governance proposals for a DAO. It specifies the return format (JSON array of proposal objects with fields) and distinguishes itself from siblings by referencing dao_get_proposal and dao_vote.

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

Usage Guidelines4/5

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

The description explicitly provides usage context: 'Use this when you need to review pending or past governance proposals.' It explains required inputs (dao OR group_policy_address) and optional parameter (limit). The 'See also' hints at alternatives, but lacks explicit when-not-to-use guidance.

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

dao_submit_proposalA

Use this when you need to create a text governance proposal for DAO voting. Signs and broadcasts an on-chain transaction. Returns the new proposal ID. Provide 'dao' (name or address) OR 'group_policy_address', plus 'title'. Optional: 'summary', 'metadata', 'exec_try'. The proposer is automatically set to the current wallet address. See also: dao_list_proposals, dao_vote, dao_exec.

ParametersJSON Schema
NameRequiredDescriptionDefault
daoNoDAO name or address (alternative to group_policy_address)
group_policy_addressNoThe group policy account address
titleYesTitle of the proposal
summaryNoSummary of the proposal
metadataNoArbitrary metadata for the proposal
exec_tryNoIf true, try to execute immediately after submission

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description explains that the tool signs and broadcasts an on-chain transaction, implying a write operation. It also mentions the return of a proposal ID. Missing details on failure handling, gas costs, or reversibility, but adequate for a creation tool.

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

Conciseness5/5

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

Five sentences, all essential, front-loaded with purpose. No redundant or extraneous information.

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

Completeness4/5

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

Given no annotations or output schema, the description covers purpose, key parameters, return value, and sibling tools. It lacks details on potential errors or transaction fees, but is sufficient for most use cases.

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

Parameters5/5

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

The description adds significant value over the schema by explaining that 'dao' and 'group_policy_address' are alternatives, and that 'exec_try' attempts immediate execution. Also notes that the proposer is automatically set. Schema coverage is 100%.

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

Purpose5/5

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

The description clearly states the tool creates a text governance proposal for DAO voting, signs and broadcasts an on-chain transaction, and returns the proposal ID. It distinguishes from sibling tools by mentioning alternatives like dao_list_proposals, dao_vote, dao_exec.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this when you need to create a text governance proposal' and notes that the proposer is auto-set. It lists optional parameters and alternatives, but does not provide explicit when-not-to-use or exclusions.

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

dao_update_membersA

Use this when you need to add, remove, or change voting weights of DAO members. Signs and broadcasts an on-chain transaction. Set a member's weight to '0' to remove them. Provide 'dao' (name or address) OR 'group_id', plus 'member_updates' (array of {address, weight, metadata}). The caller must be the group admin. See also: dao_list_members, create_dao.

ParametersJSON Schema
NameRequiredDescriptionDefault
daoNoDAO name or address (alternative to group_id)
group_idNoThe cosmos group ID of the DAO
member_updatesYesList of member updates. Set weight to 0 to remove a member.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool 'signs and broadcasts an on-chain transaction' (indicating a mutation requiring authentication) and explains how to remove a member (set weight to 0). However, it doesn't mention potential side effects like gas costs, irreversibility, or transaction failures.

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?

Three sentences, each serving a purpose. Front-loaded with the core action, followed by key behavioral notes and a reference to sibling tools. No wasted words.

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

Completeness4/5

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

The description covers purpose, usage context, parameter options, and admin requirement. It doesn't specify the return value (e.g., transaction hash) but given no output schema, this is acceptable. Could elaborate on on-chain consequences, but still reasonably complete.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by clarifying that 'dao' and 'group_id' are alternatives and that setting weight to '0' removes a member, going beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'add, remove, or change voting weights of DAO members.' It uses specific verbs and identifies the resource (DAO members), and it distinguishes from sibling tools by naming alternatives like dao_list_members and create_dao.

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

Usage Guidelines5/5

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

The description explicitly tells when to use the tool ('when you need to add, remove, or change voting weights') and provides alternatives ('See also: dao_list_members, create_dao'). It also includes a prerequisite ('The caller must be the group admin').

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

dao_voteA

Use this when you need to cast a vote on an active DAO proposal. Signs and broadcasts an on-chain transaction. Requires 'proposal_id' and 'option' (yes, no, abstain, or no_with_veto). Optional: 'metadata', 'exec_try' (try to execute after voting). See also: dao_get_proposal, dao_exec.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposal_idYesThe unique ID of the proposal to vote on
optionYesVote option: yes, no, abstain, or no_with_veto
metadataNoArbitrary metadata for the vote
exec_tryNoIf true, try to execute proposal after voting

TDQS

A4.2/5.0
Behavior3/5

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

It discloses that the tool 'Signs and broadcasts an on-chain transaction,' which is critical behavioral information. No annotations provided, so description carries full burden; however, it doesn't discuss reversibility, permissions, or return values.

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?

Three sentences, each serving a purpose: usage, behavioral note with required params, optional params and cross-reference. No unnecessary words.

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

Completeness4/5

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

Given no output schema and no annotations, the description covers core functionality, essential parameters, and related tools. Missing minor details like error handling, but overall sufficient.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value by specifying the vote options (yes, no, abstain, no_with_veto) and explaining optional params like exec_try. This goes beyond the schema's minimal descriptions.

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

Purpose5/5

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

The description states the action 'cast a vote' and the resource 'active DAO proposal' directly. It also references sibling tools dao_get_proposal and dao_exec, distinguishing it clearly.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this when you need to cast a vote' and guides to see related tools. It lacks explicit when-not-to-use conditions, but context is clear.

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

delete_bountyA

Use this when you need to permanently remove a bounty (irreversible). Requires 'bounty_id'. Only the bounty creator can delete it. Consider close_bounty first if you just want to deactivate it. See also: close_bounty.

ParametersJSON Schema
NameRequiredDescriptionDefault
bounty_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Describes irreversibility and creator-only restriction. No annotations exist, so description carries burden well. Could mention other effects but adequate.

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?

Two sentences plus a 'See also' reference. Efficient but could be better structured (e.g., list prerequisites).

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

Completeness4/5

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

Covers purpose, usage, key behavioral traits, and alternative. No output schema or annotations, but description is fairly complete for a simple tool.

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?

Only parameter is 'bounty_id'; description merely states it's required. Schema has no description, and description adds no extra guidance on valid values or format.

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

Purpose5/5

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

Clearly states permanent removal of a bounty (irreversible), distinguishing from the sibling 'close_bounty' which is for deactivation.

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

Usage Guidelines5/5

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

Explicitly tells when to use (permanent removal), when not (deactivation), and recommends using 'close_bounty' first. Also notes creator-only deletion.

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

delete_labelA

Use this when you need to permanently remove a label from a repository. Signs and broadcasts an on-chain transaction. Irreversible. Requires 'owner', 'name', and 'label_id'. See also: list_labels, create_label.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
label_idYesLabel ID to delete (from list_labels)

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses key behavioral traits: irreversibility ('Irreversible') and the fact that it 'Signs and broadcasts an on-chain transaction'. This adds value beyond the absence of annotations, which carry no information. However, it does not mention potential side effects like gas costs or confirmation times.

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: a single sentence plus a 'See also' line. It immediately states the purpose, mentions irreversibility, and lists required parameters. Every word earns its place with no redundancy or filler.

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

Completeness4/5

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

For a simple delete tool with three parameters and no output schema, the description covers essential aspects: purpose, usage context, behavioral traits, and related tools. It is complete enough for an agent to understand when and how to use the tool 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?

The input schema has 100% description coverage for all three parameters. The description adds limited extra meaning: it repeats the required parameters (already clear from schema) and hints that label_id comes from list_labels. This is marginal improvement, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'permanently remove a label from a repository'. It uses a specific verb ('remove') and resource ('label from a repository'), and distinguishes from sibling tools by referencing 'list_labels' and 'create_label'.

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

Usage Guidelines4/5

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

The description provides clear when-to-use guidance ('Use this when you need to permanently remove a label') and mentions required parameters. It references alternatives ('See also: list_labels, create_label'), but does not explicitly state when not to use this tool, such as when an update is needed instead of deletion.

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

fork_repositoryA

Use this when you need to fork a repository for contribution (fork -> branch -> PR workflow). Signs and broadcasts an on-chain transaction. Returns the fork ID. Requires 'owner' and 'name'. Optional: 'fork_name' (defaults to source name), 'fork_description', 'branch' (specific branch to fork), 'fork_owner' (defaults to authenticated user). See also: git_clone, create_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesSource repository owner (username or DAO name)
nameYesSource repository name
fork_nameNoName for the forked repository (defaults to source name)
fork_descriptionNoDescription for the fork
branchNoBranch to fork (defaults to all branches)
fork_ownerNoOwner of the fork (defaults to authenticated user)

TDQS

A4.7/5.0
Behavior4/5

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

Disclosures on-chain transaction signing and broadcasting, plus returns fork ID. Without annotations, it conveys key behavioral traits, though it doesn't detail authentication or fees, which are typical for such actions.

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?

Description is very concise, with front-loaded purpose and no redundant words. Every sentence adds value.

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

Completeness5/5

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

Covers workflow, required parameters, optional parameters with defaults, return value (fork ID), and behavioral context (on-chain transaction). No output schema needed as return is simple.

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

Parameters4/5

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

Schema coverage is 100%, so each parameter is documented. Description adds defaults and clarifies required vs optional, improving usability beyond schema alone.

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

Purpose5/5

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

Description clearly states the purpose: forking a repository for contribution workflow. Uses specific verb 'fork' and resource 'repository', and contrasts with siblings 'git_clone' and 'create_pull_request' by mentioning the workflow.

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

Usage Guidelines5/5

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

Explicitly says when to use: 'for contribution, fork -> branch -> PR workflow'. Provides alternatives via 'See also...', guiding the agent against misselection.

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

get_bountyA

Use this when you need full bounty details to evaluate whether to work on it. Returns id, amount, state, repository_id, parent_iid, parent, expire_at, rewarded_to, creator, created_at, updated_at. Requires 'bounty_id'. See also: list_bounties, get_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
bounty_idYesThe ID of the bounty to retrieve

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It states the tool returns data but does not disclose error handling or authentication needs. For a simple read operation, this is adequate but not rich.

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

Conciseness5/5

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

Two sentences with no wasted words. Key information (returns fields, required param, sibling tools) presented upfront.

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

Completeness5/5

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

Given no output schema, description lists all return fields. It also references sibling tools, providing complete context for a simple retrieval tool.

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

Parameters3/5

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

Schema coverage is 100%, so the description does not need to add parameter details. It mentions 'requires bounty_id' but schema already defines it. No additional semantics beyond schema.

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

Purpose5/5

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

Clearly states the tool retrieves full bounty details and lists the returned fields. Explicitly distinguishes from siblings list_bounties and get_issue.

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

Usage Guidelines4/5

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

Specifies when to use ('when you need full bounty details to evaluate whether to work on it') and references alternative tools, but does not provide explicit when-not conditions.

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

get_daoA

Use this when you need DAO details including group_id and group_policy_address (required for governance tools like list_members, submit_proposal, vote). Returns name, address, description, group_id, group_policy_address, and metadata. Requires 'id' (DAO name or address). See also: create_dao, dao_list_members, set_active_dao.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDAO name or address

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, but description covers return fields and requirements. Implicitly a read-only operation, but does not explicitly state non-destructive nature. Lacks details on auth or rate limits, but adequate for a simple query tool.

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

Conciseness5/5

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

Two concise sentences, front-loaded with usage guidance. Every word is valuable, no fluff.

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

Completeness5/5

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

Given the simple structure (one param, no output schema), the description fully covers what the tool does, what it returns, and prerequisites. No gaps.

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

Parameters3/5

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

Schema covers 100% of params with description 'DAO name or address'. Description repeats this but adds no new semantics beyond the schema. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool returns DAO details including group_id and group_policy_address, which are needed for governance tools. It distinguishes itself from siblings like create_dao and dao_list_members by specifying its specific use case.

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

Usage Guidelines5/5

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

Explicitly states when to use (when needing DAO details with group_id and group_policy_address) and mentions that these fields are required for governance tools. Also provides 'see also' references to related tools.

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

get_file_contentsA

Use this when you need to read a file from a remote Gitopia repository without cloning it first. Fetches via the git server gateway. Requires 'owner', 'name', 'branch', and 'path'. Returns the raw file content as text. See also: git_clone.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes
branchYes
pathYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description must carry burden. Mentions fetching via git server gateway and returns raw text, but does not disclose authorization needs, rate limits, or side effects. Acceptable but not thorough.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then lists required params and return type. No wasted words.

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

Completeness3/5

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

Tool is simple but no output schema. Description mentions returns raw file content as text but lacks details on encoding, error handling, or size limits. Adequate but could be more complete.

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 has 0% description coverage, and description only lists parameter names without any explanation of meaning, format, or constraints. Fails to compensate for missing schema descriptions.

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

Purpose5/5

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

Description clearly states it reads a file from a remote Gitopia repository without cloning, and specifies the required parameters. This is specific and distinguishes it from siblings like git_clone.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when you need to read a file... without cloning it first.' References git_clone as alternative. Could be more specific about when not to use.

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

get_issueA

Use this when you need full issue context before working on it (labels, assignees, bounties, linked PRs). Returns number, title, state, author, description, comments count, labels, assignees, bounties, created_at, updated_at, closed_at, and closed_by. Requires 'owner', 'name', and 'issue_iid'. See also: list_issues, comment_on_issue, update_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
issue_iidYesIssue number (IID)

TDQS

A4.2/5.0
Behavior3/5

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

No annotations exist, so description must disclose behaviors. It describes return fields but does not explicitly state that the tool is read-only, safe, or any rate limits/permissions. Adequate but not rich.

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

Conciseness5/5

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

Two sentences, front-loaded with usage scenario, efficiently lists return fields, and ends with sibling tool references. No wasted words.

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

Completeness4/5

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

Lacks output schema but fully enumerates returned fields. Covers usage context and siblings. Does not address error scenarios, but sufficient for a read tool of moderate complexity.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for all three parameters. Description does not add additional meaning beyond listing the required parameters, so baseline 3 applies.

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

Purpose5/5

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

Explicitly states the tool returns full issue context with a specific list of fields. Differentiates from siblings like 'list_issues', 'comment_on_issue', and 'update_issue'.

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

Usage Guidelines5/5

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

Directs when to use ('when you need full issue context before working on it') and references alternative tools, providing clear decision context.

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

get_pull_requestA

Use this when you need full pull request context before reviewing or merging. Returns iid, title, state, description, head, base, creator, reviewers, assignees, labels, created_at, updated_at, merged_by, merged_at, comments count, and draft status. Requires 'owner', 'name', and 'pull_iid'. See also: list_pull_requests, comment_on_pull_request, merge_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
pull_iidYesPull request number (IID)

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description must carry behavioral disclosure. It details returned data and required params, but could explicitly state it's a read-only operation with no side effects.

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

Conciseness5/5

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

Two sentences with no fluff. First sentence gives usage context; second sentence lists fields and parameters. Efficient and front-loaded.

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

Completeness5/5

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

For a simple get tool with 3 params and no output schema, the description adequately covers purpose, input requirements, output fields, and related tools.

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

Parameters3/5

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

Schema coverage is 100%, so schema already documents parameters. Description repeats required params but adds no new semantic meaning beyond what schema provides.

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

Purpose5/5

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

Description clearly states the tool retrieves full pull request context before reviewing or merging. It lists returned fields and distinguishes from sibling tools by naming alternatives.

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

Usage Guidelines5/5

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

Explicitly says when to use ('before reviewing or merging') and references sibling tools (list_pull_requests, comment_on_pull_request, merge_pull_request) for alternative actions.

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

get_pull_request_diffA

Use this when you need to review the actual code changes in a pull request. Returns the unified diff (patches) for all changed files, with addition/deletion stats. Requires 'owner', 'name', and 'pull_iid'. Optional: 'limit' (max files, default 50). See also: get_pull_request, comment_on_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
pull_iidYesPull request number (IID)
limitNoMaximum number of file diffs to return (default 50)

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided. Description discloses return type (unified diff, addition/deletion stats) and optional limit parameter. Being a read operation, no side effects expected; description adequately sets expectations.

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

Conciseness5/5

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

Two sentences with immediate use-case statement, followed by parameter summary and see-also. No fluff, front-loaded, every sentence adds value.

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

Completeness4/5

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

No output schema exists; description sufficiently explains return type. Mentions limit parameter but could clarify pagination (e.g., if more than limit files). Overall adequate for a diff retrieval tool.

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

Parameters4/5

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

Input schema has 100% description coverage. Description adds context: default limit of 50 and clarifies required parameters (owner, name, pull_iid). Adds value beyond schema by specifying default limit value.

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

Purpose5/5

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

Description clearly states it returns unified diffs and stats for code changes in a pull request, using verb 'review' and resource 'pull request diff'. It distinguishes from siblings like get_pull_request (metadata) and comment_on_pull_request.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when you need to review the actual code changes' and lists related tools (get_pull_request, comment_on_pull_request) as alternatives. Lacks explicit when-not-to-use or prerequisites, but context is clear.

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

get_repoA

Use this when you need detailed information about a specific repository (e.g. to get repo_id for merge). Returns name, id, description, stars, forks, and owner. Requires 'owner' and 'name'. See also: list_repos, git_clone.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes

TDQS

A4.1/5.0
Behavior3/5

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

Since no annotations are provided, the description fully carries the behavioral disclosure burden. It indicates the tool returns data (name, id, etc.), implying a read operation, but does not explicitly state safety (e.g., no side effects) or any required permissions or rate limits.

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

Conciseness5/5

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

The description is concise (34 words), front-loaded with the usage instruction, and contains no superfluous information. Every sentence serves a clear purpose.

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

Completeness4/5

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

Given the tool has a simple input schema and no output schema, the description adequately explains the return fields (name, id, etc.). It does not cover potential constraints like authentication or rate limits, but for a basic get-repository tool it is largely complete.

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%, and the description only states 'Requires owner and name' without adding semantic context beyond the schema. The meaning of 'owner' and 'name' (e.g., GitHub username and repo name) is implied but not explicitly clarified.

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

Purpose5/5

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

The description clearly states the verb and resource: 'Use this when you need detailed information about a specific repository' and lists return fields. It also explicitly references sibling tools (list_repos, git_clone) for differentiation.

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

Usage Guidelines5/5

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

The description explicitly states when to use ('Use this when you need detailed information about a specific repository') and provides implicit alternatives with 'See also: list_repos, git_clone'.

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

get_user_contextA

Use this when you need to discover the active identity at the start of a session. Returns username, wallet address, active DAO (if any), and a list of DAOs the user belongs to. Automatically initializes context from wallet if not already done. See also: set_active_dao, refresh_user_context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the behavioral trait: 'Automatically initializes context from wallet if not already done.' While it does not mention potential side effects or errors, this additional context is valuable beyond the schema.

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: two clear sentences plus a brief 'See also' reference. Every sentence adds value, and the key information is front-loaded about when to use the tool.

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

Completeness5/5

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

Given the tool's simplicity (no parameters, no output schema), the description is fully sufficient. It covers purpose, usage context, outputs, and initialization behavior. No obvious gaps remain for an agent to call this tool correctly.

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 zero parameters with 100% schema description coverage, so the baseline is 4. The description does not need to add parameter details and appropriately focuses on the tool's purpose and output.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'discover the active identity at the start of a session.' It specifies the outputs (username, wallet address, active DAO, list of DAOs) and differentiates from siblings by explicitly referencing set_active_dao and refresh_user_context as alternatives.

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

Usage Guidelines5/5

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

The description directly tells when to use the tool: 'at the start of a session.' It also provides explicit alternatives through 'See also: set_active_dao, refresh_user_context,' guiding the agent on when this tool is appropriate versus others.

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

git_cloneA

Use this when you need a local copy of a Gitopia repository to read or modify code. Clones into a new workspace directory. Fails if target already exists. Requires 'repo_url' (gitopia://owner/repo or owner/repo) and 'local_path' (workspace-relative). Optional: 'branch' for a specific branch, 'depth' for shallow clone. See also: get_file_contents (for reading without cloning), bootstrap_repo (for new repos).

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_urlYesgitopia:// URL or owner/name format
local_pathYesPath relative to workspace root
branchNoSpecific branch to clone
depthNoShallow clone depth

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions the tool clones into a new workspace directory and fails if target exists, but lacks disclosure of authentication needs, side effects like fetching from remote, or rate limits.

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

Conciseness5/5

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

Two concise sentences plus a mention of alternatives, front-loading the purpose. No wasted words; every sentence serves a clear function.

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

Completeness4/5

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

Covers purpose, usage, failure condition, and parameter details. Missing output information (e.g., what is returned on success) and side effects, but provides adequate context for a cloning tool given the sibling list.

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

Parameters4/5

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

Schema coverage is 100%, but description adds value by clarifying URL formats ('gitopia://owner/repo or owner/repo') and that local_path is workspace-relative. This enhances understanding beyond the schema.

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

Purpose5/5

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

Description clearly states the verb 'clone' and resource 'repository', specifying it provides a local copy for reading or modifying code. It distinguishes from siblings by naming alternatives get_file_contents and bootstrap_repo.

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

Usage Guidelines4/5

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

Explicitly states when to use ('when you need a local copy...') and provides alternatives for other cases. However, it doesn't explicitly list conditions when cloning should be avoided, though the alternatives imply them.

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

git_pushA

Use this when you have local commits ready to publish to the remote. Requires 'repo_path'. Optional: 'remote' (default 'origin'), 'branch' (default current), 'force', 'set_upstream', 'dry_run'. Prefer commit_and_push_changes for a single-step stage+commit+push workflow. See also: commit_and_push_changes, create_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYesRepository path relative to workspace
remoteNoRemote name (default: origin)
branchNoBranch to push
forceNoForce push
set_upstreamNoSet upstream tracking
dry_runNoDry run

TDQS

A4.2/5.0
Behavior3/5

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

The description lists optional parameters but does not explicitly warn about the destructive potential of the 'force' push option. Since no annotations are provided, the description should more clearly convey the risk of overwriting remote history.

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 the core purpose. It efficiently lists parameters and alternatives. Minor improvement could be breaking into bullet points, but current structure is very readable without wasted words.

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

Completeness3/5

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

The description adequately explains the tool's function and options, but omits information about return values or output (e.g., success confirmation, error handling). Given no output schema, adding a brief note on what to expect would improve 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?

Schema coverage is 100%, so baseline is 3. The description adds value by specifying default values for remote ('origin') and branch ('current'), and explaining that force, set_upstream, and dry_run are boolean options, going beyond the schema's basic descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: publishing local commits to the remote. It distinguishes from sibling tools like commit_and_push_changes, which handles a combined workflow, and creates_pull_request, showing thoughtful differentiation.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool (local commits ready) and recommends an alternative (commit_and_push_changes for single-step), plus references create_pull_request. This provides clear guidance on tool selection.

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

list_bountiesA

Use this when you need to discover available bounties for contribution or review bounty status. Returns a JSON array of bounty objects with id, amount, state, repository_id, parent_iid, expire_at, and creator. Optional: 'limit' (default 50). Use get_bounty to get full details on a specific bounty. See also: get_bounty, create_bounty.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of bounties to return (default 50)

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the tool is read-only (discover, returns) and lists the fields returned. However, it does not mention potential behaviors like pagination, handling of many results, or authentication requirements. The description is adequate but not detailed.

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 three sentences, each serving a distinct purpose: usage context, return format, and parameter/alternatives. No redundant words, front-loaded with purpose. Excellent conciseness.

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

Completeness5/5

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

Given the tool's simplicity (one optional parameter, no output schema), the description fully covers what an agent needs: purpose, return fields, parameter, and alternative tools. No gaps remain.

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

Parameters4/5

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

Schema coverage is 100% for the single parameter 'limit'. The description adds explicit default value (default 50) which is not in the schema description, enhancing understanding beyond the schema. It also clarifies that the parameter is optional.

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

Purpose5/5

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

The description clearly states 'Use this when you need to discover available bounties for contribution or review bounty status', specifying a concrete verb (discover) and resource (bounties). It distinguishes from sibling tools like get_bounty and create_bounty by mentioning their roles.

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

Usage Guidelines4/5

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

The description provides explicit usage context ('when you need to discover...') and suggests alternatives ('Use get_bounty to get full details on a specific bounty', 'See also: get_bounty, create_bounty'). It lacks explicit when-not-to-use, but the guidance is sufficient.

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

list_branchesA

Use this when you need to discover branches before cloning or creating a PR. Returns a JSON array of branch objects with name and SHA. Requires 'owner' and 'name'. Returns up to 100 branches. See also: get_repo, create_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the output format (JSON array with name and SHA), required parameters, and a pagination limit (up to 100 branches). This adequately informs the agent of the tool's behavior, though more detail on authentication or rate limits would improve it.

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 only two sentences, front-loaded with the use case, and every sentence adds value. There is no redundancy or fluff.

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

Completeness4/5

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

Given the tool's low complexity (2 simple params, no nested objects, no output schema), the description covers the key aspects: purpose, input, output format, and constraints. It could optionally mention error handling or sorting, but it is sufficient for correct invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It states 'Requires owner and name', which is minimal. It does not clarify that 'owner' is the repository owner and 'name' is the repository name, leaving some interpretation to the agent. This is adequate but not rich.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'discover branches before cloning or creating a PR'. It specifies the verb 'discover' and the resource 'branches', and provides concrete use cases that differentiate it from similar tools like 'get_repo' and 'create_pull_request'.

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

Usage Guidelines4/5

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

The description explicitly tells when to use the tool ('before cloning or creating a PR') and references alternatives ('See also: get_repo, create_pull_request'). It does not explicitly state when not to use it, but the context is clear enough for the agent.

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

list_commitsA

Use this when you need to review commit history for a repository branch. Returns a JSON array of commit objects with id, title, author, committer, message, and created_at. Requires 'owner' and 'name'. Optional: 'branch' (defaults to the repo's default branch), 'limit' (default 50). See also: list_branches, get_repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
branchNoBranch name (defaults to repo's default branch)
limitNoMaximum number of commits to return (default 50)

TDQS

A3.6/5.0
Behavior2/5

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

Despite no annotations, the description does not explicitly state that the tool is read-only, what authentication or permissions are required, or any rate limits or side effects. It only describes the response format, leaving the agent unaware of behavioral constraints.

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 compact (three sentences) and front-loads the usage context. It could be slightly tighter, but it efficiently conveys purpose, response format, and parameter notes without redundancy.

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

Completeness3/5

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

The description covers purpose, response fields, and key parameters. However, it omits details on pagination, ordering, error handling (e.g., invalid branch), and authentication requirements. Given no output schema and no annotations, these gaps reduce completeness.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The description restates schema defaults for 'branch' and 'limit' but adds no new semantic meaning beyond what the schema already provides.

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

Purpose5/5

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

The description explicitly states the tool reviews commit history for a repository branch and lists the fields returned. It distinguishes from sibling tools by naming list_branches and get_repo, making the purpose clear and specific.

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

Usage Guidelines4/5

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

The description clearly states when to use ('when you need to review commit history for a repository branch') and references sibling tools (list_branches, get_repo) for context. However, it does not provide explicit when-not-to-use or exclusion scenarios, which would make it a 5.

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

list_issuesA

Use this when you need to browse issues for a repository or find issues to work on. Returns a JSON array with number, title, state, author, description, and comment count. Requires 'owner' and 'name'. Returns up to 100 issues. Use get_issue for full details on a specific issue. See also: get_issue, create_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It discloses a limit of 100 issues and the return fields, but does not mention authentication, rate limits, or error behavior. The information is adequate but not comprehensive.

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 concise (4 sentences), front-loaded with purpose, and each sentence adds value (purpose, output format, requirements, alternative tool). No wasted words.

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

Completeness4/5

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

For a simple list tool with only two parameters, the description covers purpose, output format (JSON array with fields), limit (100 issues), and alternatives. Missing details like pagination, ordering, or potential error responses, but overall sufficient for the tool's simplicity.

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 only two parameters (owner, name) with no descriptions, and schema coverage is 0%. The description mentions they are required but does not explain their meaning. Since the parameter names are self-explanatory, the description adds minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: to browse issues for a repository. It uses a specific verb ('browse') and resource ('issues'), distinguishes from sibling get_issue by noting it returns a summary list, and mentions the output format.

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

Usage Guidelines4/5

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

The description explicitly tells when to use this tool ('when you need to browse issues or find issues to work on') and contrasts with get_issue for full details. However, it does not provide explicit guidance on when not to use it or other alternative tools beyond get_issue.

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

list_labelsA

Use this when you need to see available labels for a repository before applying them to issues. Returns a JSON array of label objects with id, name, color, and description. Requires 'owner' and 'name'. See also: create_label, update_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name

TDQS

A4.4/5.0
Behavior4/5

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

The description explains the return format (JSON array with id, name, color, description) and implies a read-only operation. While annotations are absent, the description adequately communicates the tool's behavior for a simple listing. It does not mention potential limits or authorization, but the context is clear.

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 concise with three well-structured sentences. Front-loads the usage context, then specifies return format, requirements, and see-also references. No extraneous words.

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

Completeness4/5

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

For a list tool with no output schema, the description fully explains the return type and fields, meeting the agent's needs for using the tool. It also references related tools. However, it omits potential pagination or error scenarios, though these might be unnecessary for this simple endpoint.

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

Parameters3/5

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

The input schema already provides 100% coverage for both parameters ('owner' and 'name') with descriptions. The description merely restates that these are required, adding no new semantics beyond the schema.

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

Purpose5/5

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

The description clearly identifies the tool's purpose: viewing available labels for a repository. It specifies the action ('list'), the resource ('labels'), and the context ('before applying them to issues'). It also distinguishes from sibling tools by referencing create_label and update_issue.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool ('before applying labels to issues'), what parameters are required ('owner' and 'name'), and provides alternative tools ('create_label, update_issue'). This gives clear guidance for correct usage.

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

list_pending_transactionsA

Use this to see all pending chain-write transactions awaiting confirmation in the current session. Returns pending_id, tool, detail, wallet, and expiry for each. See also: confirm_transaction, reject_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Discloses that it returns pending transactions and lists the fields. No annotations, so the description carries the burden; it adequately conveys read-only behavior and what the agent can expect.

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

Conciseness5/5

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

Two concise sentences with no wasted words. Purpose and return fields front-loaded. Efficient and clear.

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

Completeness5/5

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

Covers purpose, return fields, and links to related actions. No output schema needed; description fully informs the agent.

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

Parameters4/5

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

No parameters exist; schema coverage is 100%. The description adds no parameter details but is not required. Baseline 4 for zero-parameter tool.

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

Purpose5/5

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

States clearly it lists pending chain-write transactions awaiting confirmation. The verb 'list' and noun 'pending transactions' are precise, and it naturally distinguishes from sibling tools like confirm_transaction and reject_transaction.

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

Usage Guidelines4/5

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

Explicitly says 'Use this to see...' and provides related tools. It lacks explicit when-not usage, but the context is clear given it's a simple list operation.

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

list_pull_requestsA

Use this when you need to check existing PRs before creating a new one, or review PR status. Returns a JSON array of PR objects with number, title, state, author, description, head, and base branch. Requires 'owner' and 'name'. Optional: 'limit' (default 100). See also: create_pull_request, merge_pull_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
nameYes
limitNo

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It specifies the return format and parameters but does not confirm read-only behavior or side effects. The disclosure is adequate but lacks completeness.

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

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the purpose and immediately provides actionable details, making it efficient for an AI agent.

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

Completeness4/5

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

Given no output schema, the description includes the return fields (number, title, state, etc.). It covers purpose, usage, parameters, and output format. Missing error handling or pagination details, but sufficient for a simple list operation.

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 no descriptions (0% coverage). The description adds that 'limit' defaults to 100 and states 'owner' and 'name' are required, but does not explain the meaning of 'owner' and 'name' (e.g., repository identifiers). This adds minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool lists pull requests for checking before creating one or reviewing status. It mentions specific return fields and references sibling tools, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly says when to use it ('before creating a new one, or review PR status') and references alternatives via 'See also: create_pull_request, merge_pull_request'. However, it does not explicitly state when not to use it.

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

list_releasesA

Use this when you need to discover published releases for a repository. Returns a JSON array of release objects with id, tag_name, name, description, draft, pre_release, and created_at. Requires 'owner' and 'name'. Optional: 'limit' (default 50). See also: list_tags, create_release.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
limitNoMaximum number of releases to return (default 50)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the array return format with specific fields and mentions required/optional parameters, but does not cover potential behavioral aspects like pagination behavior beyond limit, ordering, or auth requirements.

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

Conciseness5/5

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

The description is two sentences, front-loads the purpose, and lists return fields concisely. Every sentence adds value with no redundancy.

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

Completeness4/5

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

For a simple listing tool without output schema, the description covers parameters and return fields adequately, and references siblings. It lacks details on sorting or error conditions, but is sufficiently complete given the tool's simplicity.

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

Parameters3/5

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

Input schema coverage is 100%, so baseline is 3. The description reiterates schema info ('Requires owner and name, optional limit with default 50') but adds no new meaning beyond what the schema already provides, so a score of 3 is appropriate.

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

Purpose5/5

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

The description explicitly states 'Use this when you need to discover published releases for a repository', clearly defining the action and resource. It also distinguishes from siblings by referencing 'list_tags' and 'create_release'.

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

Usage Guidelines4/5

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

The description provides a clear use case ('discover published releases') and references alternative tools ('See also: list_tags, create_release'), offering context for when to use this tool. However, it lacks explicit exclusions or when-not-to-use guidance, preventing a perfect score.

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

list_reposA

Use this when you need to browse or discover repositories for a user or DAO. Returns a JSON array of repository objects with name, id, description, and star count. Requires 'owner' (username or DAO name). Returns up to 50 repos. See also: get_repo for full details on a specific repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitopia account name

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, but the description discloses the return limit (50 repos), required parameter, and that it returns repository objects. Does not mention authentication or rate limits, but adequate for a read-only list 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?

Three sentences, front-loaded with usage context, no redundant information. Efficient and clear.

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

Completeness4/5

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

Simple tool with one parameter, no output schema. Description covers purpose, return format, limit, and alternative. Lacks pagination details but sufficient for typical use.

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

Parameters4/5

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

Schema describes 'owner' as 'Gitopia account name'; description clarifies 'username or DAO name', adding value beyond the schema. No other parameters to describe.

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

Purpose5/5

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

The description clearly states the tool browses or discovers repositories for a user or DAO, and specifies the return structure. It distinguishes from sibling tool get_repo.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool (browsing/discovering repos) and directs to get_repo for full details, providing clear guidance on alternatives.

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

list_tagsA

Use this when you need to discover version tags for a repository. Returns a JSON array of tag objects with name, sha, created_at, and updated_at. Requires 'owner' and 'name'. Optional: 'limit' (default 100). See also: list_branches, list_releases.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
limitNoMaximum number of tags to return (default 100)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description must cover behavior. It states it returns a JSON array of tag objects with specific fields, implying read-only operation, but does not explicitly mention non-destructive nature, authentication, or rate limits.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose followed by return type and parameters. No redundant information. Every sentence adds value.

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

Completeness4/5

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

For a simple list tool with 3 parameters and no output schema, the description covers purpose, return format, and required/optional params. Misses edge cases or sorting order, but sufficient for basic usage.

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

Parameters3/5

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

Schema description coverage is 100% with all three parameters described. The description only adds a default value for limit already present in schema, adding no new semantic meaning.

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

Purpose5/5

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

Description clearly states the tool discovers version tags for a repository, with specific verb 'discover' and resource 'version tags'. It distinguishes from siblings by listing alternative tools 'list_branches, list_releases'.

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

Usage Guidelines4/5

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

Description provides explicit context: 'Use this when you need to discover version tags for a repository.' It also references sibling tools for alternatives, but lacks explicit when-not-to-use guidance.

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

merge_pull_requestA

Use this when a PR has been reviewed and is ready to merge. Merges via an on-chain transaction. Returns the transaction hash. Requires 'owner', 'name', and 'pull_iid'. See also: get_pull_request, list_pull_requests.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
pull_iidYesPull request number (IID)
providerNoGit server provider address (defaults to gitopia15nv5vf6fmww8cxr6emrzxjvj36x5n8xvsxsqpw)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It mentions merging via an on-chain transaction and returns the transaction hash, but lacks details on failure modes, repetitive calls, or prerequisites like signing. Moderate transparency.

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

Conciseness5/5

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

The description is three sentences, front-loaded with usage context, and every sentence adds value. It is concise and well-structured.

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

Completeness4/5

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

Given the tool's complexity (on-chain merge, 4 params, no output schema), the description covers when to use, what it does, required parameters, and return value. It could mention potential failure scenarios but is largely complete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description reiterates required parameters but adds no new semantic information beyond what the schema provides. It doesn't explain the 'provider' parameter beyond its default.

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 merges a pull request when reviewed, using a specific verb and resource. It distinguishes from siblings like get_pull_request and list_pull_requests by mentioning them as alternatives, but doesn't differentiate from other merge-related tools like create_pull_request.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when a PR has been reviewed and is ready to merge,' providing a clear condition. Also lists required parameters and references sibling tools for alternatives. However, it doesn't explicitly state when not to use it.

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

refresh_user_contextA

Use this when context may be stale after DAO membership changes, new repository creation, or other state-changing operations. Requires get_user_context to have been called first. See also: get_user_context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/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 'refresh' but does not specify what happens internally (e.g., clears local cache, re-fetches from server). The behavioral traits are implied but not detailed.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with the primary use case, then prerequisite and reference. Highly efficient.

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

Completeness4/5

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

For a simple refresh tool with no parameters and no output schema, the description covers prerequisite and trigger conditions. However, it could mention expected outcome (e.g., 'refreshes the cached user context') or any side effects.

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?

There are no parameters, so schema coverage is 100% by default. The description does not add parameter information, but none is needed. Baseline 4 for zero-parameter tools is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: to refresh user context when stale after state-changing operations. It uses a specific verb-refresh-context and distinguishes from the sibling get_user_context by mentioning it as a prerequisite.

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

Usage Guidelines5/5

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

Explicitly states when to use (after DAO membership changes, new repos, etc.) and when not (requires get_user_context first). Also references the alternative tool 'get_user_context'.

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

reject_transactionA

Use this to cancel a pending chain-write transaction without broadcasting. Requires 'pending_id'. The transaction is permanently removed. See also: list_pending_transactions, confirm_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
pending_idYesThe ID of the pending transaction to reject

TDQS

A4.2/5.0
Behavior4/5

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

Discloses that the transaction is permanently removed without broadcasting, compensating for the lack of annotations. Could mention error scenarios but sufficient for a simple destructive action.

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

Conciseness5/5

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

Two concise sentences with a 'See also' reference. Front-loaded with main action, no extraneous information.

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

Completeness4/5

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

Complete for a single-parameter tool with no output schema. Links to related tools and explains effect. Lacks error handling details but acceptable given simplicity.

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

Parameters3/5

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

Schema coverage is 100%, and the description adds no additional meaning beyond the schema's own description of the pending_id parameter.

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

Purpose5/5

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

Description clearly states the tool cancels a pending chain-write transaction without broadcasting, distinguishing it from sibling tools like confirm_transaction and list_pending_transactions.

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

Usage Guidelines4/5

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

Provides explicit context to use for cancellation, requires 'pending_id', and references sibling tools for alternatives. Does not explicitly state when not to use, but the 'see also' section implies appropriate contexts.

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

set_active_daoA

Use this when you need to switch operations to a DAO context. When a DAO is active, repository and issue operations use the DAO as the owner. Pass dao_name to switch; omit or pass empty string to revert to personal account. The DAO must appear in your get_user_context list. See also: get_user_context.

ParametersJSON Schema
NameRequiredDescriptionDefault
dao_nameNo

TDQS

A5/5.0
Behavior5/5

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

No annotations provided; description carries full burden. It explains the effect on operations and the condition for reverting, effectively disclosing the behavioral impact of the tool.

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

Conciseness5/5

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

Three concise sentences, front-loaded with purpose, no wasted words. Each sentence adds value: purpose, usage, and reference to sibling.

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

Completeness5/5

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

For a simple tool with one optional parameter and no output schema, the description is complete: it covers when to use, how to use, and provides context via sibling reference.

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

Parameters5/5

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

Schema coverage is 0%, but the description adds significant meaning: it explains that dao_name switches context, and omitting or passing empty string reverts. Also adds condition about DAO existing in user context.

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

Purpose5/5

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

The description clearly states the tool's purpose: switching operations to a DAO context. It explains that when a DAO is active, repository and issue operations use the DAO as owner, distinguishing it from sibling tools.

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

Usage Guidelines5/5

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

Explicitly says 'Use this when...' and provides clear instructions: pass dao_name to switch, omit or pass empty string to revert. Also notes the DAO must appear in get_user_context list, referencing a sibling tool.

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

sync_with_remoteA

Use this when you need to update a local repo with upstream changes before starting work. Fetches and integrates changes from the remote. Requires 'repo_path'. Optional: 'branch', 'remote' (default 'origin'), 'strategy' ('merge' or 'rebase', default 'merge'). See also: git_clone, git_push.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes
branchNo
remoteNo
strategyNo

TDQS

A4.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosing side effects. It states 'fetches and integrates' but does not mention potential conflicts, destructive actions, or prerequisite conditions (e.g., clean working directory), leaving significant ambiguity.

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

Conciseness5/5

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

The description is two sentences long, front-loads the purpose, and efficiently lists parameters and alternatives with no redundant information.

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

Completeness3/5

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

Given the absence of annotations and output schema, the description provides a basic understanding of the tool's function and parameters. However, it omits critical context such as error handling, conflict behavior, and prerequisites (e.g., existing repo), making it only minimally sufficient for reliable agent invocation.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds meaningful defaults (remote='origin', strategy='merge') and allowed values for strategy, along with required/optional classification. However, it does not clarify formats like repo_path (e.g., absolute path vs. git URL) or the role of branch.

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

Purpose5/5

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

The description clearly states the action ('update a local repo with upstream changes') and specifies the tool's purpose for syncing before starting work. It distinguishes itself from siblings by explicitly referencing git_clone and git_push.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use the tool ('before starting work') and lists alternatives ('See also: git_clone, git_push'), making the intended context clear.

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

toggle_repository_forkingA

Use this when you need to enable or disable forking on a repository. Toggles the AllowForking flag. Must be called before forking a repo that has forking disabled. Signs and broadcasts an on-chain transaction. Returns the new AllowForking state. Requires 'owner' and 'name'. See also: fork_repository, get_repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, description carries full burden. Discloses that it signs and broadcasts an on-chain transaction (write operation) and returns the new state. Could mention if it reverts on failure, but adequate.

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?

Concise, front-loaded with usage, no fluff. Three sentences cover purpose, behavior, prerequisites, and related tools.

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

Completeness5/5

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

Covers all needed aspects for a simple toggle tool: purpose, when-to-use, behavior (transaction), return value, and sees also.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for owner and name. Description adds no new semantics beyond 'requires owner and name'. Baseline 3.

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

Purpose5/5

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

The description clearly states the tool toggles the AllowForking flag, enabling or disabling forking on a repository. It distinguishes itself from siblings like fork_repository and get_repo.

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

Usage Guidelines5/5

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

Provides explicit when-to-use (toggle before forking) and references alternatives (fork_repository, get_repo). Tells the agent it must be called before forking a disabled repo.

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

update_bountyA

Use this when you need to extend a bounty's expiry. Requires 'bounty_id'. Optional: 'expiry' (unix timestamp). See also: get_bounty, close_bounty.

ParametersJSON Schema
NameRequiredDescriptionDefault
bounty_idYes
expiryNo

TDQS

A4.1/5.0
Behavior3/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 the intended action but does not disclose additional behavioral traits such as side effects, permissions required, or idempotency. For a simple update, this is adequate but not thorough.

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

Conciseness5/5

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

Two sentences with no wasted words. Key information is front-loaded ('Use this when...'). Structure is efficient and easy to parse.

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 lack of output schema and annotations, the description covers purpose and key parameters but omits return value, error conditions, or behavior beyond the action. For a simple tool, this is marginally complete but could be richer.

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

Parameters4/5

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

With 0% schema description coverage, the description adds value by explaining that expiry is a unix timestamp and that bounty_id is required (though already in schema). It does not detail the meaning of bounty_id or constraints, but the added explanation is helpful.

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

Purpose5/5

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

Description explicitly states 'extend a bounty's expiry', which is a specific verb+resource action. It clearly distinguishes from siblings like close_bounty (closing) and get_bounty (viewing), making the tool's purpose unambiguous.

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

Usage Guidelines4/5

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

Provides direct when-to-use guidance ('when you need to extend a bounty's expiry') and references sibling tools (get_bounty, close_bounty) as alternatives. Lacks explicit exclusions (e.g., when not to use), but the context is clear.

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

update_feature_branchA

Use this when you need to push additional changes to an existing feature branch or open PR. Modifies the branch by adding a new commit with file changes and pushing. Requires 'repo_path', 'branch_name', 'files', and 'commit_message'. The branch must already exist locally. See also: create_feature_branch_pr.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYesRepository path relative to workspace (e.g. 'myrepo')
branch_nameYes
filesYes
commit_messageYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations present, so description bears full burden. It discloses that the tool modifies the branch by adding a new commit and pushing, but does not elaborate on side effects, error handling, or behavior for non-local branches. Basic transparency is achieved but could be richer.

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?

Two sentences plus a reference; front-loaded with the key usage scenario. No wasted words, but the reference could be integrated more smoothly.

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

Completeness3/5

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

Given the tool has 4 required params, no output schema, and no annotations, the description covers the core functionality and prerequisites but lacks details on return values, error scenarios, and precise file handling behavior.

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 coverage is only 25% (only 'repo_path' has a description). The description lists all required parameters but adds minimal meaning beyond their names. For low-coverage schemas, the description should compensate more.

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

Purpose5/5

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

Clearly states the tool's action ('push additional changes'), resource ('existing feature branch or open PR'), and provides enough detail to distinguish from siblings like 'create_feature_branch' and 'create_feature_branch_pr'.

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

Usage Guidelines4/5

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

Explicitly states when to use ('when you need to push additional changes to an existing feature branch or open PR') and mentions a prerequisite ('branch must already exist locally'). Refers to a sibling tool for an alternative. While it doesn't list all non-use cases, the context is clear.

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

update_issueA

Use this when you need to change an issue's state (open/close), labels, or assignees. All actions are batched into a single atomic on-chain transaction. Requires 'owner', 'name', 'issue_iid'. Optional: 'toggle_state' (open/close), 'state_comment', 'add_labels', 'remove_labels', 'add_assignees', 'remove_assignees'. At least one action must be specified. See also: get_issue, comment_on_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (username or DAO name)
nameYesRepository name
issue_iidYesIssue number (IID)
toggle_stateNoToggle issue open/closed state
state_commentNoComment to add when toggling state
add_labelsNoLabel IDs to add
remove_labelsNoLabel IDs to remove
add_assigneesNoUsernames to assign
remove_assigneesNoUsernames to unassign

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so the description carries the full burden. It discloses that all actions are batched into a single atomic on-chain transaction, which is key behavioral information. Could mention more about side effects.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, every sentence earns its place. No fluff.

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

Completeness4/5

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

Given the tool complexity (9 parameters, multiple action types) and no output schema, the description is fairly complete. It explains required vs optional, atomic batch processing, and ties to sibling tools.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value by grouping parameters into categories (state, labels, assignees) and clarifying the requirement that at least one action must be specified.

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

Purpose5/5

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

Description clearly states the purpose: to change an issue's state, labels, or assignees. It uses specific verbs and resources, and distinguishes from sibling tools like get_issue and comment_on_issue.

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

Usage Guidelines4/5

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

Explicitly says 'Use this when you need to change...' and notes that at least one action must be specified. It lists required and optional parameters but does not provide explicit when-not-to-use scenarios.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 57 tool updatesv0.1.1
    • First observedbatch_execute
    • First observedbootstrap_repo
    • First observedclaim_fee_grant
    • First observedclose_bounty
    • First observedcomment_on_issue
    • First observedcomment_on_pull_request
    • First observedcommit_and_push_changes
    • First observedconfirm_transaction
    • First observedcreate_bounty
    • First observedcreate_dao
    • First observedcreate_feature_branch
    • First observedcreate_feature_branch_pr
    • First observedcreate_issue
    • First observedcreate_label
    • First observedcreate_pull_request
    • First observedcreate_release
    • First observedcreate_repo
    • First observedcreate_user
    • First observeddao_exec
    • First observeddao_get_proposal
    • First observeddao_list_members
    • First observeddao_list_proposals
    • First observeddao_submit_proposal
    • First observeddao_update_members
    • First observeddao_vote
    • First observeddelete_bounty
    • First observeddelete_label
    • First observedfork_repository
    • First observedget_bounty
    • First observedget_dao
    • First observedget_file_contents
    • First observedget_issue
    • First observedget_pull_request
    • First observedget_pull_request_diff
    • First observedget_repo
    • First observedget_user_context
    • First observedgit_clone
    • First observedgit_push
    • First observedlist_bounties
    • First observedlist_branches
    • First observedlist_commits
    • First observedlist_issues
    • First observedlist_labels
    • First observedlist_pending_transactions
    • First observedlist_pull_requests
    • First observedlist_releases
    • First observedlist_repos
    • First observedlist_tags
    • First observedmerge_pull_request
    • First observedrefresh_user_context
    • First observedreject_transaction
    • First observedset_active_dao
    • First observedsync_with_remote
    • First observedtoggle_repository_forking
    • First observedupdate_bounty
    • First observedupdate_feature_branch
    • First observedupdate_issue

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct operation or workflow. Even overlapping tools like create_feature_branch and create_feature_branch_pr are clearly differentiated by purpose and scope. The batch_execute tool explicitly lists which tools it can combine, avoiding ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun or verb_preposition_noun pattern (e.g., create_issue, comment_on_pull_request, sync_with_remote). No mixed conventions, making it easy to infer functionality from names.

Tool Count2/5

With 57 tools, the server far exceeds the typical 3-15 tool range. While the domain is broad, there are redundancies (multiple commit/push workflows) and meta-tools (batch_execute). This excessive count risks overwhelming agents and indicates over-fragmentation.

Completeness4/5

The tool set covers major Gitopia workflows: repository management, git operations, issues/PRs, bounties, DAO governance, releases, and tags. Minor gaps exist (e.g., no tool to delete a repository or manage collaborators directly), but core lifecycle operations are well-supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

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/gitopia/gitopia-mcp-server'

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