Skip to main content
Glama
Atelier-Busco

atelier-busco-github-mcp

Official

Atelier Busco GitHub MCP Server (atelier-busco-github-mcp)

A lightweight, robust Model Context Protocol (MCP) server built with Node.js and TypeScript to seamlessly connect LLMs and AI agents (Claude Desktop, Cursor, Antigravity, Cline) directly to GitHub repositories (public and private).


Key Features

  • Repository Inspection: List repositories for any user or organization, get repository metadata, statistics, and branch details.

  • File & Tree Exploration: Read and automatically decode file contents (base64 to UTF-8 text), browse directory trees, and fetch recursive Git trees.

  • Global & Local Search: Search repositories and code across GitHub or within specific repositories by language, file path, or query strings.

  • Git Tracking & History: Retrieve commit histories, detailed commit diffs/patches, issues, pull requests, and releases.

  • Hybrid Authentication Support:

    • Public Unauthenticated Mode: Out-of-the-box support without a token (standard GitHub rate limit: 60 requests/hour).

    • Authenticated Mode: Seamlessly activates when GITHUB_TOKEN or GH_TOKEN is present (increases limit to 5,000 requests/hour and unlocks private repositories).


Related MCP server: GitHub MCP Server

Available MCP Tools

Tool Name

Description

Key Parameters

list_repositories

List repositories for an owner/organization or default GITHUB_OWNER

owner, type, sort, direction, per_page, page

get_repository_details

Retrieve comprehensive metadata and statistics for a repository

owner, repo

list_branches

List branches for a given repository

owner, repo, protected, per_page, page

get_file_contents

Read and decode file contents in UTF-8 format

owner, repo, path, ref

list_directory_contents

List files and subdirectories at a specific repository path

owner, repo, path, ref

get_repository_tree

Get the full Git tree structure (supports recursive trees)

owner, repo, tree_sha, recursive

search_repositories

Search GitHub repositories using query qualifiers

query, sort, order, per_page, page

search_code

Search for code snippets, symbols, or files

query, owner, repo, path, language

list_commits

Fetch commit history for a repository or branch

owner, repo, sha, path, author, since, until

get_commit_details

Get commit details including modified files and patches

owner, repo, ref

list_issues_and_prs

List issues and pull requests by status and labels

owner, repo, state, sort, direction, labels

get_issue_or_pr

Retrieve details for a specific issue or PR by number

owner, repo, issue_number

list_releases

List published releases for a repository

owner, repo, per_page, page


Environment Variables

Variable

Description

Required

GITHUB_OWNER

Default GitHub user or organization name for queries

Optional (can be passed in tool calls)

GITHUB_TOKEN / GH_TOKEN

GitHub Personal Access Token (for 5,000 req/hr and private repos)

Optional

GITHUB_API_URL

Base URL for GitHub API (defaults to https://api.github.com)

Optional


Client Configuration

1. Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "atelier-busco-github-mcp": {
      "command": "node",
      "args": [
        "/path/to/atelier-busco-github-mcp/dist/index.js"
      ],
      "env": {
        "GITHUB_OWNER": "Atelier-Busco"
      }
    }
  }
}

Or running via tsx in development mode:

{
  "mcpServers": {
    "atelier-busco-github-mcp": {
      "command": "npx",
      "args": [
        "tsx",
        "/path/to/atelier-busco-github-mcp/src/index.ts"
      ],
      "env": {
        "GITHUB_OWNER": "Atelier-Busco"
      }
    }
  }
}

2. Antigravity (~/.gemini/config/mcp_config.json)

{
  "mcpServers": {
    "atelier-busco-github-mcp": {
      "command": "node",
      "args": [
        "/path/to/atelier-busco-github-mcp/dist/index.js"
      ],
      "env": {
        "GITHUB_OWNER": "Atelier-Busco"
      }
    }
  }
}

Development & Build

# Install dependencies
npm install

