FranckDubray/dragonfly-mcp-server
3.2
If you are the rightful owner of dragonfly-mcp-server 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.
Dragonfly MCP Server is a multi-tool server built with FastAPI, featuring auto-discovery of tools and a web control panel.
Tools
6
Resources
0
Prompts
0
Dragonfly MCP Server
Serveur MCP (Model Context Protocol) simple et robuste, avec ~59 tools prêts à l’emploi:
- Appels JSON unifiés via /execute
- UI web légère: Control Panel (tools) et Workers (realtime)
- Observabilité intégrée (SQLite, status, métriques)
- Outils variés: LLM, data, web/docs, intégrations, cartes, médias, e‑mail, Discord, chess, météo/astro…
Compatibilité MCP & Portail
- 100% compatible MCP (spec) avec extensions « addon » (superset MCP, jamais moins)
- Intégration prête pour le portail ai.dragonflygroup.fr
Liens rapides
- Control Panel: http://localhost:8000/control
- Workers: http://localhost:8000/workers
- Changelog: CHANGELOG.md
- Specs tools: src/tool_specs/*.json
🚀 Quickstart
# Installation
pip install -e .
# Configuration
cp .env.example .env
# Édite .env (clés API, endpoints, ports…)
# Lancer le serveur
./scripts/dev.sh # Unix/Mac
./scripts/dev.ps1 # Windows
# ou
python src/server.py
# UIs
http://localhost:8000/control
http://localhost:8000/workers
🧰 Appeler un tool (/execute)
Chaque tool se consomme en JSON:
{ "tool": "<tool_name>", "params": { ... } }
Exemples
- Date/heure:
{ "tool": "date", "params": { "operation": "now", "format": "%Y-%m-%dT%H:%M:%S", "tz": "UTC" } }
- SQLite (SELECT):
{ "tool": "sqlite_db", "params": { "operation": "query", "db": "example.db", "query": "SELECT 1 AS ok" } }
- LLM:
{ "tool": "call_llm", "params": { "model": "gpt-4o-mini", "messages": [{ "role": "user", "content": "Hello" }] } }
Découvrir les tools
- UI: Control Panel (liste, recherche, formulaires)
- Specs: src/tool_specs/*.json (nom, description, schéma)
👀 Observation (workers)
- UI Workers: suivi en temps réel (exécutions, métriques).
- Streaming passif (SSE/NDJSON): 1 évènement par étape + 1 évènement “updated” en fin d’étape, avec contexte IO (appel + aperçu). L’observation n’altère pas l’exécution.
🧾 Stockage & Observabilité
- Base SQLite par worker: sqlite3/worker_
.db - journalisation des étapes (INSERT/UPDATE), état, métriques
- Status/métriques: affichés dans l’UI et via endpoints dédiés
- Logs HTTP/API: console + UIs
🗂️ Catégories de tools (exemples)
- Intelligence: call_llm, stockfish
- Données/IO: sqlite_db, json_ops, array_ops, template_map, date
- Web/Docs: universal_doc_scraper
- Intégrations: reddit_intelligence, chess_com, lichess, coingecko
- Cartes & géoloc: google_maps, device_location
- Média/traitement: ffmpeg_frames
- Météo/Aéronautique/Astro: aviation_weather, astronomy
- Communication: email_send, discord_webhook, discord_bot
- Utilitaires: sanitize_text, coerce_number, json_stringify, arithmetic
(Consulte la UI et src/tool_specs pour la liste complète.)
🧪 Bonnes pratiques
- Utiliser le Control Panel pour tester les tools rapidement (params validés).
- Renseigner .env pour activer les intégrations (API keys).
- Vérifier la DB worker en cas d’investigation (job_steps, métriques).
📦 Dev & scripts
- Endpoint unique: /execute (appel tools)
- Specs JSON par tool: src/tool_specs/*.json
- Scripts utilitaires: scripts/* (export, diagnostic…)
📝 Changelog
Voir CHANGELOG.md (versions et évolutions).