Skip to main content
Glama

Serveur MCP TS Toolkit

Un serveur de Protocole de Contexte de Modèle (MCP) qui fournit une suite complète d'outils sécurisés et configurables pour manipuler le système de fichiers, effectuer des recherches web, convertir des documents, gérer des projets npm et .NET, et accéder aux capacités d'IA générative via l'API PiAPI.ai.

Ce serveur intègre une validation stricte des paramètres via Zod, une gestion avancée des logs avec Winston, et un système de configuration flexible permettant de contrôler précisément l'accès aux différents outils et ressources.

Version actuelle : 1.8.0

Configuration

  1. Configurer le serveur MCP dans votre configuration Claude :

Sur MacOS : ~/Library/Application Support/Claude/claude_desktop_config.json Sur Windows : %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "toolskit": { "command": "node", "args": ["/chemin/vers/toolskit/build/index.js"], "env": { "MCP_TOOLSKIT_CONFIG_PATH": "C:/tmp/config.json" } } } }

Configuration PiAPI

Pour utiliser les outils d'IA, configurez votre clé API PiAPI dans le fichier de configuration :

{ "PiAPI": { "ApiKey": "votre_clé_api_piapi", "IsFreePlan": false, "IgnoreSSLErrors": false, "OuputDirectory": "C:/tmp/piapi_output" } }

Fonctionnalités

Ce serveur fournit plusieurs catégories d'outils :

🗂️ Outils FileSystem

  • Lister les répertoires autorisés

  • Lire plusieurs fichiers simultanément

  • Rechercher des fichiers selon des critères

  • Déplacer des fichiers

  • Afficher l'arborescence des répertoires

  • Créer des répertoires

  • Éditer des fichiers avec diffs

  • Écrire des fichiers

  • Rechercher dans le contenu des fichiers

🔄 Outils Git

  • Cloner des dépôts

  • Gérer les commits

  • Synchroniser avec les dépôts distants (pull/push/fetch)

  • Gérer les branches (checkout)

  • Gérer les conflits

  • Comparer des versions (diff)

  • Consulter l'historique (log)

  • Vérifier le statut

🌐 Outils Web

  • Effectuer des recherches via le moteur Brave Search

  • Récupérer le contenu de pages web

🎨 Outils d'IA Générative (PiAPI)

Génération d'Images

  • piapi_text_to_image : Génération d'images à partir de descriptions textuelles

  • piapi_gemini_image_generation : Génération et édition d'images avec Gemini 2.5 Flash Image

  • piapi_derive_image : Variation d'images existantes

  • piapi_modify_image : Modification d'images (inpaint/outpaint)

  • piapi_generate_image_controlnet : Génération avec ControlNet et LoRA

  • piapi_midjourney_imagine : Génération via Midjourney

  • piapi_show_image : Affichage d'images

Traitement d'Images

  • piapi_image_faceswap : Échange de visages

  • piapi_image_rmbg : Suppression d'arrière-plan

  • piapi_image_segment : Segmentation d'images

  • piapi_image_upscale : Amélioration de résolution

Génération de Vidéos

  • piapi_video_generation : Génération de vidéos à partir de texte/images

  • piapi_generate_video_hunyuan : Génération via Hunyuan

  • piapi_generate_video_skyreels : Génération via Skyreels

  • piapi_generate_video_wan : Génération via Wan

  • piapi_generate_video_kling : Génération via Kling

  • piapi_generate_video_effect_kling : Effets vidéo Kling

  • piapi_generate_video_luma : Génération via Luma

Traitement de Vidéos

  • piapi_video_faceswap : Échange de visages dans les vidéos

  • piapi_video_upscale : Amélioration de résolution vidéo

Génération Audio/Musique

  • piapi_music_generation : Génération de musique avec ou sans paroles

  • piapi_extend_music : Extension de musiques existantes

  • piapi_generate_music_suno : Génération via Suno

  • piapi_generate_music_for_video : Musique pour vidéos

  • piapi_tts_zero_shot : Synthèse vocale zero-shot