# Build TypeScript to JavaScript
npm run build

# Start the compiled production server
npm run start

# Run with auto-reloading (development mode)
npm run dev

License

MIT © Atelier Busco

Available Tools

13 tools
get_commit_detailsA

Get detailed information for a specific commit, including stats and modified file patches.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesCommit SHA or reference
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)

TDQS

A4/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 clearly conveys the tool is a read operation ('Get') and discloses output characteristics (stats and patches). It does not mention potential prerequisites, rate limits, or side effects, but as a straightforward read, these are less critical. The description adds value beyond the name by specifying content.

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

Conciseness5/5

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

The description is a single, concise sentence with no redundant language. It states the verb, resource, and key output content efficiently, front-loading the most important information. Every word earns its place.

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

Completeness4/5

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

The description adequately explains the purpose and output for a simple tool with three well-documented parameters. It does not explicitly describe return structure (no output schema), but the mention of stats and patches gives a clear idea. There are no missing critical details for an agent to call this tool correctly, though it could note when not to use it, which is partially covered in usage guidelines.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not elaborate on any parameters (repo, ref, owner) beyond what the schema already provides. No extra meaning is added, but the schema fully documents the parameters, so 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 uses the specific verb 'Get' with the resource 'detailed information for a specific commit' and explicitly mentions 'stats and modified file patches.' This clearly distinguishes it from sibling tools like list_commits or get_repository_details, which serve different purposes.

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

Usage Guidelines3/5

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

The description states what the tool does but does not explicitly indicate when to prefer it over alternatives. There is no mention of scenarios (e.g., 'use this for commit-level details, use list_commits for summaries') or exclusions. The context is implied by the naming and output specifics, but explicit guidance is absent.

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

get_file_contentsA

Get decoded text content or raw metadata of a file in a GitHub repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoGit branch name, tag, or commit SHA (e.g. "main", "v1.0.0")
pathYesRelative path to the file in the repository (e.g. "package.json", "src/index.ts")
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)

TDQS

A3.5/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It does reveal the two possible result shapes ('decoded text content' vs 'raw metadata') and the GitHub repository source, but it does not explain when each mode applies, how binary files or large files are handled, or what errors might occur. It is not misleading, but the disclosure is minimal.

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

Conciseness5/5

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

The description is a single sentence with the core action front-loaded and no filler. Every word earns its place, making it appropriately concise for a simple read tool.

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

Completeness3/5

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

For a straightforward file-fetch tool with fully documented parameters, the description is nearly sufficient. However, since there is no output schema and no annotations, the description leaves unresolved ambiguity about what 'raw metadata' includes and how content mode vs metadata mode is selected. An agent can invoke it correctly using the schema, but richer behavioral context would be needed for full 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?

The input schema already provides descriptions for all 4 parameters, achieving 100% schema description coverage, so the baseline is 3. The description adds no extra parameter-level meaning, such as defaults for 'ref' or how 'path' should be formatted.

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 states a specific verb ('Get') and resource ('decoded text content or raw metadata of a file'), which is more informative than the tool name alone. However, it does not differentiate itself from sibling tools like list_directory_contents or get_repository_tree, and the 'content or raw metadata' disjunction could be ambiguous.

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

Usage Guidelines3/5

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

The description implies use when a file's content or metadata is needed, but it gives no explicit guidance about when to prefer this tool over siblings or when not to use it. No alternatives or exclusions are named, so this is only implicit usage guidance.

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

get_issue_or_prA

Get details for a specific issue or pull request by its number.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
issue_numberYesThe number of the issue or pull request

TDQS

A3.8/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 the full burden. 'Get details' clearly indicates a read-only operation with no side effects, which is accurate. However, nothing is said about authentication requirements, rate limits, or possible errors (e.g., non-existent issue number). The description is minimally sufficient but lacks deeper behavioral disclosure.

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

Conciseness5/5

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

