Skip to main content
Glama
M-SAAD-BIN-MAZHAR

github-repo-manager-mcp

GitHub Repo Manager MCP

This MCP server lets an AI client manage GitHub repositories through the GitHub REST and GraphQL APIs.

What This MCP Tool Can Do

  • Create new repositories

  • Update repo details, including description, homepage, topics/tags, and visibility

  • Delete repositories

  • Add topics/labels to repos for organization

  • List all repos with filters

  • Rename repositories

  • Archive old repos

  • Pin repositories via the GitHub GraphQL API

  • Read file contents from repositories

  • Create or update files in repositories, such as README.md

Related MCP server: @cloud9-labs/mcp-github

Security Note

Never hard-code a GitHub token in source files. Set it as an environment variable named GITHUB_TOKEN.

If you pasted a real token into chat or committed it anywhere, revoke it in GitHub and create a new token.

Setup

npm install

Create a .env file in this project folder:

GITHUB_TOKEN=github_pat_your_token_here

The token needs permissions for the operations you want to use. For fine-grained personal access tokens, grant repository administration, contents, and metadata access for the target repositories.

Classic PAT notes:

  • Deleting repositories requires the delete_repo scope.

  • Updating repository files requires repo contents write access.

  • Pinning repositories uses GitHub GraphQL addPinnedItem; use a token that can access the target repository and update the authenticated user's pinned items.

Run

npm start

Install From npm

After this package is published, users can run it without cloning the repo:

npx github-repo-manager-mcp

Or install it globally:

npm install -g github-repo-manager-mcp
github-repo-manager-mcp

Set GITHUB_TOKEN in your MCP client environment. If you clone this repository locally, the server can also load GITHUB_TOKEN from a .env file in the project folder.

MCP Client Config

Example client config using npx:

{
  "mcpServers": {
    "github-repo-manager": {
      "command": "npx",
      "args": ["-y", "github-repo-manager-mcp"],
      "env": {
        "GITHUB_TOKEN": "github_pat_your_token_here"
      }
    }
  }
}

Example local development config:

{
  "mcpServers": {
    "github-repo-manager": {
      "command": "C:/PROGRA~1/nodejs/node.exe",
      "args": ["C:/Users/msaad/OneDrive/Documents/github_organized/src/server.js"],
      "env": {
        "GITHUB_TOKEN": "github_pat_your_token_here"
      }
    }
  }
}

The server also loads GITHUB_TOKEN from the local .env file automatically, so the env block is optional if .env is present.

Publish to npm

Before publishing, make sure you are logged in:

npm login

Then publish:

npm publish --access public

The package publishes only src, README.md, LICENSE, and run-mcp.cmd.

MCP Inspector on Windows

Use these settings in MCP Inspector:

Transport Type

STDIO

Command

C:\PROGRA~1\nodejs\node.exe

Arguments

C:/Users/msaad/OneDrive/Documents/github_organized/src/server.js

Use the short Node path to avoid the space in Program Files. Use forward slashes in the server path because MCP Inspector can strip backslashes from Windows paths in the Arguments field.

Available Tools

  • create_repository: Create a repository for the authenticated user or an organization. Supports description, homepage, privacy, auto-init, .gitignore, license, and topics.

  • update_repository: Update description, homepage, visibility/privacy, feature flags, default branch, archived state, and topics.

  • delete_repository: Delete a repository. Requires confirm=true.

  • add_repository_topics: Add topics without removing existing topics.

  • add_repository_labels: Create labels, or update existing labels if they already exist.

  • list_repositories: List repositories visible to the authenticated user, an owner, or an organization with filters for visibility, archived state, topic, name, sort, and direction.

  • rename_repository: Rename a repository.

  • archive_repository: Archive a repository.

  • pin_repository: Pin a repository to the authenticated user's GitHub profile via GraphQL.

  • get_file_content: Read a file from a repository, defaulting to README.md.

  • update_file_content: Create or update a file in a repository, defaulting to README.md; it auto-fetches the current SHA when updating an existing file.

Tool Inputs

Most tools accept an optional owner. If omitted, the server uses the authenticated GitHub user's login.

get_file_content inputs:

{
  "owner": "optional-owner",
  "repo": "repo-name",
  "path": "README.md",
  "branch": "optional-branch"
}

update_file_content inputs:

{
  "owner": "optional-owner",
  "repo": "repo-name",
  "path": "README.md",
  "content": "# New content",
  "message": "Update README via MCP",
  "branch": "optional-branch"
}

To update an existing file, sha is optional because the server attempts to fetch it automatically.

Available Tools

11 tools
add_repository_labelsC