Modélisation 3D

  • piapi_image_to_3d : Conversion d'images en modèles 3D

Utilitaires

  • piapi_get_task_status : Surveillance du statut des tâches

📄 Outils Pandoc

  • Convertir des documents Markdown vers d'autres formats (DOCX, PPTX, HTML)

📦 Outils NPM

  • Installer les dépendances d'un projet

  • Construire un projet

⚙️ Outils .NET

  • Exécuter des opérations sur les solutions .NET (tests unitaires, rapports)

  • Analyser et sérialiser des fichiers source C#

  • Analyser les dépendances C#

🕐 Outils Système

  • Obtenir la date et l'heure actuelles

Installation

Prérequis

  1. Node.js et npm installés

  2. Git installé (pour les outils Git)

  3. Pandoc installé (pour les conversions de documents)

  4. SDK .NET (pour les outils .NET)

  5. Une clé API Brave Search (pour les recherches web)

  6. Une clé API PiAPI.ai (pour les outils d'IA générative)

Installation

  1. Installer les dépendances :

npm install
  1. Compiler le serveur :

npm run build

Outils disponibles

🗂️ Système de fichiers

toolskit:list_allowed_directories

Liste tous les répertoires accessibles par le serveur.

  • Pas de paramètres requis

  • Retourne la liste des chemins absolus des répertoires autorisés

toolskit:read_multiple_files

Lit plusieurs fichiers simultanément. Plus efficace que la lecture individuelle.

  • Paramètres requis :

    • paths : Tableau des chemins de fichiers à lire

toolskit:search_files

Recherche récursive de fichiers selon un motif.

  • Paramètres requis :

    • path : Répertoire de départ

    • pattern : Motif de recherche avec syntaxe glob

  • Paramètres optionnels :

    • excludePatterns : Motifs à exclure

toolskit:search_file_content

Recherche de fichiers dont le contenu correspond à une expression régulière.

  • Paramètres requis :

    • path : Répertoire de départ pour la recherche

    • regex : Expression régulière à rechercher

  • Paramètres optionnels :

    • fileExtensions : Extensions de fichiers à inclure

    • excludePatterns : Motifs à exclure

toolskit:move_file

Déplace ou renomme un fichier/répertoire.

  • Paramètres requis :

    • source : Chemin source

    • destination : Chemin destination

toolskit:directory_tree

Génère une vue arborescente YAML d'un répertoire.

  • Paramètres requis :

    • path : Répertoire à analyser

  • Paramètres optionnels :

    • recursive : Analyse récursive (défaut: true)

toolskit:create_directory

Crée un nouveau répertoire et ses parents si nécessaire.

  • Paramètres requis :

    • path : Chemin du répertoire à créer

toolskit:edit_file

Effectue des modifications précises dans les fichiers.

  • Paramètres requis :

    • path : Chemin du fichier cible

    • edits : Tableau des opérations de modification

      • oldText : Texte exact à rechercher

      • newText : Texte de remplacement

toolskit:write_file

Crée ou écrase un fichier avec du nouveau contenu.

  • Paramètres requis :

    • path : Chemin du fichier

    • content : Contenu à écrire

🔄 Outils Git

toolskit:git_clone

Clone un dépôt Git.

  • Paramètres requis :

    • repositoryUrl : URL du dépôt

    • targetDir : Répertoire cible

  • Paramètres optionnels :

    • branch : Branche spécifique

toolskit:git_commit

Commit les changements.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

    • message : Message du commit

  • Paramètres optionnels :

    • files : Fichiers spécifiques

    • author : Information d'auteur

toolskit:git_status

Affiche le statut du dépôt.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

toolskit:git_pull, toolskit:git_push, toolskit:git_fetch

Synchronisation avec les dépôts distants.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

  • Paramètres optionnels :

    • remote : Dépôt distant (défaut: origin)

    • branch : Branche (défaut: main)

toolskit:git_checkout

Change de branche.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

    • branch : Branche cible

  • Paramètres optionnels :

    • createBranch : Créer la branche

toolskit:git_diff

Compare les changements entre commits.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

    • fromCommit : Hash du commit initial

    • toCommit : Hash du commit cible

  • Paramètres optionnels :

    • files : Fichiers spécifiques

    • unified : Nombre de lignes de contexte

    • ignoreSpace : Ignorer les espaces

    • ignoreBlankLines : Ignorer les lignes vides

toolskit:git_log

Affiche l'historique des commits.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

  • Paramètres optionnels :

    • maxCount : Nombre maximum de commits

    • branch : Filtrer par branche

    • file : Filtrer par fichier

    • from/to : Plage de commits

toolskit:git_resolve_conflicts

Gestion des conflits de fusion.

  • Paramètres requis :

    • workingDir : Répertoire du dépôt

  • Paramètres optionnels :

    • operation : Action (list, abort)

🌐 Outils Web

Recherche web via l'API Brave Search.

  • Paramètres requis :

    • query : Requête de recherche (max 400 chars)

  • Paramètres optionnels :

    • count : Nombre de résultats (1-20, défaut: 10)

    • offset : Index de départ (0-9, défaut: 0)

toolskit:get_web_page_content

Récupère le contenu d'une page web.

  • Paramètres requis :

    • url : URL de la page web

🎨 Outils d'IA Générative (PiAPI)

Génération d'Images

piapi_text_to_image

Génère une image à partir d'un texte.

  • Paramètres requis :

    • prompt : Description de l'image

  • Paramètres optionnels :

    • model : Modèle (Qubico/flux1-dev, Qubico/flux1-schnell, Qubico/flux1-dev-advanced)

    • width/height : Dimensions (64-1024, défaut: 512)

    • negative_prompt : Éléments à éviter

    • steps : Nombre d'étapes

    • guidance_scale : Échelle de guidage (1.5-5)

    • batch_size : Nombre d'images (Schnell uniquement)

    • lora_settings : Paramètres LoRA (version payante)

    • control_net_settings : Paramètres ControlNet (version payante)

piapi_gemini_image_generation

Génère et édite des images avec Gemini 2.5 Flash Image de Google.

  • Paramètres requis :

    • prompt : Description de l'image (DOIT être en anglais)

  • Paramètres optionnels :

    • num_images : Nombre d'images (1-4, défaut: 1, coût: 0.03$/image)

    • output_format : Format de sortie ("jpeg" ou "png", défaut: jpeg)

    • image_urls : URLs d'images à modifier (pour l'édition conversationnelle)