A single, well-formed sentence that front-loads the action and resource. No filler, no redundancy. Every word earns its place.

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

Completeness4/5

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

For a simple get-by-number tool with three fully documented parameters and no output schema, the description covers the essentials. It could optionally hint at the nature of the returned details, but the tool's name and purpose make this largely inferable. Minor gap: no mention of response format, but this is not critical for a standard retrieval.

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

Parameters3/5

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

Schema description coverage is 100% – all three parameters (repo, owner, issue_number) already have descriptive text in the schema. The description adds no additional parameter semantics beyond what the schema provides. Baseline of 3 is appropriate since the schema fully documents the 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 identifies a specific verb ('Get'), a resource ('details for a specific issue or pull request'), and the key parameter ('by its number'). It distinguishes the tool from siblings like list_issues_and_prs, which lists multiple items, and get_repository_details, which targets the repo itself. No ambiguity.

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

Usage Guidelines3/5

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

The description implies use when an agent needs details for a single issue or PR given its number, but does not explicitly contrast with list_issues_and_prs or mention any conditions or exclusions. There is no guidance on when not to use this tool, but the context is clear enough for basic selection.

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

get_repository_detailsA

Get comprehensive details, statistics, stars, forks, and settings for a specific GitHub repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. 'Get' clearly indicates a read-only retrieval operation, and the enumerated return facets (details, statistics, stars, forks, settings) tell the agent what to expect. It does not discuss authentication or error behavior, but these are not critical for a straightforward metadata read.

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

Conciseness5/5

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

The description is a single, efficient sentence with no filler. The core action and the main data categories are front-loaded, making it easy for an agent to quickly understand the tool's purpose.

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

Completeness4/5

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

Given two simple parameters, a fully documented schema, and a clear list of returned data facets, the description is sufficient for an agent to select and invoke the tool correctly. Lacking an output schema or error-handling notes is acceptable for this straightforward read 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 already has 100% description coverage: 'repo' is described as 'Repository name' and 'owner' as 'GitHub user or organization name (optional if GITHUB_OWNER is set)'. The description adds no parameter-specific meaning, but the schema fully documents both 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 'Get', the resource ('specific GitHub repository'), and the scope of data (details, statistics, stars, forks, settings). This distinguishes it from sibling tools that list branches, files, trees, or search repositories.

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 phrase 'for a specific GitHub repository' provides clear context for when to use this tool versus discovery, listing, or content-level tools. It does not explicitly name alternatives or exclusions, but the targeting is unambiguous.

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

get_repository_treeB

Get full or partial file structure tree for a repository, optionally recursive.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
tree_shaNoBranch name, commit SHA, or tree SHA (defaults to HEAD)HEAD
recursiveNoWhether to fetch subtrees recursively

TDQS

B3.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 carries the behavioral transparency burden. It discloses the recursive option and the possibility of a partial tree, but it does not mention response shape, truncation behavior, or how tree_sha affects results beyond what the schema already states.

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?

A single concise sentence conveys the core purpose without wasted words. It is front-loaded with the action and resource, though it could have added sibling differentiation without becoming 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?

For a tree-fetching tool with four parameters and no output schema, the description is minimally sufficient. It fails to explain the relationship with list_directory_contents or what kind of data is returned, leaving some ambiguity for an agent selecting among similar GitHub repository 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?

The input schema already provides complete descriptions for all four parameters, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already documents, especially around tree_sha and recursive defaults.

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 identifies the action ('Get') and resource ('file structure tree'), and the phrase 'full or partial' adds useful scope. It does not explicitly distinguish itself from siblings like list_directory_contents or get_file_contents, but the tree-oriented wording makes the primary purpose reasonably clear.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus list_directory_contents or get_file_contents. 'Optionally recursive' hints at usage but does not state when recursion is appropriate or why this tree endpoint should be chosen over alternatives.

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

list_branchesC

