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
Parameter
Type
Description
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
Field
Type
Description
operation
string
items
array[object]
List of results (repos, issues, PRs, commits, files).
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']);