FranckDubray/mcp-server-tools
3.2
If you are the rightful owner of mcp-server-tools and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MCP Server Tools provide a comprehensive server environment with integrated Git/GitHub, FileSystem management, and a web control interface.
Tools
5
Resources
0
Prompts
0
🔧 MCP Server Tools
Serveur MCP (Model Context Protocol) complet avec outils Git/GitHub, FileSystem et interface de contrôle web.
✨ Fonctionnalités
- 🐙 Git & GitHub : Opérations locales (clone, commit, push, pull) + API GitHub (repos, users)
- 📁 FileSystem : Gestion complète des fichiers avec workspace intelligent
- 🎛 Interface Web : Dashboard de contrôle avec exécution des outils en temps réel
- 🔌 Architecture modulaire : Ajout facile de nouveaux outils
- 🔄 Hot Reload : Rechargement automatique des outils
🚀 Installation rapide
# Cloner le repository
git clone https://github.com/FranckDubray/mcp-server-tools.git
cd mcp-server-tools
# Installer les dépendances
pip install -e .
# Lancer en mode développement
./scripts/dev.sh # Linux/Mac
# ou
./scripts/dev.ps1 # Windows
🎯 Usage
Interface Web
Accédez à http://localhost:8000/control pour l'interface de contrôle complète.
API Endpoints
GET /tools- Liste des outils disponiblesPOST /execute- Exécution d'un outilGET /control- Interface web de contrôle
🛠 Outils disponibles
Git & GitHub (git_github)
- Git Local : clone, status, add, commit, push, pull, branch, checkout, log, diff
- GitHub API : create_repo, get_user, list_repos
- Authentification : Variable d'environnement
GITHUB_TOKEN
FileSystem (FileSystemNG)
- Gestion de workspace (limite 500KB)
- Opérations : load_file, writeFile, list, search, createDirectory
- Support PDF avec sélection de pages
Calculs
add: Addition de deux nombresmultiply: Multiplicationsquare: Puissance au carré
⚙️ Configuration
Variables d'environnement :
MCP_HOST=127.0.0.1(par défaut)MCP_PORT=8000(par défaut)LOG_LEVEL=INFOGITHUB_TOKEN(requis pour GitHub API)RELOAD=1(rechargement automatique)
🏗 Architecture
src/add_mcp_server/
├── server.py # Serveur principal FastAPI
├── __init__.py
└── tools/ # Outils modulaires
├── __init__.py
├── git_github.py # Git + GitHub
├── add.py # Addition
├── multiply.py # Multiplication
└── square.py # Puissance
🔄 Développement
Ajouter un nouvel outil
- Créer
tools/mon_outil.py:
def run(param1: str, param2: int):
"""Fonction principale de l'outil"""
return {"result": f"Traité {param1} avec {param2}"}
def spec():
"""Spécification OpenAI/Anthropic"""
return {
"type": "function",
"function": {
"name": "mon_outil",
"description": "Description de mon outil",
"parameters": {
"type": "object",
"properties": {
"param1": {"type": "string"},
"param2": {"type": "number"}
},
"required": ["param1", "param2"]
}
}
}
- Redémarrer le serveur → l'outil est automatiquement découvert !
Hot Reload
- Modification d'un outil → rechargement automatique
GET /tools?reload=1→ rechargement forcé- Variable
RELOAD=1→ rechargement continu
📋 Points techniques
- Découverte automatique : Utilise
pkgutil.iter_modules() - ETag : Cache intelligent pour
/tools - CORS : Support complet pour interface web
- Timeout : 30s par défaut pour l'exécution
- Validation : Pydantic pour les requêtes
🎛 Interface de contrôle
L'interface web (/control) permet :
- ✅ Visualisation de tous les outils
- ⚡ Exécution en temps réel
- 📝 Formulaires dynamiques avec validation
- 🔄 Rechargement avec préservation des valeurs
- 📊 Affichage des résultats formatés
🤝 Contribution
- Fork du projet
- Branche feature (
git checkout -b feature/nouvel-outil) - Commit (
git commit -am 'Ajout nouvel outil') - Push (
git push origin feature/nouvel-outil) - Pull Request
📝 License
MIT - Voir le fichier LICENSE
📚 Documentation complète
Consultez mcp_server_min_playbook.md pour le guide complet de développement.