MCP Tools
Provides file operations on S3 Dell ECS storage, including listing, reading, writing, deleting, versioning, and diff for files and tokens.
Enables internet search and technical documentation retrieval via Perplexity AI.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Toolsping google.com and show response time"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
đ§ MCP Tools
BibliothĂšque d'outils exĂ©cutables pour agents IA â Serveur MCP Cloud Temple
MCP Tools est un serveur MCP passif qui expose des outils (shell, rĂ©seau, HTTP, recherche IAâŠ) aux agents autonomes via le protocole Streamable HTTP. C'est la « boĂźte Ă outils » de l'Ă©cosystĂšme Cloud Temple.
Démarrage rapide
1. Configuration
cp .env.example .env
# Ăditer .env avec vos credentials S3, Perplexity, etc.2. Lancement (Docker Compose)
docker compose build
docker compose up -d
# Vérification
curl http://localhost:8082/health
# â {"status":"healthy","service":"mcp-tools","version":"0.5.1","transport":"streamable-http"}
# Console d'administration
open http://localhost:8082/admin3. CLI
# Créer le venv Python
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Health check (pas d'auth requise)
python scripts/mcp_cli.py health
# Infos service
python scripts/mcp_cli.py about
# Exécuter une commande shell
python scripts/mcp_cli.py run-shell "hostname && uptime"
# Diagnostic réseau
python scripts/mcp_cli.py network ping google.com
python scripts/mcp_cli.py network dig google.com MX +short
python scripts/mcp_cli.py network nslookup google.com -type=mx
# RequĂȘte HTTP
python scripts/mcp_cli.py http https://httpbin.org/get
# Dates et heures
python scripts/mcp_cli.py date now --tz Europe/Paris
python scripts/mcp_cli.py date add 2026-03-06 --days 10
python scripts/mcp_cli.py date diff 2026-01-01 --date2 2026-03-06
python scripts/mcp_cli.py date day_of_week 2026-03-06
# Calculs mathématiques
python scripts/mcp_cli.py calc "2 + 3 * 4"
python scripts/mcp_cli.py calc "math.sqrt(144) + statistics.mean([10,20,30])"
# Recherche IA (Perplexity)
python scripts/mcp_cli.py search "Qu'est-ce que le protocole MCP ?"
# Documentation technique (Perplexity)
python scripts/mcp_cli.py doc "Python asyncio"
python scripts/mcp_cli.py doc "FastAPI" --context "middleware et dépendances"
# SSH (exécution distante)
python scripts/mcp_cli.py ssh exec myserver.com --user admin --password secret "uptime"
python scripts/mcp_cli.py ssh status myserver.com --user admin --password secret
# Fichiers S3
python scripts/mcp_cli.py files list --prefix logs/
python scripts/mcp_cli.py files read config/app.yaml
python scripts/mcp_cli.py files write test.txt --content "Hello World"
# Gestion des tokens (admin)
python scripts/mcp_cli.py token create agent-prod --tools shell,date,calc --expires 90
python scripts/mcp_cli.py token create ct-user --email user@cloud-temple.com --expires 180
python scripts/mcp_cli.py token list
python scripts/mcp_cli.py token info agent-prod
python scripts/mcp_cli.py token revoke agent-prod
# Shell interactif
python scripts/mcp_cli.py shell4. Recette E2E
184 assertions couvrant les 12 outils, dont 74 négatives (anti-SSRF, blocage RFC 1918, isolation réseau de la sandbox, injections, timeouts, refus d'entrées invalides, gardes de régression). Les valeurs calculées sont comparées à l'exact, pas seulement l'absence d'erreur.
Ce qui tourne automatiquement en CI : 132 assertions hermétiques sur 9 outils, plus les 8 gardes de reproductibilité. Ce qui reste manuel faute de secrets en CI : token et admin (identifiants S3), perplexity_search et perplexity_doc (clé API facturée), et les cas SSH positifs (cible réelle). à jouer avant chaque release.
# Tous les tests (build + start + test + stop)
python scripts/test_service.py
# Sous-ensemble hermétique, celui de la CI
python scripts/test_service.py --test shell,network,http,date,calc,files,waf,cli,auth
# Test spécifique (16 catégories)
python scripts/test_service.py --test shell
python scripts/test_service.py --test network
python scripts/test_service.py --test http
python scripts/test_service.py --test ssh
python scripts/test_service.py --test files
python scripts/test_service.py --test token
python scripts/test_service.py --test admin
python scripts/test_service.py --test waf
python scripts/test_service.py --test date
python scripts/test_service.py --test calc
# Serveur déjà lancé
python scripts/test_service.py --no-docker
# Verbose (réponses complÚtes)
python scripts/test_service.py --test shell -v5. Développement local (sans Docker)
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.lock
PYTHONPATH=src python -m mcp_tools6. Build reproductible
requirements.txt est un contrat de compatibilitĂ© (bornes hautes obligatoires), pas la source d'installation. Ce sont requirements.lock â clĂŽture transitive figĂ©e, outillage pip/setuptools/wheel inclus â et les images de base Ă©pinglĂ©es par digest qui garantissent qu'un rebuild d'un tag publiĂ© produit le mĂȘme arbre de dĂ©pendances.
AprÚs toute modification de requirements.txt, régénérer le lock dans l'image cible :
./scripts/lock_requirements.shUn pip freeze lancé depuis le poste de développement résoudrait d'autres versions que python:3.11-slim linux/amd64 et produirait un lock faux.
ContrÎler les gardes (bornes, cohérence du lock, plafond mcp < 2.0, imports serveur et client, CVE) :
python3 scripts/test_service.py --test reproducibility --no-dockerRelated MCP server: GPT Commander
Architecture
Internet/LAN â :8082 (WAF Caddy+Coraza) â mcp-tools:8050 (interne)Pile ASGI
AdminMiddleware â HealthCheckMiddleware â AuthMiddleware â LoggingMiddleware â FastMCP streamable_http_app3 couches (pattern Cloud Temple)
Couche | Fichier | RĂŽle |
Outils MCP |
| API MCP (Streamable HTTP) |
CLI Click |
| Interface scriptable |
Shell interactif |
| Interface interactive |
Affichage |
| Rich partagé (couches 2+3) |
Outils disponibles (12/27 â Phase 1)
Tous les paramĂštres de chaque outil sont documentĂ©s avec des descriptions dĂ©taillĂ©es via le protocole MCP. Les clients compatibles (Cline, Claude DesktopâŠ) affichent automatiquement ces descriptions.
Outil | Description |
| Sandbox Docker isolĂ©e (bash, sh, python3, node) â sans rĂ©seau par dĂ©faut, |
| Diagnostic rĂ©seau en sandbox Docker (ping, traceroute, nslookup, dig) â IPs privĂ©es RFC 1918 interdites |
| Client HTTP/REST en sandbox Docker (anti-SSRF, auth basic/bearer/api_key) â IPs privĂ©es bloquĂ©es |
| ExĂ©cution de commandes et transfert de fichiers via SSH en sandbox Docker (exec, status, upload, download) â auth password/key |
| OpĂ©rations fichiers sur S3 Dell ECS en sandbox Docker (list, read, write, delete, info, diff, versions, enable_versioning) â config hybride SigV2/SigV4, versioning S3 |
| Recherche internet via Perplexity AI |
| Documentation technique d'une technologie/librairie/API via Perplexity AI |
| Manipulation de dates/heures (now, today, diff, add, format, parse, week_number, day_of_week) â fuseaux horaires |
| Calculs mathĂ©matiques en sandbox Python Docker (expressions, math, statistics) â sans rĂ©seau |
| Gestion des tokens d'authentification MCP (create, list, info, revoke) â admin uniquement, isolation par tool_ids, email propriĂ©taire |
| Santé du service |
| Métadonnées et liste des outils |
Console d'administration (/admin)
Une interface web d'administration est disponible sur /admin :
http://localhost:8082/admin4 vues : Dashboard (état serveur), Tools (exécution interactive avec formulaires dynamiques), Tokens (CRUD), Activité (logs temps réel).
Authentification admin requise (ADMIN_BOOTSTRAP_KEY ou token S3 avec permission admin). Design Cloud Temple (dark theme). Same-origin uniquement (pas de CORS cross-origin).
Sécurité
Audit de sécurité : Rapport complet dans
DESIGN/mcp-tools/SECURITY_AUDIT.mdâ architecture qualifiĂ©e "niveau Entreprise"WAF Caddy + Coraza : OWASP CRS en mode blocage (
SecRuleEngine On), headers de sĂ©curitĂ©, rate limiting (1000 req/min MCP) â 6 tests E2E (--test waf)Auth Bearer token : Chaque requĂȘte /mcp est authentifiĂ©e. Permissions
access(appel d'outils) ouadmin(tout)tool_ids: Le token peut restreindre l'accÚs à un sous-ensemble d'outils (whitelisting par outil)Sandbox Docker : Chaque commande shell/network/http dans un conteneur éphémÚre isolé (--cap-drop=ALL, --read-only, non-root)
Token Manager S3 : Tokens stockés en S3 Dell ECS (
_tokens/{sha256}.json), cache mémoire TTL 5min, isolation partool_idsAdmin same-origin : Console
/adminsans CORS cross-origin, auth admin obligatoire sur l'APIAnti-SSRF : Résolution DNS + blocage RFC 1918 / loopback / metadata cloud pour les tools
httpetnetworkUtilisateur non-root dans Docker
Timeouts et limites sur tous les outils
Kill automatique des conteneurs sandbox en cas de timeout
Variables d'environnement
Serveur (.env)
Variable | Description | Défaut |
| Port WAF exposé |
|
| Nom du service |
|
| Port interne MCP |
|
| Token admin (â ïž changer !) |
|
| Endpoint S3 | |
| Clé d'accÚs S3 | |
| Secret S3 | |
| Bucket S3 |
|
| Clé API Perplexity | |
| ModĂšle Perplexity |
|
| Timeout dédié Perplexity (s) |
|
| Timeout par défaut outils (s) |
|
| Troncature max des outputs |
|
| DNS pour sandbox réseau |
|
Client CLI
Variable | Description | Défaut |
| URL du serveur |
|
| Token d'auth | (vide) |
Structure des fichiers
mcp-tools/
âââ src/mcp_tools/
â âââ server.py # Serveur MCP + HealthCheck + banniĂšre
â âââ config.py # Configuration pydantic-settings (sandbox, etc.)
â âââ admin/ # Console d'administration web (/admin)
â âââ static/ # Fichiers statiques admin (HTML, CSS, JS)
â âââ auth/ # Middleware auth + Token Store S3
â âââ tools/ # Outils MCP (shell, network, http, perplexity)
âââ sandbox/
â âââ Dockerfile # Image Alpine sandbox (python3, node, opensslâŠ)
âââ scripts/
â âââ mcp_cli.py # Point d'entrĂ©e CLI
â âââ test_service.py # Recette E2E (--test NOM pour cibler)
â âââ cli/ # CLI Click + Shell + Display
âââ waf/ # WAF Caddy + Coraza
âââ Dockerfile # Python 3.11 + docker CLI statique
âââ docker-compose.yml # sandbox + mcp-tools + waf + docker.sock
âââ .env.example
âââ VERSIONConfigurer dans Cline (VS Code / VSCodium)
Pour connecter MCP Tools Ă Cline, ajoutez dans votre cline_mcp_settings.json
(accessible via âïž MCP Servers dans la sidebar Cline) :
{
"mcpServers": {
"mcp-tools": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://localhost:8082/mcp",
"headers": {
"Authorization": "Bearer VOTRE_TOKEN_ICI"
}
}
}
}ParamĂštre | Valeur | Description |
|
| Obligatoire â indique Ă Cline le transport MCP Ă utiliser |
|
| Endpoint Streamable HTTP (via WAF, toujours |
|
| Timeout en secondes (recommandé pour les outils longs) |
|
| Bootstrap key ou token S3 |
|
| Permet de désactiver le serveur sans supprimer la config |
Pour créer un token dédié à Cline avec des outils spécifiques :
python scripts/mcp_cli.py --token $ADMIN_BOOTSTRAP_KEY \
token create cline-dev --tools shell,http,network,date,calc,perplexity_search --expires 365Guide complet : voir
starter-kit/CLINE_SETUP.mdpour les chemins des fichiers de configuration par OS, le multi-serveurs, le debug, etc.
Roadmap
Phase 1 (actuel) : shell, network, http, ssh, files, perplexity_search, perplexity_doc, date, calc â â
Phase 1 (Ă faire) : docker, generate, mcp_call
Phase 2 : git, s3, db, host_audit, ssh_diagnostics, sqlite, script_executor, email_send, pdf, doc_scraper
Phase 3 : imap, perplexity_api, perplexity_deprecated
Licence
Apache 2.0 â Cloud Temple
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.57MIT
- FlicenseCqualityCmaintenanceA security-first MCP server that provides LLMs with structured tools for filesystem, process, search, build/test/lint, IDE integration, and more.402
- FlicenseNot gradedqualityCmaintenanceEnterprise MCP server providing a suite of tools including file, database, GitHub, Slack, calendar, email, vector search, and Python execution, with safe defaults and OpenAI integration for automatic tool selection.
- AlicenseAqualityBmaintenanceMCP server for offensive-security tooling, enabling AI agents to run reconnaissance, CVE intelligence, JavaScript analysis, HTTP probing, and port scanning against authorized targets.10MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Cloud-Temple/mcp-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server