Create labels on a repository for organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
labelsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. It mentions creation (write operation) but fails to disclose whether existing labels are replaced or merged, what permissions are needed, rate limits, or how errors are handled. The single sentence provides minimal behavioral insight.

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

Conciseness3/5

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

Description is concise but overly minimal. It is front-loaded with the purpose, but lacks structure or additional details that would make it more helpful. A few more sentences could provide essential context without sacrificing conciseness.

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

Completeness2/5

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

Given no output schema, no annotations, and 0% schema coverage, the description is severely incomplete. It does not explain return values, side effects (e.g., idempotency), or how the tool integrates with other repository operations. Agent cannot reliably invoke the tool without missing crucial information.

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 coverage is 0% (no descriptions in schema), yet description does not explain any parameters (owner, repo, labels with fields). Agent cannot infer the purpose of each parameter from the description alone. This is a critical gap.

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

Purpose4/5

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

Description states 'Create labels on a repository for organization', clearly identifying the verb (create) and resource (labels on a repository). It distinguishes from sibling tools like add_repository_topics (adds topics) and repository management actions (archive, delete, etc.), but lacks specificity about the exact effect (e.g., whether it replaces or appends).

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 (e.g., add_repository_topics, update_repository). No prerequisites, restrictions, or context provided. Agent would have to infer usage from the name alone.

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

add_repository_topicsB

Add topics/tags to a repository without removing existing topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
topicsYes

TDQS

B3.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 the full burden. It discloses one behavioral trait: topics are added without removal. However, it omits other important aspects such as authorization requirements, idempotency (duplicate topics), rate limits, or 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?

The description is a single, efficient sentence that conveys the core purpose and key constraint without any fluff or redundant phrasing. It earns its place.

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 relatively simple tool with 3 parameters and no output schema, the description is minimally adequate. It covers the fundamental behavior but lacks details on return values, error handling, and the optional owner parameter. A bit more completeness would be helpful.

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

Parameters1/5

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

Schema description coverage is 0%, and the description offers no additional information about the parameters (owner, repo, topics). The description does not clarify what 'owner' is (despite being optional), the format of topics, or any constraints beyond the schema, leaving the agent with minimal guidance.

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 ('Add topics/tags to a repository') and includes a key constraint ('without removing existing topics'), which distinguishes it from sibling tools like 'add_repository_labels' that handle labels instead of topics.

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 implicitly informs when to use this tool (when you want to add topics without overwriting existing ones) but does not explicitly state alternatives or when not to use it. Sibling tools exist (e.g., 'add_repository_labels'), but no comparative guidance is provided.

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

archive_repositoryC

Archive a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states 'Archive a repository' without explaining what archiving entails (e.g., hides the repo, makes it read-only, permission requirements), leaving the agent uninformed.

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

Conciseness2/5

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

While concise, the description is too brief to be useful. It prioritizes brevity over substance, failing to earn its place with any actionable context.

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

Completeness1/5

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

Given no output schema, low parameter coverage, and no annotations, the description is severely incomplete. It does not explain the tool's effect, return value, or dependencies, making it insufficient for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. The description adds no information about parameters beyond the schema; 'owner' and 'repo' are self-explanatory but unelaborated.

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 ('Archive a repository') and the resource type. It uses a specific verb, distinguishing it from generic operations, though it does not explicitly differentiate from sibling tools like delete or rename.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., delete, update). The description fails to address context, prerequisites, or exclusions.

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

create_repositoryC

Create a new GitHub repository for the authenticated user or an organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
homepageNo
privateNo
orgNo
autoInitNo
gitignoreTemplateNo
licenseTemplateNo
topicsNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It does not disclose behavioral traits such as authentication requirements, rate limits, or the effects of creation.

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

Conciseness3/5

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

The description is a single concise sentence, but it achieves conciseness at the expense of essential details. It is adequately sized but lacks structure.

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

Completeness2/5

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

Given the complexity of creating a GitHub repository with 9 parameters and no output schema, the description is insufficient to guide correct usage.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no explanation for any of the 9 parameters. The agent is left to infer parameter meanings from names alone.

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

Purpose5/5

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

The description clearly states the verb 'Create', the resource 'GitHub repository', and the scope 'for the authenticated user or an organization'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like archive_repository or rename_repository. The description lacks context about prerequisites or scenarios.

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

delete_repositoryA

Delete a GitHub repository. Requires confirm=true. NOTE: Your PAT must have the 'delete_repo' scope enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
confirmNo

TDQS

A4.1/5.0
Behavior4/5

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

Informs about required scope and confirmation parameter. With no annotations, this is good coverage, though it could also mention irreversibility or effects on collaborators.

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 core purpose, followed by essential conditions. 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?

