Skip to main content
Glama
Oumeima-IbnElfekih

Corporate Tools MCP Server

README.md
# Corporate Tools Server (MCP)

Ce dépôt contient un serveur de micro-outils d'entreprise basé sur le protocole **MCP (Model Context Protocol)** utilisant le framework **FastMCP**. Il expose des outils permettant à un agent d'intelligence artificielle de consulter les politiques RH, de créer des tickets de support informatique et d'envoyer des e-mails externes de manière sécurisée.

Le serveur intègre une politique de sécurité stricte (`TOOLS_SECURITY`) pour classifier les risques liés à l'exécution de chaque outil (notamment la validation humaine requise pour les actions critiques).

---

## 📋 Fonctionnalités et Matrice de Sécurité

Les outils sont configurés selon le niveau de risque suivant :

| Outil | Description | Type | Risque | Confirmation Requise |
| :--- | :--- | :--- | :--- | :--- |
| `search_policy` | Consulter les procédures internes RH | `READ` | **LOW** | ❌ Non |
| `create_ticket` | Créer un ticket support informatique | `WRITE` | **MEDIUM** | ❌ Non |
| `send_email` | Envoyer un e-mail externe | `SEND` | **HIGH** |  Oui (Human-in-the-loop) |

> ⚠️ **Sécurité :** Les métadonnées de sécurité sont injectées directement dans les descriptions des outils (`docstrings`) afin que l'agent IA ou le client MCP puisse intercepter et valider l'action avant son exécution.

---

## 🛠️ Prérequis

Avant de commencer, assurez-vous d'avoir installé :
- **Python 3.10 ou supérieur**
- **pip** (gestionnaire de paquets Python)

---

##  Installation

**Python Version**

Recommended:

    Python >= 3.10

Check your version:

``` bash
python --version
```

------------------------------------------------------------------------

# ⚙️ Create Virtual Environment

## Windows

Create the environment:

``` bash
python -m venv venv
```

Activate:

``` bash
venv\\Scripts\\activate
```

You should see:

    (venv)

------------------------------------------------------------------------

## Linux / macOS

Create:

``` bash
python3 -m venv venv
```

Activate:

``` bash
source venv/bin/activate
```

------------------------------------------------------------------------

# 📦 Install Dependencies

Upgrade pip:

``` bash
python -m pip install --upgrade pip
```

Install packages:

``` bash
pip install -r requirements.txt
```

------------------------------------------------------------------------

# 🔑 Configure Groq API Key

Create a file:

    .env

at the project root.

Add:

``` env
GROQ_API_KEY=your_groq_api_key_here
```

Example:

``` env
GROQ_API_KEY=gsk_xxxxxxxxxxxxx
```

Never commit this file to GitHub.

------------------------------------------------------------------------

## 🖥️ Intégration avec Claude Desktop (Bonus)

Ce serveur MCP utilise le transport **STDIO (Standard Input/Output)**, ce qui le rend compatible avec **Claude Desktop**.

### Étape 1 : Localiser le fichier de configuration

Modifiez le fichier `claude_desktop_config.json` situé à l'un des emplacements suivants :

- **Windows**

```text
%APPDATA%\Claude\claude_desktop_config.json
```

- **macOS**

```text
~/Library/Application Support/Claude/claude_desktop_config.json
```

---

### Étape 2 : Ajouter le serveur MCP

Ajoutez la configuration suivante dans le fichier :

```json
{
  "mcpServers": {
    "corporate-tools": {
      "command": "python",
      "args": [
        "/chemin/absolu/vers/votre/projet/server.py"
      ],
      "env": {}
    }
  }
}
```

> **Remarque :** Remplacez `/chemin/absolu/vers/votre/projet/server.py` par le chemin absolu de votre fichier `server.py`.

---

### Exemple sous Windows

```json
{
  "mcpServers": {
    "corporate-tools": {
      "command": "python",
      "args": [
        "/chemin/absolu/vers/votre/projet/server.py"
      ],
      "env": {}
    }
  }
}
```

---

### Exemple sous macOS

```json
{
  "mcpServers": {
    "corporate-tools": {
      "command": "python3",
      "args": [
        "/chemin/absolu/vers/votre/projet/server.py"
      ],
      "env": {}
    }
  }
}
```

---

### Étape 3 : Redémarrer Claude Desktop

Après avoir enregistré le fichier de configuration :

1. Fermez complètement **Claude Desktop**.
2. Relancez l'application.
3. Le serveur **Corporate Tools** sera automatiquement démarré par Claude.

---

### Vérification

Si la configuration est correcte, Claude Desktop détectera automatiquement le serveur MCP et les outils.

Vous pouvez alors interagir avec ces outils directement depuis Claude Desktop.