ACI.dev: plateforme d'appel d'outils unifié avec 600+ intégrations
Ce projet transforme « ACI.dev is the open source tool-calling platform that hooks up 600+ tools into any agentic IDE or custom AI agent through direct function calling or a unified MCP server. The birthplace of VibeOps. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.
En bref
- De quoi s’agit-il ?
- Plateforme open source d'agrégation d'outils exposant 600+ services via un serveur MCP unique, avec authentification multi-locataire, permissions granulaires et SDK Python/TypeScript.
- À qui s’adresse-t-il ?
- ACI.dev s'adresse aux équipes construisant des agents IA nécessitant accès à plusieurs services externes (Vercel, Supabase, Google Calendar, Slack) sans implémenter manuellement chaque flux OAuth2. Les équipes sans infrastructure cloud ou utilisant un seul service externe devraient considérer des solutions plus légères.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 111 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Architecture backend et couches d'intégration
ACI.dev est une plateforme open source d'appel d'outils qui expose plus de 600 intégrations à des agents IA via un serveur Model-Context-Protocol (MCP) unifié ou des SDK directs (Python, TypeScript). Le dépôt principal (aipotheosis-labs/aci) contient trois composants: le backend FastAPI fournissant les points de terminaison API, l'orchestration de l'authentification et l'exécution des outils; la base de données PostgreSQL avec pgvector pour la recherche vectorielle; et la CLI pour les tests locaux. Le frontend est dans un dépôt séparé. Les métadonnées indiquent 4 887 étoiles, 484 forks, 63 issues ouvertes et une dernière mise à jour le 1er décembre 2024. L'architecture supporte l'authentification multi-locataire permettant à plusieurs développeurs et utilisateurs finaux de connecter leurs propres identifiants de service.
Serveur MCP unifié et accès aux outils
Le serveur MCP unifié (aci-mcp, dépôt séparé) expose toutes les 600+ intégrations via un seul point de terminaison MCP que n'importe quel IDE agentique (Claude, Codeium, Cursor, etc.) peut consommer. Plutôt que d'implémenter des flux OAuth2 distincts et des clients API pour Google Calendar, Slack, GitHub, Vercel et d'autres, un agent configure simplement le serveur MCP unifié avec ses identifiants une fois et accède à tous les outils via des appels de fonction normalisés. Cette approche élimine la surcharge de contexte du modèle (LLM) en cachant les détails de 600 services derrière une interface cohérente. Les utilisateurs peuvent également utiliser les SDK Python et TypeScript pour l'accès direct si l'approche MCP ne convient pas à leur architecture.
Authentification multi-locataire et gestion des secrets
ACI.dev intègre les flux OAuth2 pour les applications SaaS grand public (Google, Slack, GitHub, etc.) et la gestion des secrets pour les clés API et les jetons. Chaque service supporté expose ses exigences d'authentification via un modèle de configuration. L'authentification multi-locataire signifie qu'un serveur ACI.dev peut servir plusieurs organisations ou développeurs, chacun apportant ses propres identifiants de service. Le flux de développement local utilise des identifiants OAuth2 factices et des services simulés (LocalStack pour AWS) pour éviter d'exposer les secrets pendant le développement. La documentation de PropelAuth dans le README couvre la configuration pour les développeurs travaillant sur le portail de développement; elle nécessite ngrok, les webhooks PropelAuth et l'édition du fichier compose.yml.
Permissions granulaires et découverte dynamique d'outils
ACI.dev fournit aux agents une « découverte dynamique d'outils » permettant au LLM de voir quels outils sont disponibles dans son contexte sans que tous les 600+ outils ne surchargent la fenêtre de contexte. Les permissions granulaires garantissent qu'un agent ne peut appeler que les outils auxquels il a accès: les limites de permissions en langage naturel définissent le périmètre des capacités de l'agent de façon lisible. Cela contraste avec les approches ou tous les outils sont exposés, risquant la confusion du modèle ou des appels d'outils non autorisés. Le README énumère les cas d'usage VibeOps (automation DevOps via Vercel, Supabase, Cloudflare, Sentry), les chatbots assistants personnels, les agents de recherche, les agents de vente et les agents de support client.
Développement local et configuration avec Docker Compose
La configuration locale requiert Python 3.12+, Docker avec Docker Compose et le gestionnaire uv. Après git clone, les étapes sont uv sync, pre-commit install, copie de .env.example vers .env.local, puis docker compose up --build. Cela lance le serveur FastAPI, PostgreSQL, LocalStack (simulateur AWS), et un conteneur test-runner pour pytest et scripts CLI. Le script de seed par défaut crée un projet de démonstration, un agent, une clé API et trois applications exemple (Brave Search, Hacker News, Gmail) avec identifiants factices. Pour charger toutes les 600+ applications, il faut soit configurer manuellement des secrets OAuth2, soit utiliser --all --mock pour les valoriser localement. La documentation API est accessible sur /v1/notforhuman-docs.
Migrations de base de données et tests
Les changements de schéma commencent par alembic check pour détecter les divergences, puis alembic revision --autogenerate pour générer un fichier de migration, suivi d'une revue manuelle (le README avertit explicitement de vérifier les imports pgvector, les index, la configuration d'extension vectorielle). Les migrations s'appliquent avec alembic upgrade head et s'annulent avec downgrade -1. Les tests s'exécutent dans le conteneur test-runner avec pytest. Le README n'expose pas le nombre de tests, la couverture attendue ou les résultats actuels. Le style de code est appliqué par ruff, mypy et les hooks pre-commit. Les contributions doivent passer tous les vérifications.
Pipeline d'évaluation et intégration Stripe
Le dépôt inclut un pipeline d'évaluation pour évaluer la recherche d'outils et l'exécution de fonctions en trois modes: generate-and-evaluate (générer des cas de test et les évaluer), generate-only, et evaluate-only. Quatre variables d'environnement sont requises: URL serveur, clé API, clé OpenAI et clé Weights & Biases. Les résultats sont enregistrés dans un projet Weights & Biases public. Le README ne rapporte aucun benchmark ou résultat de précision. La configuration de Stripe concerne le développement des fonctionnalités de facturation; elle utilise la CLI Stripe pour transférer les événements de webhook vers le point de terminaison local. Ces fonctionnalités sont destinées au développement local, non à la production.
Outils CLI administrateur et approche open source
Une CLI d'administration interne gère les applications, les fonctions, les utilisateurs et l'enregistrement. Les commandes incluent create-agent, upsert-app, fuzzy-test-function-execution et d'autres. Le README énumère les commandes disponibles via --help mais ne documente pas chaque paramètre. Le projet est open source Apache-2.0 sans restriction de redistribution ou de modification; la licence n'accorde ni garantie ni engagement de support formalisé. Le README invite les contributions via le fichier CONTRIBUTING.md (non montré) et les demandes d'intégration via un modèle GitHub Issues. Les liens principaux couvrent le site managé (aci.dev), la documentation, la liste des outils (aci.dev/tools), les SDK Python/TypeScript, le serveur MCP unifié, des exemples d'agents, le blog et la communauté Discord.
Conclusion éditoriale
ACI.dev s'adresse aux équipes construisant des agents IA nécessitant accès à plusieurs services externes (Vercel, Supabase, Google Calendar, Slack) sans implémenter manuellement chaque flux OAuth2. Les équipes sans infrastructure cloud ou utilisant un seul service externe devraient considérer des solutions plus légères. Avant adoption, vérifiez que les 600+ outils couvrent vos besoins en consultant aci.dev/tools et testez le serveur MCP unifié localement.
Notes de la communauté