Home
Login

Serveur MCP pour les outils Atlassian (Confluence et Jira), permettant aux assistants IA d'accéder et de manipuler directement les données de l'espace de travail.

MITPython 2.2ksoopersetmcp-atlassian Last Updated: 2025-06-27

Présentation détaillée du projet MCP-Atlassian

Aperçu du projet

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.

Informations de base du projet

Fonctionnalités principales

Opérations intelligentes pilotées par l'IA

Le projet prend en charge diverses opérations intelligentes pilotées par des assistants IA :

  • 📝 Mise à jour automatique de Jira - "Mettre à jour Jira à partir de nos notes de réunion"
  • 🔍 Recherche Confluence pilotée par l'IA - "Trouver notre guide OKR dans Confluence et le résumer"
  • 🐛 Filtrage intelligent des problèmes Jira - "Afficher les bugs urgents du projet PROJ de la semaine dernière"
  • 📄 Création et gestion de contenu - "Créer un document de conception technique pour la fonctionnalité XYZ"

Prise en charge de la compatibilité des produits

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+)

Installation et configuration

Prérequis

  • Environnement Docker
  • Jeton API Atlassian (version Cloud) ou jeton d'accès personnel (version Server)

Obtenir un jeton d'authentification

Atlassian Cloud:

  1. Accédez à https://id.atlassian.com/manage-profile/security/api-tokens
  2. Cliquez sur "Create API token", nommez et copiez le jeton

Server/Data Center:

  1. Accédez à votre profil → Jetons d'accès personnels
  2. Cliquez sur "Create token", définissez la date d'expiration et copiez le jeton

Obtenir l'image Docker

# Tirer l'image pré-construite
docker pull ghcr.io/sooperset/mcp-atlassian:latest

Configuration de l'intégration IDE

Configuration de Claude Desktop

Emplacement du fichier de configuration :

  • Windows : %APPDATA%\Claude\claude_desktop_config.json
  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux : ~/.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"
      ]
    }
  }
}

Configuration Server/Data Center

{
  "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"
      }
    }
  }
}

Description des variables d'environnement

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'écriture
  • MCP_VERBOSE: Définir sur "true" pour activer les journaux détaillés
  • ENABLED_TOOLS: Liste des noms d'outils séparés par des virgules

Fonctionnalités des outils disponibles

Outils Confluence

Nom 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

Outils Jira

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

Contrôle d'accès

Filtrage des outils

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" ...

Contrôle de lecture/écriture

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.

Dépannage

Résolution des problèmes courants

Échec de l'authentification :

  • Version Cloud : Vérifiez le jeton API (pas le mot de passe du compte)
  • Version Server/Data Center : Vérifiez que le jeton d'accès personnel est valide et n'a pas expiré
  • Anciennes versions de Confluence Server : Il peut être nécessaire d'utiliser 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

Méthodes de débogage

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

Utilisation du transfert SSE

Outre le transfert stdio standard, les Server-Sent Events (SSE) sont également pris en charge :

  1. Démarrez manuellement le serveur dans le terminal :
docker run --rm -p 9000:9000 \
  --env-file /path/to/your/.env \
  ghcr.io/sooperset/mcp-atlassian:latest \
  --transport sse --port 9000 -vv
  1. Configurez l'IDE pour qu'il se connecte au serveur en cours d'exécution :
{
  "mcpServers": {
    "mcp-atlassian-sse": {
      "url": "http://localhost:9000/sse"
    }
  }
}

Considérations de sécurité

  • Ne partagez jamais les jetons API
  • Gardez les fichiers .env en sécurité et privés
  • Consultez SECURITY.md pour connaître les meilleures pratiques

Architecture technique

Ce 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.

Star History Chart