Gitee MCP Server
officielIntégration de l'API Gitee, gestion des dépôts, des issues et des pull requests, et plus encore.
Documentation
Serveur MCP Gitee
Le serveur MCP Gitee est une implémentation de serveur Model Context Protocol (MCP) pour Gitee. Il fournit un ensemble d'outils pour interagir avec l'API de Gitee, permettant aux assistants IA de gérer les dépôts, les tickets, les demandes d'extraction et plus encore.
Fonctionnalités
- Interagir avec les dépôts, tickets, demandes d'extraction et notifications Gitee
- URL de base d'API configurable pour prendre en charge différentes instances Gitee
- Options de ligne de commande pour une configuration facile
- Prend en charge les opérations personnelles, d'organisation et d'entreprise
- Activation/désactivation dynamique de l'ensemble d'outils
Scénario pratique : Obtenir un ticket du dépôt, implémenter et créer une demande d'extraction
- Obtenir les tickets du dépôt

- Implémenter le codage et créer une demande d'extraction basée sur les détails du ticket

- Commenter et fermer le ticket

Installation (Cette étape peut être ignorée directement lors du démarrage avec npx)
Prérequis
- Go 1.23.0 ou supérieur
- Compte Gitee avec un jeton d'accès, Aller obtenir
Construction à partir des sources
-
Cloner le dépôt :
git clone https://gitee.com/oschina/mcp-gitee.git cd mcp-gitee -
Construire le projet :
make buildDéplacer ./bin/mcp-gitee dans la variable d'environnement PATH
Utiliser go install
go install gitee.com/oschina/mcp-gitee@latest
Utilisation
Vérifier la version de mcp-gitee :
mcp-gitee --version
Configuration des hôtes MCP
Exemples de configuration : Cliquer pour voir plus de configurations d'application
Serveur MCP distant
Se connecter au serveur mcp-gitee distant officiel (aucune installation requise) :
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
Codex utilise ~/.codex/config.toml :
[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"
opencode utilise ~/.config/opencode/opencode.json :
{
"mcp": {
"gitee": {
"type": "remote",
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
},
"enabled": true
}
}
}
Options de ligne de commande
--token: Jeton d'accès Gitee--api-base: URL de base de l'API Gitee (par défaut : https://gitee.com/api/v5)--version: Afficher les informations de version--transport: Type de transport (stdio, sse ou http, par défaut : stdio)--address: L'hôte et le port pour démarrer le serveur (par défaut : localhost:8000)--enabled-toolsets: Liste séparée par des virgules des outils à activer (si spécifié, seuls ces outils seront activés)--disabled-toolsets: Liste séparée par des virgules des outils à désactiver
Variables d'environnement
Vous pouvez également configurer le serveur en utilisant des variables d'environnement :
GITEE_ACCESS_TOKEN: Jeton d'accès GiteeGITEE_API_BASE: URL de base de l'API GiteeENABLED_TOOLSETS: Liste séparée par des virgules des outils à activerDISABLED_TOOLSETS: Liste séparée par des virgules des outils à désactiver
Gestion de l'ensemble d'outils
La gestion de l'ensemble d'outils prend en charge deux modes :
-
Activer les outils spécifiés (mode liste blanche) :
- Utiliser le paramètre
--enabled-toolsetsou la variable d'environnementENABLED_TOOLSETS - Après spécification, seuls les outils listés seront activés, les autres seront désactivés
- Exemple :
--enabled-toolsets="list_user_repos,get_file_content"
- Utiliser le paramètre
-
Désactiver les outils spécifiés (mode liste noire) :
- Utiliser le paramètre
--disabled-toolsetsou la variable d'environnementDISABLED_TOOLSETS - Après spécification, les outils listés seront désactivés, les autres seront activés
- Exemple :
--disabled-toolsets="list_user_repos,get_file_content"
- Utiliser le paramètre
Remarque :
- Si les deux
enabled-toolsetsetdisabled-toolsetssont spécifiés,enabled-toolsetsprend la priorité - Les noms d'outils sont sensibles à la casse
Filtrage d'outils par requête (En-têtes HTTP)
Lors de l'utilisation du serveur MCP distant (transport HTTP/SSE), vous pouvez filtrer dynamiquement les outils disponibles par requête via les en-têtes HTTP. Ceci est utile pour les clients qui ont besoin d'un contrôle fin sur l'exposition des outils sans redémarrer le serveur.
-
Activer les outils spécifiés via l'en-tête (liste blanche) :
- Utiliser l'en-tête
X-MCP-Enabled-Tools - Seuls les outils listés seront activés pour cette requête
- Exemple :
X-MCP-Enabled-Tools: list_user_repos,get_file_content
- Utiliser l'en-tête
-
Désactiver les outils spécifiés via l'en-tête (liste noire) :
- Utiliser l'en-tête
X-MCP-Disabled-Tools - Les outils listés seront désactivés pour cette requête
- Exemple :
X-MCP-Disabled-Tools: create_repo,delete_repo
- Utiliser l'en-tête
Règles de priorité :
- Si les deux
X-MCP-Enabled-ToolsetX-MCP-Disabled-Toolssont présents dans la même requête, la liste blanche (X-MCP-Enabled-Tools) prend la priorité - Les noms d'outils sont sensibles à la casse
Exemple de configuration pour Cursor/Claude :
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>",
"X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
}
}
}
}
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Outils disponibles
Le serveur fournit divers outils pour interagir avec Gitee :
| Outil | Catégorie | Description |
|---|---|---|
| list_user_repos | Dépôt | Lister les dépôts autorisés de l'utilisateur |
| get_file_content | Dépôt | Obtenir le contenu d'un fichier dans un dépôt |
| create_repo | Dépôt | Créer un dépôt (utilisateur, organisation ou entreprise) |
| fork_repository | Dépôt | Forker un dépôt |
| create_release | Dépôt | Créer une version pour un dépôt |
| list_releases | Dépôt | Lister les versions du dépôt |
| search_open_source_repositories | Dépôt | Rechercher des dépôts open source sur Gitee |
| search_files_by_content | Dépôt | Rechercher des fichiers par contenu dans un dépôt |
| compare_branches_tags | Dépôt | Comparer deux branches, tags ou commits dans un dépôt |
| list_repo_pulls | Demande d'extraction | Lister les demandes d'extraction dans un dépôt |
| merge_pull | Demande d'extraction | Fusionner une demande d'extraction |
| create_pull | Demande d'extraction | Créer une demande d'extraction |
| update_pull | Demande d'extraction | Mettre à jour une demande d'extraction |
| get_pull_detail | Demande d'extraction | Obtenir les détails d'une demande d'extraction |
| get_diff_files | Demande d'extraction | Obtenir les fichiers de diff d'une demande d'extraction |
| manage_pull_review | Demande d'extraction | Gérer une revue de demande d'extraction (approuver ou annuler) |
| create_comment | Commentaire | Créer un commentaire sur un ticket ou une demande d'extraction |
| list_comments | Commentaire | Lister tous les commentaires pour un ticket ou une demande d'extraction |
| create_issue | Ticket | Créer un ticket |
| update_issue | Ticket | Mettre à jour un ticket |
| get_repo_issue_detail | Ticket | Obtenir les détails d'un ticket de dépôt |
| list_repo_issues | Ticket | Lister les tickets du dépôt |
| get_user_info | Utilisateur | Obtenir les informations de l'utilisateur authentifié actuel |
| search_users | Utilisateur | Rechercher des utilisateurs |
| list_user_notifications | Notification | Lister les notifications de l'utilisateur |
Contribution
Nous accueillons les contributions de la communauté open source ! Si vous souhaitez contribuer à ce projet, veuillez suivre ces directives :
- Forker le dépôt.
- Créer une nouvelle branche pour votre fonctionnalité ou correction de bug.
- Apporter vos modifications et vous assurer que le code est bien documenté.
- Soumettre une demande d'extraction avec une description claire de vos modifications.
Pour plus d'informations, veuillez vous référer au fichier CONTRIBUTING.




