Paramètres de collection
Les paramètres de collection définissent un seul fichier de spécification OpenAPI/Swagger/Postman et remplacent les paramètres de spécification pour ce fichier spécifique. Chaque collection appartient à une spécification et représente un document de spécification API.
Section de collection
yaml
specs:
- domain: meteo
llm_title: Open-Meteo Weather APIs
base_url: https://api.open-meteo.com
collections:
- llm_title: Forecast
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/forecast.yml
llm_instruction: "Utiliser pour les données météorologiques actuelles et prévisionnelles"
disable: false
base_url: https://forecast-api.open-meteo.com
base_mock_url: localhost:8081
http_client:
timeout: 5sParamètres
llm_title
- Type :
string - Obligatoire : Non
- Description : Nom lisible pour cette collection. Affiché dans les réponses des outils MCP.
- Règles : 120 caractères maximum. Uniquement lettres, chiffres, espaces et ponctuation de base.
- Exemple :
Forecast,Air Quality,Market Data
llm_instruction
- Type :
string - Valeur par défaut :
"" - Description : Instructions pour le LLM concernant cette collection spécifique. Décrit les points de terminaison que cette collection fournit.
- Règles : 360 caractères maximum. Uniquement lettres, chiffres, espaces et ponctuation de base.
- Exemple :
"Utiliser pour les données météorologiques actuelles et prévisionnelles."
title
- Type :
string - Valeur par défaut :
"" - Description : Titre brut provenant du fichier de spécification. Rempli automatiquement à l'exécution. Vous n'avez généralement pas besoin de le définir dans le YAML.
location
- Type :
string - Obligatoire : Oui
- Description : URL ou chemin de fichier local vers le fichier de spécification OpenAPI 3.x, Swagger 2.0 ou Postman.
- Règles : 5 à 250 caractères.
- Exemples :
- URL :
https://raw.githubusercontent.com/org/repo/main/spec.yaml - Local :
./specs/mon-api.json - Local (absolu) :
/home/utilisateur/.swag2mcp/specs/mon-api.yaml
- URL :
disable
- Type :
bool - Valeur par défaut :
false - Description : Lorsqu'il est
true, cette collection est exclue des outils MCP. Elle n'est pas chargée ni indexée. - Quand l'utiliser : Désactiver temporairement une collection sans la supprimer de la configuration. Utile lorsqu'un fichier de spécification est en cours de mise à jour ou qu'une version d'API est obsolète.
http_client
- Type :
object - Valeur par défaut : hérite de la spécification (ou du global)
- Description : Remplace les paramètres du client HTTP pour cette collection. Tous les paramètres du
http_clientglobal peuvent être remplacés :timeout,max_response_size,user_agent,follow_redirects,max_redirects,random,proxy,headers,cookies. - Exemple :yaml
http_client: timeout: 120s headers: "X-Custom": "valeur" cookies: - name: "session" value: "abc123"
base_url
- Type :
string - Valeur par défaut :
""(hérite de la spécification) - Description : Remplace le
base_urldu niveau spécification pour cette collection. À utiliser lorsque différentes collections au sein d'une même spécification utilisent des URL de base différentes. - Exemple : Si la spécification a
base_url: https://api.open-meteo.commais qu'une collection utilisehttps://air-quality-api.open-meteo.com, définissezbase_urlau niveau de la collection.
base_mock_url
- Type :
string - Valeur par défaut :
"" - Description : Adresse du serveur de simulation au format
host:port. Requis lorsquemock_enabled: truedans la configuration globale. - Règles : L'hôte doit être
localhost,127.0.0.1ou0.0.0.0. Le port doit être un numéro de port valide. - Exemple :
localhost:8081,127.0.0.1:9000 - Quand l'utiliser : Vous avez
mock_enabled: trueet vous souhaitez tester cette collection avec des réponses factices.
Plusieurs collections à partir d'une même spécification
Une spécification peut avoir plusieurs collections — par exemple, lorsqu'une API a des fichiers de spécification distincts pour différents services :
yaml
specs:
- domain: meteo
llm_title: Open-Meteo Weather APIs
base_url: https://api.open-meteo.com
collections:
- llm_title: Forecast
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/forecast.yml
- llm_title: Air Quality
base_url: https://air-quality-api.open-meteo.com
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/air-quality.yml
- llm_title: Marine
base_url: https://marine-api.open-meteo.com
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/marine.ymlDésactivation d'une collection
yaml
specs:
- domain: meteo
llm_title: Open-Meteo Weather APIs
base_url: https://api.open-meteo.com
collections:
- llm_title: Forecast
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/forecast.yml
- llm_title: Air Quality
base_url: https://air-quality-api.open-meteo.com
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/air-quality.yml
disable: trueRemplacement du client HTTP
Tous les paramètres http_client peuvent être remplacés au niveau de la collection. Les valeurs de la collection prévalent sur les valeurs de la spécification et du global pour cette collection uniquement.
yaml
specs:
- domain: meteo
llm_title: Open-Meteo Weather APIs
base_url: https://api.open-meteo.com
collections:
- llm_title: Forecast
location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/meteo/forecast.yml
http_client:
timeout: 120s
headers:
"X-Custom": "valeur"
cookies:
- name: "session"
value: "abc123"