List branches for a given repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
per_pageNoResults per page (max 100)
protectedNoFilter by protected branch status

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'List' implies a read-only action, but the description does not mention response shape, authentication needs, pagination behavior, or the protected filter—all relevant for a tool with no output schema and no annotation safety cues.

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 short sentence with no fluff or repetition. It is concise and front-loaded, though it is minimal rather than richly informative.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description should explain what the call returns and when it should be chosen. It only states the action and target, leaving the agent without return-shape or selection context beyond the parameter schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning beyond what the schema already provides; 'given repository' simply echoes the repo parameter's existing description.

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

Purpose4/5

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

The description uses a specific verb and resource ('List branches') and names the target ('a given repository'), making the core operation clear. It does not explicitly differentiate from sibling tools, but 'branches' is distinct enough from commits, files, and releases.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like get_repository_tree or list_directory_contents. The only hint is 'for a given repository,' which mostly restates the required repo parameter and provides no exclusion or selection criteria.

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

list_commitsC

List commit history for a repository or branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
shaNoSHA or branch to start listing commits from
pageNoPage number
pathNoOnly commits containing this file path will be returned
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
sinceNoISO 8601 timestamp (e.g. YYYY-MM-DDTHH:MM:SSZ) to filter commits after
untilNoISO 8601 timestamp to filter commits before
authorNoGitHub login or email to filter commits by author
per_pageNoResults per page (max 100)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'List commit history,' which implies a read operation, but it does not mention pagination behavior, default branch handling, ordering, rate limits, or response shape.

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

Conciseness4/5

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

One short, front-loaded sentence with no filler. It is efficient, though the brevity means it omits behavioral and usage context that would strengthen the tool definition.

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

Completeness2/5

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

Given 9 parameters, no annotations, and no output schema, the one-line description is insufficient for fully guiding invocation. It says what the tool does but not how to use it effectively, when to choose it, or what behavior to expect.

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%, and each parameter already has a meaningful description. The description adds no significant parameter semantics beyond 'repository or branch,' so the schema carries the load and the baseline of 3 applies.

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 is specific: it states the verb 'List' and the resource 'commit history for a repository or branch.' It is clearly distinguishable from siblings like get_commit_details, but it does not explicitly name alternatives or emphasize what it is not.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus get_commit_details, list_branches, or related tools. No context, exclusions, prerequisites, or alternative routing is provided, so the agent must infer usage from the name and schema.

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

list_directory_contentsB

List files, folders, symlinks and submodules within a directory in a GitHub repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoGit branch name, tag, or commit SHA
pathNoPath to directory within repository (leave empty for root)
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)

TDQS

B3.4/5.0
Behavior3/5

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

The description explicitly names the kinds of entries returned (files, folders, symlinks, submodules), which adds useful behavioral context beyond the tool name. However, there are no annotations, and the description omits details such as pagination, recursion behavior, or what happens when a path is invalid.

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

Conciseness5/5

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

The description is a single sentence with no filler or repetition. It front-loads the core action and precisely scopes what is listed, making every word valuable.

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 relatively simple directory-listing tool, the description plus complete parameter schema is largely sufficient for an agent to select and invoke it. It could additionally mention pagination or error behavior for invalid paths, but the core purpose and inputs are clear.

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

Parameters3/5

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

The input schema has 100% description coverage for all four parameters, so the schema already documents repo, owner, path, and ref. The description adds no parameter-specific semantics, but the baseline of 3 is appropriate because the schema carries the full burden.

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 states a specific verb ('List'), a clear resource ('files, folders, symlinks and submodules within a directory'), and the GitHub repository context. It is clear about what the tool does, but it does not explicitly distinguish itself from siblings like get_repository_tree or get_file_contents.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as get_repository_tree or get_file_contents. The description implies it should be used for listing a directory, but it provides no exclusions, prerequisites, or comparison to sibling tools.

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

list_issues_and_prsC

