Features - fleXRPL/github-mcp GitHub Wiki

Features

The GitHub MCP Server provides a comprehensive set of tools for interacting with GitHub repositories. This page details all available features and tools.

Repository Tools

List Repositories

Lists GitHub repositories accessible to the authenticated user.

Parameters:

  • visibility (optional): "all", "public", or "private"
  • sort (optional): "created", "updated", "pushed", or "full_name"

Example:

{
  "name": "list_repositories",
  "parameters": {
    "visibility": "all",
    "sort": "updated"
  }
}

Get Repository

Retrieves detailed information about a specific repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name

Example:

{
  "name": "get_repository",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp"
  }
}

Issue Tools

List Issues

Lists issues in a repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • state (optional): "open", "closed", or "all"
  • labels (optional): List of label names

Example:

{
  "name": "list_issues",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "state": "open",
    "labels": ["bug", "enhancement"]
  }
}

Create Issue

Creates a new issue in a repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • title: Issue title
  • body (optional): Issue description
  • labels (optional): List of label names
  • assignees (optional): List of assignee usernames

Example:

{
  "name": "create_issue",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "title": "Add new feature",
    "body": "Implement user authentication",
    "labels": ["enhancement"],
    "assignees": ["garotm"]
  }
}

Pull Request Tools

List Pull Requests

Lists pull requests in a repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • state (optional): "open", "closed", or "all"
  • sort (optional): "created", "updated", "popularity", or "long-running"

Example:

{
  "name": "list_pull_requests",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "state": "open",
    "sort": "created"
  }
}

Create Pull Request

Creates a new pull request.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • title: Pull request title
  • body (optional): Pull request description
  • head: Source branch
  • base (optional): Target branch (default: "main")
  • draft (optional): Create as draft (default: false)

Example:

{
  "name": "create_pull_request",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "title": "Add authentication",
    "body": "Implement secure authentication",
    "head": "feature/auth",
    "base": "main",
    "draft": false
  }
}

Content Tools

Get File Content

Retrieves the content of a file in a repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • path: File path
  • ref (optional): Branch/tag/commit reference

Example:

{
  "name": "get_file_content",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "path": "README.md",
    "ref": "main"
  }
}

List Directory

Lists contents of a directory in a repository.

Parameters:

  • owner: Repository owner
  • repo: Repository name
  • path (optional): Directory path (default: "")
  • ref (optional): Branch/tag/commit reference

Example:

{
  "name": "list_directory",
  "parameters": {
    "owner": "garotm",
    "repo": "github-mcp",
    "path": "github_mcp/tools",
    "ref": "main"
  }
}

Using Tools with Cursor IDE

All tools can be used directly from Cursor IDE through the MCP integration. The IDE will provide autocomplete and parameter validation for all tool calls.

Response Format

All tools return responses in a standardized format:

{
  "content": [
    {
      "type": "text",
      "text": "JSON-formatted response data"
    }
  ]
}

Error Handling

Tools handle errors gracefully and return appropriate error messages. Common error scenarios include:

  • Authentication failures
  • Invalid parameters
  • Repository not found
  • Permission issues
  • Rate limiting

See Error Handling for detailed information about error responses and handling.

Next Steps