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 henry@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=INFO
GITHUB_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.