Fonctionnalités uniques :

  • Édition conversationnelle : modification progressive d'images existantes

  • Cohérence de personnages : maintien de l'apparence à travers plusieurs générations

  • Approche narrative : excelle avec des descriptions fluides plutôt que des mots-clés

  • Support natif de l'inpainting, outpainting et changements de style

piapi_midjourney_imagine

Génération d'image via Midjourney.

  • Paramètres requis :

    • prompt : Description de l'image

  • Paramètres optionnels :

    • aspectRatio : Ratio d'aspect

piapi_derive_image

Variation d'une image existante.

  • Paramètres requis :

    • prompt : Description de la variation

    • referenceImage : URL de l'image de référence

  • Paramètres optionnels :

    • width/height : Dimensions

    • negativePrompt : Éléments à éviter

    • steps : Nombre d'étapes

piapi_modify_image

Modification d'image (inpaint/outpaint).

  • Paramètres requis :

    • prompt : Description de la modification

    • referenceImage : URL de l'image de référence

    • model : Type de modification ("inpaint" ou "outpaint")

  • Paramètres optionnels :

    • paddingLeft/Right/Top/Bottom : Remplissage pour outpaint

    • negativePrompt : Éléments à éviter

    • steps : Nombre d'étapes

piapi_generate_image_controlnet

