---
title: tabkit
tagline: Faire lire Jira et Confluence à votre agent IA via l'onglet Chrome où vous êtes connecté
description: tabkit est un serveur MCP open source en lecture seule, avec une extension Chrome, qui permet à Claude Code, GitHub Copilot ou Codex de lire Jira et Confluence avec votre session Chrome, sans jeton d'API Atlassian.
date: 2026-10-14
repo: https://github.com/brbousnguar/tabkit
download: https://github.com/brbousnguar/tabkit/archive/refs/tags/v0.1.0.zip
stack: JavaScript · Node.js · MCP · Extension Chrome
license: Apache-2.0
status: v0.1 en préversion
---

tabkit permet à Claude Code, GitHub Copilot ou Codex de lire vos tickets Jira et vos pages Confluence avec la session que vous avez déjà ouverte dans Chrome. Pas de jeton d'API Atlassian : une petite extension Chrome exécute chaque requête dans un onglet Atlassian.

C'est le frère de [pilotkit](/fr/projets/pilotkit.html). pilotkit garde un jeton d'API dans le trousseau du système et fonctionne sans navigateur. tabkit n'a besoin d'aucun jeton, et s'arrête quand Chrome est fermé. Prenez celui que votre entreprise autorise.

## Comment ça marche

Deux morceaux tournent sur votre machine : un serveur MCP Node que votre agent lance, et une extension dans Chrome.

1. Votre agent appelle un outil, par exemple `jira_get_issue`.
2. Le serveur transmet la requête à l'extension par un WebSocket sur `127.0.0.1`.
3. L'extension exécute un `fetch()` dans un onglet de votre site Atlassian, avec `chrome.scripting`.
4. La requête part de la même origine, donc Chrome y ajoute votre session lui-même, comme pour les pages de Jira. La réponse revient par le même chemin.

L'extension ne lit jamais vos cookies, et le serveur ne voit que le statut et le corps JSON.

## Le point intéressant : s'appairer sans envoyer le secret

Un port sur localhost est ouvert à tous les programmes de la machine. Le serveur n'accepte donc qu'une origine `chrome-extension://`, et les deux côtés partagent un jeton d'appairage. Chacun prouve qu'il le connaît avec un HMAC-SHA256 sur une valeur aléatoire neuve : le jeton lui-même ne passe jamais par le socket.

L'extension est aussi en lecture seule de son côté. Elle envoie des `GET`, plus des `POST` vers les deux endpoints de recherche Jira qui n'existent qu'en `POST`. Tout le reste est refusé avant d'atteindre l'onglet.

## L'installer

Il faut Node.js 20+, Chrome 116+ et un site Atlassian Cloud sur lequel vous êtes connecté dans Chrome.

1. Téléchargez le [zip de la v0.1.0](https://github.com/brbousnguar/tabkit/archive/refs/tags/v0.1.0.zip) ou clonez le dépôt, puis lancez `npm install` dans le dossier.
2. Ouvrez `chrome://extensions`, activez le mode développeur, cliquez sur « Charger l'extension non empaquetée » et choisissez le dossier `extension/`.
3. Lancez `npm run -s pairing-token`. Dans la fenêtre de tabkit, indiquez votre site (`https://<nom>.atlassian.net`), collez le jeton et cliquez sur Save.
4. Déclarez le serveur à votre agent :

```bash
# Claude Code
claude mcp add tabkit -- node /chemin/vers/tabkit/src/index.js

# GitHub Copilot CLI
copilot mcp add tabkit -- node /chemin/vers/tabkit/src/index.js
```

Pour VS Code, ajoutez-le dans `mcp.json` comme serveur `stdio` avec la même commande. Le [README](https://github.com/brbousnguar/tabkit#setup) (en anglais) donne cet extrait et celui de Codex.

Demandez ensuite à votre agent « qui suis-je dans Jira ? ».

## Quatre outils, tous en lecture seule

- `atlassian_whoami` : le site et le compte qu'utilise l'extension.
- `jira_get_issue` : un ticket par sa clé.
- `jira_search_issues` : une recherche JQL, une page à la fois.
- `confluence_get_page` : une page par son id, avec son contenu.

## Ce que j'ai testé, et ce que je n'ai pas testé

Le serveur a 9 tests contre une fausse extension qui parle le vrai protocole. J'ai aussi lancé la vraie extension dans Chrome for Testing 153 sans fenêtre, contre un site Jira Cloud qui autorise la lecture anonyme : l'appairage, l'onglet en arrière-plan, une recherche JQL, la lecture d'un ticket et le message « connectez-vous dans Chrome » sur un 401 ont tous fonctionné.

Pas encore testé : une session connectée sur un site privé, une vraie page Confluence, Windows et Linux, et les clients Copilot. C'est pour ça que c'est une v0.1 en préversion. Si vous essayez l'un de ces cas, [ouvrez une issue](https://github.com/brbousnguar/tabkit/issues) et dites-moi ce qui casse.
