MCP-Atlassian est un serveur basé sur le Model Context Protocol (MCP), conçu spécifiquement pour les produits Atlassian (Confluence et Jira). Ce projet permet aux assistants IA (comme Claude) d'accéder et de manipuler directement les données de votre espace de travail Atlassian, permettant ainsi une gestion intelligente des flux de travail.
Le projet prend en charge diverses opérations intelligentes pilotées par des assistants IA :
Produit | Type de déploiement | État de la prise en charge |
---|---|---|
Confluence | Cloud | ✅ Prise en charge complète |
Confluence | Server/Data Center | ✅ Prise en charge (version 6.0+) |
Jira | Cloud | ✅ Prise en charge complète |
Jira | Server/Data Center | ✅ Prise en charge (version 8.14+) |
Atlassian Cloud:
Server/Data Center:
# Tirer l'image pré-construite
docker pull ghcr.io/sooperset/mcp-atlassian:latest
Emplacement du fichier de configuration :
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Méthode 1 : Transmission directe des variables
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_USERNAME",
"-e", "CONFLUENCE_API_TOKEN",
"-e", "JIRA_URL",
"-e", "JIRA_USERNAME",
"-e", "JIRA_API_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_confluence_api_token",
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_jira_api_token"
}
}
}
}
Méthode 2 : Utilisation d'un fichier d'environnement
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/your/mcp-atlassian.env",
"ghcr.io/sooperset/mcp-atlassian:latest"
]
}
}
}
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_PERSONAL_TOKEN",
"-e", "CONFLUENCE_SSL_VERIFY",
"-e", "JIRA_URL",
"-e", "JIRA_PERSONAL_TOKEN",
"-e", "JIRA_SSL_VERIFY",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://confluence.your-company.com",
"CONFLUENCE_PERSONAL_TOKEN": "your_confluence_pat",
"CONFLUENCE_SSL_VERIFY": "false",
"JIRA_URL": "https://jira.your-company.com",
"JIRA_PERSONAL_TOKEN": "your_jira_pat",
"JIRA_SSL_VERIFY": "false"
}
}
}
}
Variables d'environnement courantes :
CONFLUENCE_SPACES_FILTER
: Filtrer par clé d'espace (par exemple : "DEV,TEAM,DOC")JIRA_PROJECTS_FILTER
: Filtrer par clé de projet (par exemple : "PROJ,DEV,SUPPORT")READ_ONLY_MODE
: Définir sur "true" pour désactiver les opérations d'écritureMCP_VERBOSE
: Définir sur "true" pour activer les journaux détaillésENABLED_TOOLS
: Liste des noms d'outils séparés par des virgulesNom de l'outil | Description de la fonction |
---|---|
confluence_search |
Rechercher du contenu Confluence à l'aide de CQL |
confluence_get_page |
Obtenir le contenu d'une page spécifique |
confluence_get_page_children |
Obtenir les pages enfants d'une page |
confluence_get_page_ancestors |
Obtenir les pages parentes d'une page |
confluence_get_comments |
Obtenir les commentaires d'une page |
confluence_create_page |
Créer une nouvelle page |
confluence_update_page |
Mettre à jour une page existante |
confluence_delete_page |
Supprimer une page |
confluence_get_labels |
Obtenir les étiquettes |
confluence_add_label |
Ajouter une étiquette |
Nom de l'outil | Description de la fonction |
---|---|
jira_get_issue |
Obtenir les détails d'un problème spécifique |
jira_search |
Rechercher des problèmes à l'aide de JQL |
jira_get_project_issues |
Obtenir les problèmes d'un projet |
jira_get_epic_issues |
Obtenir les problèmes d'une épopée |
jira_create_issue |
Créer un nouveau problème |
jira_batch_create_issues |
Créer des problèmes par lots |
jira_update_issue |
Mettre à jour un problème existant |
jira_delete_issue |
Supprimer un problème |
jira_get_transitions |
Obtenir les transitions d'état d'un problème |
jira_transition_issue |
Changer l'état d'un problème |
jira_add_comment |
Ajouter un commentaire |
jira_add_worklog |
Ajouter un journal de travail |
jira_get_worklog |
Obtenir un journal de travail |
jira_download_attachments |
Télécharger des pièces jointes |
jira_link_to_epic |
Lier à une épopée |
jira_get_agile_boards |
Obtenir les tableaux Kanban |
jira_get_board_issues |
Obtenir les problèmes d'un tableau Kanban |
jira_get_sprints_from_board |
Obtenir les sprints d'un tableau Kanban |
jira_get_sprint_issues |
Obtenir les problèmes d'un sprint |
jira_create_sprint |
Créer un sprint |
jira_update_sprint |
Mettre à jour un sprint |
jira_get_issue_link_types |
Obtenir les types de liens de problèmes |
jira_create_issue_link |
Créer un lien de problème |
jira_remove_issue_link |
Supprimer un lien de problème |
Remarque : Les outils marqués d'un * ne sont disponibles que sur Jira Cloud
Utilisez l'indicateur --enabled-tools
ou la variable d'environnement ENABLED_TOOLS
pour spécifier les outils disponibles :
# Via la variable d'environnement
ENABLED_TOOLS="confluence_search,jira_get_issue,jira_search"
# Ou via l'indicateur de ligne de commande
docker run ... --enabled-tools "confluence_search,jira_get_issue,jira_search" ...
Les outils sont divisés en opérations de lecture et d'écriture. Lorsque READ_ONLY_MODE
est activé, seules les opérations de lecture sont disponibles, quels que soient les paramètres de ENABLED_TOOLS
.
Échec de l'authentification :
CONFLUENCE_USERNAME
et CONFLUENCE_API_TOKEN
(le jeton est le mot de passe)Problèmes de certificat SSL :
Pour les déploiements Server/Data Center rencontrant des erreurs SSL, définissez CONFLUENCE_SSL_VERIFY=false
ou JIRA_SSL_VERIFY=false
Erreurs d'autorisation : Assurez-vous que le compte Atlassian dispose des autorisations suffisantes pour accéder aux espaces/projets concernés
Utiliser MCP Inspector pour tester :
npx @modelcontextprotocol/inspector uvx mcp-atlassian ...
Afficher les journaux :
# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\logs\mcp*.log | more
Outre le transfert stdio standard, les Server-Sent Events (SSE) sont également pris en charge :
docker run --rm -p 9000:9000 \
--env-file /path/to/your/.env \
ghcr.io/sooperset/mcp-atlassian:latest \
--transport sse --port 9000 -vv
{
"mcpServers": {
"mcp-atlassian-sse": {
"url": "http://localhost:9000/sse"
}
}
}
SECURITY.md
pour connaître les meilleures pratiquesCe projet utilise un déploiement conteneurisé Docker et communique avec les assistants IA via le Model Context Protocol. Il prend en charge plusieurs méthodes de transfert (stdio et SSE), ce qui lui permet de s'adapter de manière flexible à différents environnements de déploiement et scénarios d'utilisation.
La conception du projet prend en compte les besoins des applications d'entreprise, prend en charge les versions cloud et les versions déployées en privé d'Atlassian, et fournit des mécanismes complets d'authentification, de contrôle d'accès et de sécurité.
Remarque: Ce n'est pas un produit officiel d'Atlassian, mais un projet open source maintenu par le développeur communautaire sooperset.