Génération avec ControlNet.

  • Paramètres requis :

    • prompt : Description de l'image

    • referenceImage : Image de contrôle

  • Paramètres optionnels :

    • controlType : Type de contrôle (depth, canny, hed, openpose)

    • lora : LoRA à utiliser

    • width/height : Dimensions

    • steps : Nombre d'étapes

Traitement d'Images

piapi_image_faceswap

Échange de visages entre images.

  • Paramètres requis :

    • swapImage : URL de l'image source

    • targetImage : URL de l'image cible

piapi_image_rmbg

Suppression d'arrière-plan.

  • Paramètres requis :

    • image : URL de l'image

piapi_image_segment

Segmentation d'image.

  • Paramètres requis :

    • image : URL de l'image

    • prompt : Description de la segmentation

  • Paramètres optionnels :

    • negativePrompt : Éléments à éviter

    • segmentFactor : Facteur de segmentation

piapi_image_upscale

Amélioration de résolution.

  • Paramètres requis :

    • image : URL de l'image

  • Paramètres optionnels :

    • scale : Facteur d'agrandissement (2-10, défaut: 2)

    • faceEnhance : Amélioration des visages

piapi_show_image

Affichage d'image (pour les images < 768x1024).

  • Paramètres requis :

    • url : URL de l'image

Génération de Vidéos

piapi_video_generation

Génération de vidéo complète avec support des images clés.

  • Paramètres requis :

    • prompt : Description de la vidéo

  • Paramètres optionnels :

    • task_type : Type (video_generation, extend_video)

    • key_frames : Images clés (frame0, frame1)

    • model_name : Modèle (ray-v1, ray-v2)

    • duration : Durée (5-10 secondes)

    • aspect_ratio : Ratio d'aspect

    • webhook_config : Configuration webhook

piapi_generate_video_hunyuan

Génération via Hunyuan.

  • Paramètres requis :

    • prompt : Description de la vidéo

  • Paramètres optionnels :

    • model : Type (hunyuan, fastHunyuan, hunyuanConcat, hunyuanReplace)

    • referenceImage : Image de référence

    • aspectRatio : Ratio d'aspect (16:9, 1:1, 9:16)

    • negativePrompt : Éléments à éviter

piapi_generate_video_skyreels

Génération via Skyreels.

  • Paramètres requis :

    • prompt : Description de la vidéo

    • referenceImage : Image de référence

  • Paramètres optionnels :

    • aspectRatio : Ratio d'aspect

    • negativePrompt : Éléments à éviter

piapi_generate_video_wan

Génération via Wan.

  • Paramètres requis :

    • prompt : Description de la vidéo

  • Paramètres optionnels :

    • model : Type (wan1_3b, wan14b)

    • referenceImage : Image de référence (wan14b uniquement)

    • aspectRatio : Ratio d'aspect

    • negativePrompt : Éléments à éviter

piapi_generate_video_kling

Génération via Kling.

  • Paramètres requis :

    • prompt : Description de la vidéo

  • Paramètres optionnels :

    • referenceImage : Image de référence

    • aspectRatio : Ratio d'aspect

    • duration : Durée (5s, 10s)

    • negativePrompt : Éléments à éviter

piapi_generate_video_effect_kling

Effets vidéo via Kling.

  • Paramètres requis :

    • image : Image de référence

  • Paramètres optionnels :

    • effectName : Type d'effet (squish, expansion)

piapi_generate_video_luma

Génération via Luma.

  • Paramètres requis :

    • prompt : Description de la vidéo

  • Paramètres optionnels :

    • duration : Durée (5s, 10s)

    • aspectRatio : Ratio d'aspect

    • keyFrame : Image clé

Traitement de Vidéos

piapi_video_faceswap

Échange de visages dans les vidéos.

  • Paramètres requis :

    • swapImage : URL de l'image source

    • targetVideo : URL de la vidéo cible

