GitHub Project Manager MCP
by marioalvial
This project implements an MCP server specialized in GitHub project management operations. It offers integration with the GitHub CLI (`gh`) for common tasks like issue and pull request management.
Last updated: N/A
GitHub Project Manager MCP
Um servidor MCP (Model Context Protocol) para gerenciar projetos no GitHub.
Descrição
Este projeto implementa um servidor MCP especializado em operações de gerenciamento de projetos GitHub, oferecendo integração com o GitHub CLI (gh
) para tarefas comuns como:
- Gerenciamento de issues
- Gerenciamento de pull requests
- Futuramente: Integração com GitHub Projects
Uso com Docker
A imagem Docker é publicada automaticamente no GitHub Container Registry a cada release:
docker run -i --rm -e GH_TOKEN=seu_token ghcr.io/marioalvial/gh-project-manager-mcp
Configuração do MCP em Cursor
Para usar este MCP com o Cursor, adicione a seguinte configuração ao seu .cursor/mcp.json
:
"gh-project-manager": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GH_TOKEN",
"ghcr.io/marioalvial/gh-project-manager-mcp"
],
"env": {
"GH_TOKEN": "seu_token_github"
}
}
Versionamento
Este projeto usa Semantic Versioning e libera automaticamente novas versões baseadas nos padrões de commit.
Integration Tests
This project includes a comprehensive suite of integration tests that verify the functionality of our GitHub MCP tools with the actual GitHub API. These tests create and manage real GitHub resources during test execution and clean up afterward.
Running Integration Tests
To run the integration tests, you'll need a GitHub token with appropriate permissions:
- Create a GitHub personal access token with at least these scopes:
repo
,project
- Create a
.env
file in the project root with the following content:GH_INTEGRATION_TEST_TOKEN=your_github_token_here GH_INTEGRATION_TEST_OWNER=marioalvial # or your own username/organization GH_INTEGRATION_TEST_REPO=gh-project-manager-mcp # or your own repository GH_INTEGRATION_TEST_PROJECT_ID=your_project_id # required for project tests
- Run the integration tests:
make function-integration-test
Test Approach
The integration tests use direct function calls to the implementation functions, bypassing the MCP protocol layer to focus on the core GitHub CLI interactions. This approach ensures that:
- Our tool implementations correctly interact with the GitHub CLI commands
- Resource creation and cleanup work as expected
- Error handling is robust across various scenarios, including token permission limitations
The tests are designed to handle various GitHub API limitations and token permission scenarios, automatically skipping or adapting tests that require permissions not available to the provided token.
Note: The tests create and manage real GitHub resources (issues, PRs, branches, etc.), so make sure to use a test repository to avoid clutter in production repositories.
Test line for pull request testing - update for PR testing.
Demo PR
This change demonstrates creating a PR using the MCP tools.