使用说明
🔧 MCP工具
IA代理的可执行工具库 -MCP Cloud Temple服务器
MCP工具是一个被动MCP服务器,它公开 工具 (shell、网络、HTTP、IA搜索…)通过协议发送给自主代理 流式HTTP这是Cloud Temple生态系统的“工具箱”。
快速启动
1.配置
cp .env.example .env
# Éditer .env avec vos credentials S3, Perplexity, etc.
2.启动(Docker Compose)
docker compose build
docker compose up -d
# Vérification
curl http://localhost:8082/health
# → {"status":"healthy","service":"mcp-tools","version":"0.1.8","transport":"streamable-http"}
# Console d'administration
open http://localhost:8082/admin
3.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 shell
4.E2E配方
# Tous les tests (build + start + test + stop)
python scripts/test_service.py
# Test spécifique (13 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 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 -v
5.本地开发(无Docker)
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
PYTHONPATH=src python -m mcp_tools
建筑
Internet/LAN → :8082 (WAF Caddy+Coraza) → mcp-tools:8050 (interne)
桩ASGI
AdminMiddleware → HealthCheckMiddleware → AuthMiddleware → LoggingMiddleware → FastMCP streamable_http_app
3张沙发(云庙图案)
| 层 | 文件 | 角色 |
|---|---|---|
| MCP工具 | src/mcp_tools/server.py |
API MCP(流式HTTP) |
| CLI单击 | scripts/cli/commands.py |
界面可脚本化 |
| 交互式外壳 | scripts/cli/shell.py |
界面交互 |
| 显示 | scripts/cli/display.py |
共享丰富(层2+3) |
可用工具(12/27-第1阶段)
所有参数 每个工具都通过MCP协议进行了详细描述。兼容客户端(Cline、Claude Desktop等)自动显示这些描述。
| 输出 | 描述 |
|---|---|
shell |
隔离Docker沙盒(Bash、sh、Python3、Node、OpenSSL)-无网络 |
network Docker沙盒中的网络诊断(ping、traceroute、nslookup、dig)-禁止专用IPS RFC 1918 |
|
http Docker沙盒中的HTTP/REST客户端(反SSRF、Auth Basic/Bearer/API-key)-阻止私有IP |
|
ssh |
通过SSH在Docker沙盒中执行命令和文件传输(执行、状态、上传、下载)-身份验证密码/密钥 |
files Docker沙盒中S3 Dell ECS上的文件操作(列表、读取、写入、删除、信息、差异、版本、启用版本控制)-SIGv2/SIGv4混合配置、S3版本控制 |
|
perplexity_search |
通过困惑人工智能搜索互联网 |
perplexity_doc |
通过困惑AI的技术/库/API的技术文档 |
date |
操作日期/时间(现在、今天、差异、添加、格式化、解析、周数、周日)——fuseaux horaires |
calc |
Python Docker沙盒中的数学计算(表达式、数学、统计)-无网络 |
token |
MCP身份验证令牌管理(创建、列表、信息、撤销)-仅限管理员、工具ID隔离、所有者电子邮件 |
system_health |
服务健康 |
system_about |
元数据和工具列表 |
管理控制台(/admin)
web管理界面可在 /admin :
http://localhost:8082/admin
4视图 :仪表板(服务器状态)、工具(动态表单交互执行)、令牌(CRUD)、活动(实时日志)。
需要管理员身份验证(具有管理员权限的管理员引导密钥或S3令牌)。设计云神庙(黑暗主题)。仅限同一来源(无跨来源CORS)。
安全
- WAF球童+科拉萨 :OWASP CRS、安全标头、速率限制
- 认证持有者令牌 :每个请求/MCP都经过身份验证
tool_ids:令牌可以限制对工具子集的访问- 沙盒Docker :隔离临时容器中的每个shell/network/http命令(--cap drop=all,-read only,非root)
- 令牌管理器S3 存储在 Dell ECS S3 中的代币(
_tokens/{sha256}.json),TTL内存缓存5分钟,隔离tool_ids - 管理员来源相同 :控制台
/admin没有跨源CORS,API上需要身份验证管理 - 抗SSRF :DNS解析+阻止RFC 1918/Loopback/Metadata工具云
http和network - 非root用户 在Docker
- 超时和限制 在所有工具上
- 自动杀戮 超时时时的沙盒容器
环境变量
服务器(.env)
| 变量 | 描述 | 缺陷 |
|---|---|---|
WAF_PORT |
WAF端口暴露 | 8082 |
MCP_SERVER_NAME |
服务名称 | mcp-tools |
MCP_SERVER_PORT |
端口互联网MCP | 8050 |
ADMIN_BOOTSTRAP_KEY |
令牌管理员(⚠️ 改变!) | change_me_in_production |
S3_ENDPOINT_URL |
端点S3 | |
S3_ACCESS_KEY_ID S3访问密钥 |
||
S3_SECRET_ACCESS_KEY |
秘密S3 | |
S3_BUCKET_NAME |
存储桶S3 | mcp-tools |
PERPLEXITY_API_KEY |
CléAPI困惑 | |
PERPLEXITY_MODEL 困惑模型 |
sonar-reasoning-pro |
|
SANDBOX_DNS 网络沙盒的DNS |
8.8.8.8,8.8.4.4 |
客户端CLI
| 变量 | 描述 | 缺陷 |
|---|---|---|
MCP_URL |
服务器URL | http://localhost:8082 |
MCP_TOKEN |
认证令牌 | (见) |
文件结构
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
└── VERSION
在Cline中配置(VS代码/VSCodium)
浇注连接器MCP Toolsà 克莱恩,添加到您的 cline_mcp_settings.json
(可通过⚙️ Cline侧边栏中的MCP服务器):
{
"mcpServers": {
"mcp-tools": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://localhost:8082/mcp",
"headers": {
"Authorization": "Bearer VOTRE_TOKEN_ICI"
}
}
}
}
| 参数 | 值 | 描述 |
|---|---|---|
type |
streamableHttp |
强制性 -告诉Cline要使用的MCP传输 |
url |
http://localhost:8082/mcp |
端点流式HTTP(通过WAF, 总是 /mcp) |
timeout |
60 |
以秒为单位的超时(建议用于长工具) |
Authorization |
Bearer VOTRE_TOKEN |
Bootstrap密钥或令牌S3 |
disabled |
false |
允许在不删除配置的情况下禁用服务器 |
要使用特定工具创建Cline专用令牌:
python scripts/mcp_cli.py --token $ADMIN_BOOTSTRAP_KEY \
token create cline-dev --tools shell,http,network,date,calc,perplexity_search --expires 365
完整指南 :见
starter-kit/CLINE_SETUP.md用于OS配置文件路径、多服务器、调试等。
路线图
- 第一阶段 (actuel):shell、网络、http、ssh、文件、困惑搜索、困惑文档、日期、计算——✅
- 第一阶段 (待办事项):docker、generate、mcp-call
- 第2阶段 :git、s3、db、hostaudit、ssh-diagnostics、sqlite、scriptexecutor、email_send、pdf、doc_scraper
- 第三期 :意象、困惑、预防
许可证
Apache 2.0——云神庙