piapi_video_upscale

Amélioration de résolution vidéo (2x).

  • Paramètres requis :

    • video : URL de la vidéo

Génération Audio/Musique

piapi_music_generation

Génération de musique avec paroles optionnelles.

  • Paramètres requis :

    • gpt_description_prompt : Description de la musique

  • Paramètres optionnels :

    • model : Type (music-u, music-s)

    • task_type : Tâche (generate_music, generate_music_custom)

    • lyrics_type : Type de paroles (generate, instrumental, user)

    • tags : Styles musicaux

    • negative_tags : Styles à éviter

    • prompt : Paroles personnalisées

    • make_instrumental : Version instrumentale

piapi_extend_music

Extension de musique existante.

  • Paramètres requis :

    • continue_clip_id : ID du clip à étendre

    • prompt : Paroles pour l'extension

  • Paramètres optionnels :

    • tags : Styles musicaux

    • negative_tags : Styles à éviter

piapi_generate_music_suno

Génération via Suno.

  • Paramètres requis :

    • prompt : Description de la musique (max 3000 chars)

  • Paramètres optionnels :

    • makeInstrumental : Version instrumentale

    • title : Titre (max 80 chars)

    • tags : Tags (max 200 chars)

    • negativeTags : Tags négatifs (max 200 chars)

piapi_generate_music_for_video

Génération de musique pour vidéo.

  • Paramètres requis :

    • prompt : Description de la musique

    • video : URL de la vidéo

  • Paramètres optionnels :

    • negativePrompt : Éléments à éviter

piapi_tts_zero_shot

Synthèse vocale zero-shot.

  • Paramètres requis :

    • genText : Texte à synthétiser

    • refAudio : Audio de référence

  • Paramètres optionnels :

    • refText : Texte de référence

Modélisation 3D

piapi_image_to_3d

Conversion d'image en modèle 3D.

  • Paramètres requis :

    • image_path ou image_url : Image source

  • Paramètres optionnels :

    • seed : Seed de génération

    • ss_sampling_steps : Étapes SS (10-50)

    • slat_sampling_steps : Étapes SLAT (10-50)

    • ss_guidance_strength : Force SS (0-10)

    • slat_guidance_strength : Force SLAT (0-10)

Utilitaires

piapi_get_task_status

Surveillance du statut des tâches.

  • Paramètres requis :

    • taskId : ID de la tâche

  • Paramètres optionnels :

    • checkInterval : Intervalle de vérification (1000-10000ms)

📄 Outils Pandoc

toolskit:markdown_to_document

Convertit Markdown vers d'autres formats.

  • Paramètres requis :

    • content ou inputPath : Contenu ou fichier source

  • Paramètres optionnels :

    • format : Format de sortie (docx, pptx, html)

    • outputPath : Fichier de sortie

    • templatePath : Template

    • openAfterGeneration : Ouvrir après génération

📦 Outils NPM

toolskit:npm_install

Installation des dépendances.

  • Paramètres requis :

    • workingDir : Répertoire de travail

toolskit:npm_build

Construction du projet.

  • Paramètres requis :

    • workingDir : Répertoire de travail

⚙️ Outils .NET

toolskit:dotnet_tool

Opérations sur les solutions .NET.

  • Paramètres requis :

    • solutionFile : Chemin de la solution

  • Paramètres optionnels :

    • operation : Opération (RunTests)

toolskit:serialize_csharp

Analyse des fichiers C#.

  • Paramètres requis :

    • path : Répertoire à analyser

  • Paramètres optionnels :

    • options : Configuration de l'analyse

      • accessibility : Niveaux d'accès à inclure

      • includeStatic : Inclure les méthodes statiques

      • namespaceFilter : Filtrer par namespace

toolskit:analyze_csharp_dependencies

Analyse des dépendances C#.

  • Paramètres requis :

    • filePath : Fichier C# à analyser

🕐 Outils Système

toolskit:get_current_datetime

