Skip to main content
Glama

GitHub MCP 服务器

一个模型上下文协议 (MCP) 服务器,提供与 GitHub API 交互的工具。目前支持创建包含描述、主题和网站 URL 的仓库。

特征

  • 使用根据描述自动生成的名称创建 GitHub 存储库

  • 向存储库添加主题/标签

  • 设置存储库主页

  • 使用 README 文件自动初始化存储库

Related MCP server: GitHub MCP Server

安装

  1. 克隆存储库

  2. 安装依赖项:

npm install
  1. 构建服务器:

npm run build

配置

该服务器需要具有仓库创建权限的 GitHub 个人访问令牌。将以下内容添加到您的 MCP 设置文件中:

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": ["path/to/github-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-token"
      }
    }
  }
}

可用工具

创建仓库

使用自然语言命令创建或更新 GitHub 存储库。

命令格式

该工具接受用于不同操作的自然语言命令:

创建存储库:

Create a repository for [description] with tags [tag1 tag2 tag3] website [url]

或者

Make a new repository called [description] tagged with [tag1, tag2, tag3]

更新存储库描述:

Update [owner/repo] description to [new description]

或者

Change [repo-name] description as [new description]

更新存储库标签:

Update [owner/repo] tags to [tag1 tag2 tag3]

或者

Set [repo-name] topics as [tag1, tag2, tag3]

更新存储库网站:

Update [owner/repo] website to [url]

或者

Set [repo-name] homepage as [url]

示例用法

创建新的存储库:

const result = await use_mcp_tool({
  server_name: "github",
  tool_name: "create_repo",
  arguments: {
    command: "Create a repository for my machine learning image classifier with tags python tensorflow computer-vision website https://example.com/docs"
  }
});

这将:

  1. 创建名为“my-machine-learning-image-classifier”的存储库

  2. 将描述设置为“我的机器学习图像分类器”

  3. 添加“python”、“tensorflow”和“computer-vision”作为存储库主题

  4. 将网站设置为“ https://example.com/docs

  5. 使用 README 文件初始化

更新存储库描述:

const result = await use_mcp_tool({
  server_name: "github",
  tool_name: "create_repo",
  arguments: {
    command: "Update username/existing-repo description to Updated ML project for image classification"
  }
});

更新存储库标签:

const result = await use_mcp_tool({
  server_name: "github",
  tool_name: "create_repo",
  arguments: {
    command: "Update username/existing-repo tags to machine-learning python updated"
  }
});

更新存储库网站:

const result = await use_mcp_tool({
  server_name: "github",
  tool_name: "create_repo",
  arguments: {
    command: "Update username/existing-repo website to https://example.com/new-docs"
  }
});

该工具可以理解各种自然语言模式和关键词:

  • Create/make/new 用于创建存储库

  • 更新/更改/设置/修改以更新存储库

  • “description to/as”用于更新描述

  • “tags/topics to/as”用于更新标签

  • “website/homepage/url to/as”用于更新网站

发展

要修改或扩展服务器:

  1. 修改src/index.ts

  2. 重建服务器:

npm run build

执照

麻省理工学院

Available Tools

1 tool
create_repoC

Create or update GitHub repositories using natural language commands

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesNatural language command like "Create a repository for my machine learning project with tags python tensorflow" or "Update repository-name description to New description with tags updated ml"

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 states the tool can 'create or update' repositories, implying mutation, but doesn't address permissions, rate limits, error handling, or what happens on updates (e.g., overwriting). For a mutation tool with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand quickly.

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

Completeness2/5

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

Given the tool's complexity (mutation operation with no annotations and no output schema), the description is incomplete. It lacks details on behavioral traits, error conditions, or return values, which are critical for a tool that modifies GitHub repositories. The high schema coverage doesn't compensate for these gaps.

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

Parameters3/5

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

The schema description coverage is 100%, with the parameter 'command' fully documented in the schema. The description adds minimal value beyond the schema by reinforcing the natural language aspect but doesn't provide additional syntax, format details, or examples beyond what's already in the schema. This meets the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Create or update GitHub repositories using natural language commands.' It specifies the verb (create/update), resource (GitHub repositories), and method (natural language commands). However, with no sibling tools mentioned, there's no explicit differentiation from alternatives, preventing a score of 5.

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

Usage Guidelines2/5

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

The description provides minimal guidance on when to use this tool. It mentions 'using natural language commands' but doesn't specify prerequisites, constraints, or when to prefer this over other methods. No explicit alternatives or exclusions are discussed, leaving usage context vague.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedcreate_repo

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined as creating or updating GitHub repositories, making it distinct by default.

Naming Consistency5/5

The single tool name 'create_repo' follows a clear verb_noun pattern, and since there are no other tools to compare it to, consistency is inherently perfect. There are no deviations or mixed conventions to evaluate.

Tool Count2/5

A single tool for a GitHub server is too few for the typical scope, which usually involves multiple operations like listing repos, managing issues, or handling pull requests. This feels thin and incomplete for the domain.

Completeness2/5

The tool surface is severely incomplete for a GitHub server, as it only covers creating or updating repositories. Obvious gaps include retrieving repos, managing issues, pull requests, and other core GitHub functionalities, which will likely cause agent failures.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joewilsonai/github-meta-mcp-server'

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