mcp-github mcp

v1.0.0 · MCP Tool · developer-tools · registry.pascalai.org

Interact with GitHub via the REST API. Search repositories, read issues and pull requests, inspect commits, list files, read file contents, get user profiles and check CI/CD run statuses.

githubgitreposissuespull-requestscode

Input Parameters

ParameterTypeDescription
operationrequired string GitHub operation to perform. One of: search_repos, get_repo, list_issues, get_issue, list_prs, get_pr, list_commits, get_commit, list_files, get_file, get_user, list_runs.
tokenoptional string GitHub personal access token (PAT). Optional for public repos, required for private repos and write operations.
owneroptional string Repository owner (user or org name).
repooptional string Repository name.
queryoptional string Search query string (for search_repos).
numberoptional integer Issue or PR number (for get_issue, get_pr).
pathoptional string File path within the repository (for get_file, list_files).
refoptional string Branch, tag or commit SHA. Default: default branch. Default: HEAD.
shaoptional string Commit SHA (for get_commit).
usernameoptional string GitHub username (for get_user).
stateoptional string Filter issues/PRs by state. Default: 'open'. One of: open, closed, all. Default: open.
limitoptional integer Max results to return. Default: 20. Default: 20.

Output Fields

FieldTypeDescription
operation string
items array[object] List of results (repos, issues, PRs, commits, files).
item object Single result (get_* operations).
content string File content decoded from base64 (get_file).
total_count integer

Examples

Search for Pascal repositories with most stars

// Input
{
  "operation": "search_repos",
  "query": "language:pascal stars:>100",
  "limit": 5
}

// Output
{
  "operation": "search_repos",
  "total_count": 42,
  "items": [
    {
      "full_name": "user/repo",
      "stars": 520,
      "description": "..."
    }
  ]
}

List open issues in a repository

// Input
{
  "operation": "list_issues",
  "owner": "anthropics",
  "repo": "claude-code",
  "state": "open",
  "limit": 10
}

// Output
{
  "operation": "list_issues",
  "items": [
    {
      "number": 123,
      "title": "Feature request: ...",
      "author": "user",
      "created_at": "2025-03-01"
    }
  ]
}

Install & Discovery

Install

ppm install mcp-github

Get JSON Schema

GET /v1/packages/mcp-github/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=github
Discovery hint: Install with ppm install mcp-github or invoke remotely via POST /v1/invoke/mcp-github on the MCP Service.

PascalAI Usage

uses toolslib;
var Tool := LoadTool('mcp-github');
var R := Tool.Call(JsonObj(['operation','list_issues','owner','myorg','repo','myrepo','state','open']));
Writeln(R['items'][0]['title']);