List issues and pull requests in a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
repoYesRepository name
sortNoSort fieldupdated
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
stateNoState of issues/PRsopen
labelsNoComma-separated list of label names
per_pageNoResults per page (max 100)
directionNoSort directiondesc

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'List issues and pull requests' and reveals nothing about pagination behavior, defaults, authentication needs, rate limits, or the combined issue/PR response shape. This is a significant gap for an 8-parameter tool.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It is efficient and readable, though it may be too terse given the operation's complexity and lack of annotations.

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?

With no output schema and no annotations, the description should provide more operational context. It omits return value shape, pagination defaults, how issues and PRs are combined, and when to use this over sibling tools. The schema covers parameters, but the tool description alone is not enough for confident invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents every parameter. The description adds no parameter-level meaning, but with full coverage the baseline of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb and resource: 'List issues and pull requests in a repository.' It clearly communicates the tool's primary function. However, it does not explicitly distinguish this from the singular sibling get_issue_or_pr, so it stops short of full sibling differentiation.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as get_issue_or_pr or search_repositories. The description simply states what the tool does without mentioning exclusions, prerequisites, or preferred use cases.

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

list_releasesB

List published releases for a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
repoYesRepository name
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
per_pageNoResults per page (max 100)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden of behavioral disclosure. It adds 'published' as a meaningful filter and implies a read-only list operation, but it omits important behavior such as pagination semantics, sort order, response format, or whether release metadata like tags/assets is included. Some value is provided, but significant behavioral gaps remain.

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

Conciseness5/5

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

A single sentence with every word earning its place. The verb and resource are front-loaded, and there is no redundancy or filler.

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?

This tool has no output schema and no annotations, so the description must cover more ground. It fails to describe the response shape, pagination behavior, or how the returned releases are structured. While the tool is relatively simple, an agent invoking it would have to rely on external knowledge about GitHub's API to know what to expect.

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 each parameter documented including defaults, minimums, maximums, and optionality. The description adds no additional meaning beyond the schema, so it meets the baseline without enhancing parameter 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?

States a specific verb and resource: 'List published releases for a repository.' The term 'published' narrows the scope (excluding drafts/prereleases), and the resource 'releases' is clearly distinct from sibling tools like list_branches, list_commits, and list_repositories. Even without naming siblings, the resource type alone differentiates it.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any exclusions, prerequisites, or context about choosing list_releases over get_repository_details or list_comments. The only usage hint is implicit in the name and description; the agent must infer when 'releases' is the desired resource.

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

list_repositoriesC

List repositories for a specified owner (user or organization), or the default GITHUB_OWNER.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
sortNoField to sort results byupdated
typeNoFilter repository typesall
ownerNoGitHub user or organization name (optional if GITHUB_OWNER is set)
per_pageNoResults per page (max 100)
directionNoSort directiondesc

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, but it only states that this tool lists repositories and can fall back to GITHUB_OWNER. It does not disclose pagination behavior, authentication requirements, whether only public repositories are returned, or the response shape, especially with no output schema present.

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

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. The core action and key scoping decision are stated immediately, making it easy for an agent to parse quickly.

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

Completeness2/5

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

For a six-parameter tool with no annotations and no output schema, the description is too thin to be contextually complete. It does not explain what the response looks like, that results are paginated, how the default owner is resolved, or what behavioral expectations an agent should hold beyond the schema.

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

Parameters3/5

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

Schema description coverage is 100%, with all six parameters (page, sort, type, owner, per_page, direction) documented and enums enumerated. The description adds no meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('List repositories') and the resource scope ('for a specified owner (user or organization), or the default GITHUB_OWNER'), making the tool's purpose immediately recognizable. It is distinguishable from siblings like get_repository_details or search_repositories, though it does not explicitly name or contrast those alternatives.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool versus search_repositories, get_repository_details, or other siblings. The only contextual signal is the owner-scoping phrase, but no exclusions, prerequisites, or alternative-selection conditions are provided.

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