Adequately covers purpose, scope, and confirm requirement. Missing: behavior when confirm=false, and clarification on optional owner parameter. Overall sufficient 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 mentions confirm parameter indirectly ('requires confirm=true'), but does not clarify the roles of owner and repo. Schema coverage is 0%, so 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?

Description explicitly states 'Delete a GitHub repository'. The verb and resource are clear, distinguishing it from sibling tools like add_repository_labels or list_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?

Provides clear usage conditions: requires confirm=true and PAT with 'delete_repo' scope. Does not explicitly mention when not to use, but the purpose is sufficiently self-explanatory.

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

get_file_contentA

Get the content of any file (e.g. README.md) from a GitHub repository using the authenticated token.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
pathNoREADME.md
branchNo

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. It mentions 'authenticated token' but does not disclose that the GitHub API returns content as base64 encoded, nor does it mention rate limits, size limits, or error handling. The behavior is partially 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?

The description is a single 14-word sentence that conveys the essential purpose. No redundant or excessive wording. Perfectly concise and front-loaded.

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

Completeness3/5

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

Given no output schema and 0% schema coverage, the description lacks details on the format of returned content (base64 vs raw) and potential error conditions. For a simple read operation, it covers the basic purpose but leaves some gaps.

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%. The description only adds context for the 'path' parameter with the example 'README.md', but does not explain 'owner', 'repo', or 'branch' beyond their names. This leaves most parameters without semantic guidance.

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' and the resource 'content of any file' from a GitHub repository, with an example file 'README.md'. It distinguishes from sibling tools like update_file_content (write) and list_repositories (list), making its 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 specifies that the tool uses an 'authenticated token', implying authentication requirement. It does not explicitly state when to use vs alternatives, but the sibling tools are different operations (listing, updating, deleting repositories), so the context is clear enough.

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 visible to the authenticated user with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
orgNo
typeNoall
visibilityNoall
affiliationNoowner,collaborator,organization_member
archivedNo
topicNo
nameContainsNo
sortNoupdated
directionNodesc
perPageNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'visible to the authenticated user' implying authentication, but does not disclose authorization needs (e.g., personal access tokens), rate limits, pagination behavior (despite perPage parameter), or what 'archived' filtering implies. It fails to add behavioral context beyond the obvious.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it is too brief given the tool's complexity, sacrificing necessary detail. It front-loads the purpose but provides no structure for parameter usage or behavioral notes. It earns a 3 as minimally viable but not optimally structured.

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

Completeness1/5

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

Given the tool has 11 parameters, no output schema, and no annotations, the description is grossly incomplete. It does not explain how filters interact, what the response format is (pagination, fields), or edge cases (e.g., empty results, rate limiting). An agent cannot use this tool effectively without external knowledge.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain parameters. It only says 'with filters', offering zero explanation for the 11 parameters (owner, org, type, visibility, etc.). The agent has no context on how to use owner vs org, or the meaning of enum values like 'type:member'. This is a critical gap.

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

Purpose4/5

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

The description 'List repositories visible to the authenticated user with filters' clearly states the verb (list), resource (repositories), and scope (visible to authenticated user, with filters). It distinguishes from siblings like create, delete, update by indicating a read-only listing operation. However, it does not explicitly differentiate from other listing-like siblings (none exist here) and could be more specific about what 'visible' means.

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

Usage Guidelines2/5

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

The description implies usage for listing with filters but provides no guidance on when to use this tool versus alternatives (e.g., using search or specific get endpoints). No 'when not to use' or prerequisites are mentioned. The agent must infer that this is the right tool for listing, but lacks context for exclusionary criteria.

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

pin_repositoryB

Pin a repository to a GitHub profile using the GitHub GraphQL API. Requires Classic PAT with write:discussion scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions the use of GraphQL API and required scope, but does not disclose side effects (e.g., if repo already pinned), error scenarios, or reversibility. This is insufficient for full 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?

Two sentences directly state purpose and a key requirement. No redundant words. Every sentence earns its place, making it efficient for an AI agent 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?

Given no output schema and sparse annotations, the description should cover return values and error handling. It does not. For a mutation tool with two parameters and potential side effects, the description is too brief to be contextually 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 coverage is 0% and the description adds no parameter details beyond the names 'owner' and 'repo' (e.g., what owner represents, required format). The description does not compensate for the missing schema descriptions, leaving the agent to guess parameter meanings.

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 ('Pin a repository to a GitHub profile') using a specific verb ('Pin') and resource ('repository'), with the target identified. This distinguishes it from sibling tools like create_repository or delete_repository.

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 mentions a prerequisite ('Requires Classic PAT with write:discussion scope') but does not provide explicit guidance on when to use vs. alternatives or when not to use. The context of sibling tools suggests pinning is unique, but no exclusions are stated.

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

