GHAS
ghas-mcp-server
MCP server to make calls to GHAS for GitHub repositories.
Currently this has the following tools that are supported:
- list_dependabot_alerts: List all dependabot alerts for a repository
- list_secret_scanning_alerts: List all secret scanning alerts for a repository
- list_code_scanning_alerts: List all code scanning alerts for a repository
Make sure to add these three scopes (read only) to the configured PAT and for the correct organization as well!
Install in VS Code and VS Code Insiders
Use the buttons to install the server in your VS Code or VS Code Insiders environment. Make sure to read the link before you trust it! The links go to vscode.dev
and insiders.vscode.dev
and contain instructions to install the server.
VS Code will let you see the configuration before anything happens:
Example configuration
Add the configurations below to your MCP config in the editor.
Secure option: use the authenticated GitHub CLI
Instead of storing a Personal Access Token (see next section), you can also use the authenticated GitHub CLI. This will use the credentials you have configured in your GitHub CLI. This is useful when you have the GitHub CLI installed and already authenticated.
To use the GitHub CLI for authentication, follow the steps below:
- Add
"GITHUB_PERSONAL_ACCESS_TOKEN_USE_GHCLI": "true"
to your environment variables. - Ensure you have the GitHub CLI installed and authenticated by running
gh auth login
.
Configuration:
{
"mcp": {
"inputs": [
]
},
"servers": {
"ghas-mcp-server": {
"command": "npx",
"args": [
"-y",
"@rajbos/ghas-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN_USE_GHCLI": "true"
}
}
}
}
Configuration with a personal access token
For VS Code it would look like this:
{
"mcp": {
"inputs": [
{
"id": "github_personal_access_token",
"description": "GitHub Personal Access Token",
"type": "promptString",
"password": true
}
]
},
"servers": {
"ghas-mcp-server": {
"command": "npx",
"args": [
"-y",
"@rajbos/ghas-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_personal_access_token}"
}
}
}
}
Results
Contributing
Contributions are welcome! If you have ideas for new tools or improvements, please open an issue or submit a pull request.
Quick Start
## Install dependencies
npm install
## Build the project
npm run build
Project Structure
ghas-mcp-server/
├── src/
│ ├── operations/ # MCP Tools
│ │ └── security.ts
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
Adding Components
The project comes with the GHAS tools in src/operations/security.ts
.
Building
- Make changes to your tools
- Run
npm run build
to compile - The server will automatically load your tools on startup
Testing the local build
You can test your local build by configuring the locally build version with the following MCP config:
"servers": {
"ghas-mcp-server": {
"command": "node",
"args": [
"C:/Users/RobBos/Code/Repos/rajbos/ghas-mpc-server/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN_USE_GHCLI": "true"
}
}
}
Don't forget to change the path to your local build and build the project first!