search_codeB

Search for code across GitHub repositories or within a specific repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
pathNoFilter by file path or extension (e.g. "src", "path:app/*.ts")
repoNoFilter by specific repository name
ownerNoFilter by GitHub user or organization name
queryYesSearch terms or keywords (e.g. "McpServer", "function calculateTotal")
languageNoFilter by programming language (e.g. "typescript", "python")
per_pageNoResults per page (max 100)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool searches for code, leaving out important behavioral details such as authentication requirements, rate limits, result format, or restrictions on GitHub code search queries.

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 one concise sentence that front-loads the core purpose and scope. There is no redundant wording or filler.

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?

With seven parameters, no output schema, and no annotations, the description is too sparse to fully orient an agent. It does not explain what the returned results look like, how query syntax works beyond simple terms, or what factors affect search behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all seven parameters. The description adds no parameter-specific meaning beyond what the schema provides, meriting the baseline score of 3.

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

Purpose5/5

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

The description uses a specific verb ('Search') and resource ('code'), and clearly states the scope: across GitHub repositories or within a specific repository. This distinguishes it from sibling tools like search_repositories, which targets repository metadata rather than code content.

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

Usage Guidelines3/5

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

The description implies when to use the tool: whenever an agent needs to find code matching a query. However, it does not explicitly contrast this with search_repositories or other sibling tools, nor does it mention cases where the tool should not be used.

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

search_repositoriesB

Search for GitHub repositories using query syntax (e.g. topic, language, keywords).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
sortNoSort field
orderNoSort orderdesc
queryYesSearch query string (e.g. "mcp in:name user:octocat")
per_pageNoResults per page (max 100)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it searches, without mentioning read-only behavior, pagination, rate limits, auth requirements, or return format. This is a significant gap for a tool that could have hidden constraints.

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

Conciseness5/5

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

The description is a single, focused sentence with zero fluff. It front-loads the tool's main action and provides a concrete example of query syntax, making it efficient and easy to parse.

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

Completeness2/5

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

No output schema, no annotations, and a thin description leave the agent without key contextual information such as result format, default behavior, or integration with pagination. The schema documents parameters, but the tool-level context is 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 description coverage is 100%, so the baseline is 3. The description adds minor context by giving query syntax examples, but these largely overlap with the schema's query description. It does not explain sort/order semantics beyond what the schema already provides.

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 a specific verb ('Search') and resource ('GitHub repositories'), and gives examples of query syntax. It implicitly differentiates from search_code by specifying repositories, but does not explicitly name any 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 Guidelines3/5

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

The description implies usage through the phrase 'using query syntax' and examples like topic/language/keywords. However, it does not provide explicit when-to-use guidance or mention alternatives such as search_code or list_repositories.

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

TDQS

A3.6/5.0
Disambiguation4/5

Each tool targets a distinct operation (get/list/search) on a specific GitHub resource, making most roles clear. The only slight overlap is between get_repository_tree and list_directory_contents, but their stated scopes are different enough to prevent real confusion.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case, using a limited set of verbs (get, list, search) that map predictably to the resource being accessed. This creates a highly regular and navigable naming scheme.

Tool Count5/5

13 tools is well-scoped for a read-only GitHub exploration server, covering repositories, content, commits, releases, and issues/PRs without redundant surface. Each tool earns its place in supporting a specific browsing or search workflow.

Completeness4/5

The toolset covers the core read-only GitHub workflows: repository lookup, file/directory traversal, searching, commit history, releases, and issue/PR viewing. Minor gaps exist, such as lack of PR review comments or user-level endpoints, but these are not critical for the apparent purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables AI agents to interact with GitHub repositories through the GitHub REST API for managing files, issues, and repository metadata. It supports both read operations like searching code and write operations such as creating repositories and updating issue comments.
    9

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/Atelier-Busco/atelier-busco-github-mcp'

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