rename_repositoryD

Rename a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
newNameYes

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations and a description that merely states the action, the agent is not informed about any behavioral traits such as required permissions, side effects, or whether the operation is destructive.

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

Conciseness2/5

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

While brief, the description is under-specified and does not earn its place as it adds no value beyond the tool name.

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

Completeness1/5

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

Given the lack of annotations, output schema, and parameter explanations, the description is grossly inadequate for an agent to use the tool correctly.

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

Parameters1/5

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

Schema coverage is 0% and the description adds no information about the parameters (owner, repo, newName), leaving their meaning and usage entirely implicit.

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

Purpose2/5

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

The description 'Rename a repository.' simply restates the tool name without adding any new information, fitting the definition of a tautology.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like update_repository or delete_repository, leaving the agent without context for selection.

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

update_file_contentB

Create or update any file (e.g. README.md) in a GitHub repository using the authenticated token. Provide sha to update an existing file, omit to create a new one.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
pathNoREADME.md
contentYes
messageNoUpdate file via MCP
shaNo
branchNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions authentication via token and the create/update nature, but omits crucial details like default branch, conflict resolution, rate limits, and permission 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-loaded with purpose, and contains no unnecessary words. Every phrase adds value.

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 7 parameters and no output schema or annotations, the description lacks completeness. It does not explain return values, error handling, or how to use it alongside get_file_content, making it insufficient for safe and effective use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description only adds meaning for two parameters (sha and path implicitly). It fails to explain owner, repo, content, message, and branch, leaving most parameters undocumented.

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 or updates any file in a GitHub repository, using a specific verb and resource. It distinguishes from siblings like get_file_content (read) and delete_repository (delete) by focusing on file content modification.

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?

It provides explicit guidance on when to use each mode: 'Provide sha to update an existing file, omit to create a new one.' However, it does not mention when not to use this tool or suggest alternatives like get_file_content for reading.

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

update_repositoryC

Update repository details such as description, homepage, topics, visibility, default branch, and archived state.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNo
repoYes
descriptionNo
homepageNo
privateNo
visibilityNo
hasIssuesNo
hasProjectsNo
hasWikiNo
defaultBranchNo
archivedNo
topicsNo

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 must fully disclose behavioral traits (e.g., side effects, permissions, safety). It merely states 'Update' without indicating whether the operation is destructive, requires authentication, or has rate limits. This is insufficient for a mutation tool with 12 parameters.

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

Conciseness3/5

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

The description is a single 14-word sentence, which is concise but omits necessary details. There is no structure (e.g., bullet points or examples) to aid readability or quick comprehension.

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 12 parameters, no output schema, and no annotations, the description fails to provide a complete picture. It lacks information about return values, prerequisites, or the effect of partial updates (e.g., whether unspecified fields are left unchanged).

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It lists only a subset of parameters ('such as') and adds no explanatory context beyond the schema's type definitions. Key parameters like owner, hasIssues, and private are omitted, leaving them semantically opaque.

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 action ('Update') and resource ('repository details'), explicitly listing key fields (description, homepage, topics, visibility, default branch, archived state). This sufficiently distinguishes it from sibling tools like add_repository_labels or archive_repository.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., when to use add_repository_topics instead). The description lacks any mention of prerequisites, exclusions, or context for appropriate use.

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

Tool Schema Changelog

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

  1. 11 tool updatesv1.0.0
    • First observedadd_repository_labels
    • First observedadd_repository_topics
    • First observedarchive_repository
    • First observedcreate_repository
    • First observeddelete_repository
    • First observedget_file_content
    • First observedlist_repositories
    • First observedpin_repository
    • First observedrename_repository
    • First observedupdate_file_content
    • First observedupdate_repository

TDQS

B3/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have distinct purposes, but update_repository overlaps with archive_repository and rename_repository. Descriptions help clarify boundaries.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., create_repository, delete_repository, update_file_content).

Tool Count5/5

11 tools is well-scoped for a repository manager, covering core operations without being overwhelming.

Completeness4/5

Covers CRUD and common operations like labels and topics, but missing explicit get single repo details and collaboration management.

Maintenance

ActivityInactive
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

  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.
    4
    -
  • A
    license
    B
    quality
    D
    maintenance
    MCP (Model Context Protocol) server for GitHub API integration. This server provides comprehensive tools for interacting with GitHub repositories, issues, pull requests, branches, and code search through a unified interface.
    15
    14
    MIT