# IRCAM Amplify MCP Server Constitution
## Vision
Fournir un serveur MCP (Model Context Protocol) open-source permettant à tout modèle d'IA compatible d'interagir avec les API IRCAM Amplify pour le traitement audio professionnel (analyse musicale, traitement vocal, outils de conversion).
## Core Principles
### I. MCP-First Design
- Toute fonctionnalité exposée respecte le protocole MCP (tools, resources, prompts)
- Chaque tool MCP correspond à un endpoint ou groupe d'endpoints cohérent de l'API IRCAM Amplify
- Les réponses sont structurées pour être facilement exploitables par les LLMs
- Documentation inline des tools pour l'auto-découverte par les modèles
### II. Developer Experience
- Installation simple : `npm install` ou `npx` pour démarrer
- Configuration minimale : variables d'environnement pour les credentials IRCAM
- Exemples concrets pour chaque tool dans la documentation
- Messages d'erreur explicites et actionnables
### III. Sécurité & Credentials
- Les tokens d'authentification IRCAM ne sont JAMAIS exposés dans les logs ou réponses
- Support des variables d'environnement pour la configuration sensible
- Validation des entrées avant tout appel API
- Aucun credential codé en dur dans le code source
### IV. Qualité & Tests
- Tests unitaires pour la logique de transformation des données
- Tests d'intégration avec mocks pour les appels API IRCAM
- Couverture de code minimum : 80%
- Linting et formatting automatiques (ESLint, Prettier)
### V. Documentation Vivante
- README complet avec quick-start, exemples et troubleshooting
- Chaque tool MCP documenté avec ses paramètres et cas d'usage
- CHANGELOG maintenu à jour selon Keep a Changelog
- Contribution guide pour les contributeurs externes
### VI. Open Source Best Practices
- Licence MIT pour maximiser l'adoption
- Code of Conduct pour une communauté inclusive
- Issues templates pour bugs et feature requests
- PR template avec checklist de qualité
- Semantic versioning (MAJOR.MINOR.PATCH)
## Stack Technique
| Composant | Choix | Justification |
|-----------|-------|---------------|
| Runtime | Node.js 18+ | Écosystème MCP mature, TypeScript natif |
| Langage | TypeScript | Typage fort, meilleure DX, documentation auto |
| MCP SDK | @modelcontextprotocol/sdk | SDK officiel Anthropic |
| HTTP Client | fetch natif | Pas de dépendance externe |
| Tests | Vitest | Rapide, compatible TypeScript |
| Build | tsup | Simple, rapide, ESM + CJS |
## Structure du Projet
```
├── src/
│ ├── index.ts # Point d'entrée MCP server
│ ├── tools/ # Un fichier par tool MCP
│ ├── resources/ # Resources MCP (documentation API)
│ ├── utils/ # Helpers (auth, validation, etc.)
│ └── types/ # Types TypeScript partagés
├── tests/
├── docs/
├── examples/
└── README.md
```
## Governance
- Cette constitution guide toutes les décisions architecturales
- Les modifications majeures nécessitent une issue de discussion préalable
- Les PRs doivent passer les checks CI (tests, lint, build)
- Toute nouvelle fonctionnalité doit inclure tests et documentation
**Version**: 1.0.0 | **Ratified**: 2025-12-12 | **Last Amended**: 2025-12-12