Obtient la date et l'heure actuelles.

  • Pas de paramètres requis

Ressources

Le serveur fournit également des ressources consultables :

  • Logs du serveur : Consultation des dernières entrées de log

  • Prompts Flux1 : Ressources d'aide pour la génération d'images avec Flux

  • Prompts Gemini : Guide d'expert pour Gemini 2.5 Flash Image (Nano Banana)

  • Prompts de génération musicale : Guides pour la création musicale

  • Prompts vidéo : Ressources pour la génération de vidéos

Fonctionnalités Avancées

Sauvegarde Automatique

Tous les outils PiAPI supportent la sauvegarde automatique des contenus générés si un répertoire de sortie est configuré dans PiAPI.OuputDirectory.

Ouverture Automatique

Les fichiers générés sont automatiquement ouverts avec l'application par défaut du système.

Gestion des Erreurs

  • Validation stricte des paramètres via Zod

  • Gestion complète des erreurs avec logging

  • Messages d'erreur explicites pour les utilisateurs

Optimisation des Performances

  • Gestionnaire de tâches unifié pour PiAPI

  • Configuration automatique des timeouts selon les modèles

  • Polling intelligent pour le suivi des tâches

Sécurité

  • Validation stricte des chemins de fichiers

  • Liste blanche de répertoires accessibles

  • Pas d'exécution de code arbitraire

  • Gestion sécurisée des clés API

Développement

Pour le développement avec recompilation automatique :

npm run watch

Architecture

  • FastMCP : Framework MCP pour TypeScript

  • Zod : Validation des schémas et paramètres

  • Winston : Système de logging avancé

  • Configuration flexible : Via variables d'environnement

  • Support TypeScript complet : Types stricts pour tous les outils

Structure du Projet

src/ ├── index.ts # Point d'entrée principal ├── tools/ # Tous les outils MCP │ ├── filesystem/ # Outils de système de fichiers │ ├── git/ # Outils Git │ ├── web/ # Outils web │ ├── piapi/ # Outils d'IA générative │ │ ├── types/ # Types TypeScript │ │ ├── task_handler.ts # Gestionnaire de tâches unifié │ │ └── *.ts # Outils spécifiques │ ├── pandoc/ # Outils de conversion │ ├── npm/ # Outils NPM │ ├── dotnet/ # Outils .NET │ └── system/ # Outils système ├── resources/ # Ressources consultables ├── models/ # Modèles de données └── helpers/ # Utilitaires et helpers

Logging

Le serveur utilise Winston pour un logging avancé avec :

  • Rotation quotidienne des fichiers de log

  • Contexte d'opération pour le suivi

  • Niveaux de log configurables

  • Formatage structuré

Configuration Avancée

Fichier de Configuration

Le serveur utilise un fichier JSON pour la configuration :

{ "AllowedDirectories": [ "C:/Projets", "C:/Documents" ], "BraveSearch": { "ApiKey": "votre_clé_brave" }, "PiAPI": { "ApiKey": "votre_clé_piapi", "IsFreePlan": false, "IgnoreSSLErrors": false, "OuputDirectory": "C:/PiAPI_Output" }, "DisabledTools": [], "LogLevel": "info" }

Variables d'Environnement

  • MCP_TOOLSKIT_CONFIG_PATH : Chemin vers le fichier de configuration

Licence

Ce projet est sous licence Apache 2.0 - voir le fichier LICENSE pour plus de détails.

Contribution

Les contributions sont les bienvenues ! Veuillez :

  1. Fork le projet

  2. Créer une branche pour votre fonctionnalité

  3. Commiter vos changements

  4. Pousser vers la branche

  5. Ouvrir une Pull Request

Support

Pour obtenir de l'aide :

  1. Consultez la documentation

  2. Vérifiez les logs du serveur

  3. Ouvrez une issue sur GitHub avec les détails de votre problème

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thomas92fr/mcp-ts-toolskit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server