Interact with GitHub repositories, issues, pull requests, and more. Requires a GitHub personal access token.
This workspace contains both a GitHub MCP Server for GitHub integration and Python scripts for Workiva Identity, Governance, and Access Management (IGAM) reporting.
A Model Context Protocol (MCP) server that provides comprehensive GitHub integration capabilities. This server allows AI assistants and other MCP clients to interact with GitHub repositories, issues, pull requests, and more through a standardized interface.
Python scripts for retrieving, processing, and reporting on Workiva user account data for compliance and analysis purposes.
A Model Context Protocol (MCP) server that provides comprehensive GitHub integration capabilities. This server allows AI assistants and other MCP clients to interact with GitHub repositories, issues, pull requests, and more through a standardized interface.
git clone <repository-url>
cd github-mcp-server
npm install
npm run build
You need a GitHub personal access token to use this server. Create one at: https://github.com/settings/tokens
The token needs the following scopes depending on your use case:
repo
- Full control of private repositoriespublic_repo
- Access to public repositoriesread:user
- Read user profile informationread:org
- Read organization informationSet the GITHUB_TOKEN
environment variable:
Windows:
set GITHUB_TOKEN=your_github_token_here
PowerShell:
$env:GITHUB_TOKEN="your_github_token_here"
macOS/Linux:
export GITHUB_TOKEN=your_github_token_here
npm run start
Or for development with auto-rebuild:
npm run dev
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"github": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\github-mcp-server\\build\\index.js"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
The project includes a .vscode/mcp.json
configuration file. Update the GITHUB_TOKEN
value and use the MCP extension for VS Code.
List repositories for a user or organization.
Parameters:
owner
(string): Username or organization nametype
(optional): Repository type filter ("all", "owner", "member")sort
(optional): Sort by ("created", "updated", "pushed", "full_name")per_page
(optional): Number of results per page (max 100)Get detailed information about a specific repository.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository nameSearch for repositories on GitHub.
Parameters:
query
(string): Search querysort
(optional): Sort field ("stars", "forks", "help-wanted-issues", "updated")order
(optional): Sort order ("asc", "desc")per_page
(optional): Number of results per page (max 100)List issues for a repository.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository namestate
(optional): Issue state ("open", "closed", "all")labels
(optional): Comma-separated list of labelsassignee
(optional): Username of assigneeper_page
(optional): Number of results per page (max 100)Create a new issue in a repository.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository nametitle
(string): Issue titlebody
(optional): Issue body/descriptionlabels
(optional): Array of label namesassignees
(optional): Array of usernames to assignUpdate an existing issue.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository nameissue_number
(number): Issue numbertitle
(optional): New issue titlebody
(optional): New issue bodystate
(optional): New issue state ("open", "closed")labels
(optional): Array of label namesassignees
(optional): Array of usernames to assignList pull requests for a repository.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository namestate
(optional): Pull request state ("open", "closed", "all")head
(optional): Filter by head branchbase
(optional): Filter by base branchper_page
(optional): Number of results per page (max 100)Create a new pull request.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository nametitle
(string): Pull request titlehead
(string): Head branch namebase
(string): Base branch namebody
(optional): Pull request body/descriptiondraft
(optional): Create as draft pull requestGet the contents of a file from a repository.
Parameters:
owner
(string): Repository ownerrepo
(string): Repository namepath
(string): File path in the repositoryref
(optional): Branch, tag, or commit SHASearch for issues and pull requests on GitHub.
Parameters:
query
(string): Search querysort
(optional): Sort fieldorder
(optional): Sort order ("asc", "desc")per_page
(optional): Number of results per page (max 100)Get information about a GitHub user.
Parameters:
username
(string): GitHub usernameHere are some example queries you can use with the GitHub MCP server:
The server implements comprehensive error handling:
src/
index.ts # Main MCP server implementation
.github/
copilot-instructions.md # Development guidelines
.vscode/
mcp.json # VS Code MCP configuration
build/ # Compiled JavaScript output
package.json # Project configuration
tsconfig.json # TypeScript configuration
.github/copilot-instructions.md
Test the server by running it and using various tools:
# Set your GitHub token
export GITHUB_TOKEN=your_token_here
# Start the server
npm run start
# The server will listen on stdio for MCP protocol messages
ISC License
The python/
directory contains Python scripts for Workiva Identity, Governance, and Access Management (IGAM) reporting.
Navigate to the Python directory:
cd python/
Install dependencies:
pip install requests configparser
Configure the application:
cp config.ini.template config.ini
# Edit config.ini with your Workiva API credentials
Run the main script:
python W_IGAM_Request_new.py
python/
├── W_IGAM_Request_new.py # Main IGAM reporting script
├── config.example.ini # Configuration example template
├── config.ini.template # Configuration template
├── requirements.txt # Python dependencies
├── requirements-azure.txt # Azure-specific dependencies
├── README.md # Python scripts documentation
├── utils/ # Utility modules
│ ├── visualize_roles.py # Advanced role visualization
│ ├── simple_visualize_roles.py # Simple visualization
│ ├── data_validator.py # Data validation utilities
│ └── azure_config_loader.py # Azure configuration loader
└── tests/ # Test files
└── test_workiva_igam_integration.py # Integration tests
The config/
directory contains configuration templates:
Create a config.ini
file with your Workiva API credentials:
Security Note: Never commit the actual config.ini
file with real credentials to version control.
For detailed documentation, see python/README.md
.
Integrates with the git-mob CLI to manage Git co-authors.
A server for GitHub project management with advanced resource management, capacity planning, and workload optimization capabilities.
An MCP server for integrating with and managing Subversion (SVN) repositories, enabling AI agents to perform version control tasks.
Manage GitLab projects, files, and repositories using the GitLab API.
Generates Pull Request messages based on Git commits and changes.
Interact with GitHub APIs for automation and repository management.
A GitLab integration server providing access to GitLab's RESTful API tools, built on the fastmcp framework.
A lightweight server for analyzing GitHub issues and pull requests using a Personal Access Token.
Transforms any GitHub project into a documentation hub, enabling AI tools to access up-to-date documentation and code.
Explore GitHub repositories, including file content, directory structure, and other metadata.