pennylane-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_BEARER_TOKEN | No | Bearer token for OAuth authentication. Used in server mode as an alternative to MCP_OAUTH_PASSWORD. | |
| MCP_OAUTH_PASSWORD | No | OAuth password. Used in server mode as an alternative to MCP_BEARER_TOKEN. | |
| PENNYLANE_API_TOKEN | No | Your Pennylane API token. Required in all modes. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pennylane_whoamiA | Vérifie la connexion à l'API Pennylane et retourne les infos de l'utilisateur et de la société connectée. Utilisez cet outil en premier pour valider que le token est fonctionnel. Returns: str: JSON avec les informations du compte connecté. |
| pennylane_list_accountsA | Liste les comptes du plan comptable avec filtres et pagination. Utile pour consulter le plan comptable, chercher un compte par préfixe (411=clients, 401=fournisseurs, 512=banque, 6=charges, 7=produits). |
| pennylane_get_accountA | Récupère le détail d'un compte comptable par son identifiant. |
| pennylane_create_accountA | Crée un nouveau compte dans le plan comptable. Un numéro commençant par 401 crée automatiquement un fournisseur, par 411 un client. |
| pennylane_update_accountA | Modifie le libellé ou le statut lettrable d'un compte existant. |
| pennylane_list_journalsB | Liste tous les journaux comptables (ventes, achats, banque, OD, paie...) avec filtres optionnels par type. |
| pennylane_get_journalB | Récupère le détail d'un journal comptable par son identifiant. |
| pennylane_create_journalB | Crée un nouveau journal comptable. Codes classiques : VE (ventes), HA (achats), BQ (banque), OD (opérations diverses), PA (paie), RB (reprise de balance). |
| pennylane_list_entriesB | Liste les écritures comptables (pièces) avec filtres par journal et période. Chaque écriture contient des lignes équilibrées (débit = crédit). |
| pennylane_get_entryB | Récupère le détail complet d'une écriture comptable avec toutes ses lignes. |
| pennylane_create_entryB | Crée une nouvelle écriture comptable avec ses lignes. RÈGLE FONDAMENTALE : total débits = total crédits. Les montants sont des strings (ex: '1500.00'). |
| pennylane_update_entryA | Modifie une écriture existante. Permet de changer l'en-tête et de créer/modifier/supprimer des lignes. L'écriture doit rester équilibrée. |
| pennylane_list_entry_linesC | Liste les lignes d'écriture d'une pièce comptable spécifique. |
| pennylane_list_all_entry_linesA | Liste toutes les lignes d'écriture comptable avec filtres par journal, compte et période. Utile pour analyser les mouvements d'un compte ou d'un journal sur une période. |
| pennylane_get_entry_lineB | Récupère le détail d'une ligne d'écriture comptable. |
| pennylane_letter_linesA | Lettre (rapproche) des lignes d'écriture entre elles. Permet de pointer des factures avec des règlements. Les lignes doivent appartenir au même compte (ex: 411xxx client). Par défaut, débit total = crédit total. |
| pennylane_unletter_linesA | Supprime le lettrage de lignes d'écriture. Utile pour corriger un rapprochement erroné. |
| pennylane_link_categoriesB | Associe des catégories analytiques à une ligne d'écriture. Chaque catégorie a un poids (0 à 1, somme = 1). |
| pennylane_list_line_categoriesB | Liste les catégories analytiques associées à une ligne d'écriture. |
| pennylane_list_lettered_linesA | Liste les lignes lettrées (rapprochées) avec une ligne donnée. Permet de voir quels règlements sont pointés avec quelles factures. |
| pennylane_get_trial_balanceA | Récupère la balance générale pour une période donnée. Retourne chaque compte avec ses totaux débit/crédit. Essentiel pour les travaux de clôture, la vérification des soldes, et la préparation des états financiers. L'outil pagine automatiquement pour récupérer TOUS les comptes (classes 1 à 7) afin de garantir des totaux exacts. |
| pennylane_list_fiscal_yearsA | Liste les exercices fiscaux avec leurs dates et statuts (open, closed, frozen). Utile pour connaître les périodes comptables. |
| pennylane_list_customersA | Liste les clients (entreprises et particuliers) avec filtres et pagination. Utile pour consulter la base clients, rechercher un client par nom ou type. |
| pennylane_get_customerA | Récupère le détail d'un client par son identifiant. Retourne les informations complètes (adresse, contacts, conditions de paiement). |
| pennylane_create_company_customerA | Crée un nouveau client de type entreprise (société). Le nom (raison sociale) est obligatoire. |
| pennylane_create_individual_customerA | Crée un nouveau client de type particulier (personne physique). Le prénom et le nom sont obligatoires. |
| pennylane_update_company_customerA | Modifie un client entreprise existant. Seuls les champs fournis sont mis à jour. |
| pennylane_update_individual_customerA | Modifie un client particulier existant. Seuls les champs fournis sont mis à jour. |
| pennylane_list_suppliersA | Liste les fournisseurs avec filtres et pagination. Utile pour consulter la base fournisseurs, rechercher un fournisseur par nom. |
| pennylane_get_supplierA | Récupère le détail d'un fournisseur par son identifiant. Retourne les informations complètes (adresse, SIRET, IBAN, conditions de paiement). |
| pennylane_create_supplierC | Crée un nouveau fournisseur. Le nom est obligatoire. |
| pennylane_update_supplierB | Modifie un fournisseur existant. Seuls les champs fournis sont mis à jour. |
| pennylane_list_customer_invoicesA | Liste les factures clients (et avoirs, montant négatif), en mode compact par défaut. Filtré côté Pennylane : customer_id, date_from, date_to. L'API ne filtre ni par
statut, ni par échéance, ni par montant.
Filtré localement : status, unpaid_only, deadline_before. Dans ce cas l'outil pagine seul
(plafond 1 000 documents), renvoie toutes les correspondances et indique
« Payé » : le champ |
| pennylane_get_customer_invoiceA | Récupère le détail complet d'une facture client par son identifiant, en un appel.
Les lignes ( |
| pennylane_create_customer_invoiceA | Crée une nouvelle facture client (brouillon par défaut). Nécessite un client, une date, une échéance et au moins une ligne. |
| pennylane_update_customer_invoiceA | Modifie une facture client (brouillon uniquement). Seuls les champs fournis sont mis à jour. |
| pennylane_list_customer_invoice_linesC | Liste les lignes (articles) d'une facture client spécifique. |
| pennylane_finalize_customer_invoiceA | Transforme un brouillon de facture client en facture finalisée. Attention : cette action est irréversible. La facture reçoit un numéro définitif. |
| pennylane_mark_customer_invoice_paidA | Marque une facture client finalisée comme payée. |
| pennylane_list_supplier_invoicesB | Liste les factures fournisseurs avec filtres et pagination. Utile pour consulter les factures reçues, filtrer par statut ou fournisseur. |
| pennylane_get_supplier_invoiceA | Récupère le détail complet d'une facture fournisseur. Retourne toutes les informations : montants, lignes, statut, fournisseur. |
| pennylane_update_supplier_invoiceA | Modifie une facture fournisseur. Seuls les champs fournis sont mis à jour. |
| pennylane_list_supplier_invoice_linesA | Liste les lignes (articles) d'une facture fournisseur spécifique. |
| pennylane_update_supplier_invoice_payment_statusC | Met à jour le statut de paiement d'une facture fournisseur. |
| pennylane_list_productsA | Liste les produits/services du catalogue avec filtres et pagination. Utile pour consulter le catalogue, rechercher un produit par nom. |
| pennylane_get_productA | Récupère le détail d'un produit par son identifiant. Retourne : libellé, prix HT, TVA, unité, compte comptable associé. |
| pennylane_create_productB | Crée un nouveau produit/service dans le catalogue. Le libellé, le prix HT et le taux de TVA sont obligatoires. |
| pennylane_update_productA | Modifie un produit existant. Seuls les champs fournis sont mis à jour. |
| pennylane_list_quotesA | Liste les devis avec filtres et pagination, en mode compact par défaut. Utile pour consulter les devis émis, filtrer par statut ou client. |
| pennylane_get_quoteA | Récupère le détail complet d'un devis par son identifiant. Retourne toutes les informations : montants, lignes, statut, client. |
| pennylane_create_quoteB | Crée un nouveau devis. Nécessite un client, une date, une échéance et au moins une ligne. |
| pennylane_update_quoteB | Modifie un devis existant. Seuls les champs fournis sont mis à jour. |
| pennylane_update_quote_statusB | Met à jour le statut d'un devis (accepté, refusé, facturé, etc.). |
| pennylane_send_quote_by_emailB | Envoie un devis par email au client ou à des destinataires spécifiques. |
| pennylane_list_quote_linesA | Liste les lignes (articles) d'un devis spécifique. |
| pennylane_list_quote_sectionsC | Liste les sections de lignes d'un devis. |
| pennylane_list_category_groupsA | Liste tous les groupes de catégories analytiques. Chaque groupe contient des catégories utilisées pour la ventilation analytique. |
| pennylane_get_category_groupB | Récupère le détail d'un groupe de catégories par son identifiant. |
| pennylane_list_categoriesA | Liste les catégories analytiques avec filtres et pagination. Utile pour consulter les axes analytiques disponibles. |
| pennylane_get_categoryB | Récupère le détail d'une catégorie analytique par son identifiant. |
| pennylane_list_group_categoriesB | Liste les catégories appartenant à un groupe spécifique. |
| pennylane_create_categoryB | Crée une nouvelle catégorie analytique dans un groupe. Le libellé et l'ID de groupe sont obligatoires. |
| pennylane_update_categoryB | Modifie une catégorie analytique existante. Seuls les champs fournis sont mis à jour. |
| pennylane_create_fec_exportA | Crée un export FEC (Fichier des Écritures Comptables) pour une période. L'export est asynchrone : utilisez pennylane_get_fec_export pour récupérer le fichier une fois le statut 'ready'. |
| pennylane_get_fec_exportA | Récupère le détail d'un export FEC. Retourne le statut (pending/ready/error) et l'URL de téléchargement si prêt (expire dans 10 minutes). |
| pennylane_create_agl_exportA | Crée un export Grand Livre Analytique (AGL) pour une période. L'export est asynchrone : utilisez pennylane_get_agl_export pour récupérer le fichier. |
| pennylane_get_agl_exportA | Récupère le détail d'un export Grand Livre Analytique. Retourne le statut et l'URL de téléchargement si prêt. |
| pennylane_list_billing_subscriptionsA | Liste les abonnements de facturation récurrente avec filtres et pagination. Utile pour consulter les abonnements actifs, filtrer par client ou statut. |
| pennylane_get_billing_subscriptionB | Récupère le détail complet d'un abonnement de facturation. |
| pennylane_create_billing_subscriptionB | Crée un nouvel abonnement de facturation récurrente. Nécessite un client, une date de début, une règle de récurrence et des lignes. |
| pennylane_update_billing_subscriptionA | Modifie un abonnement de facturation existant. Seuls les champs fournis sont mis à jour. |
| pennylane_list_subscription_linesC | Liste les lignes de facturation d'un abonnement. |
| pennylane_list_subscription_sectionsC | Liste les sections de lignes d'un abonnement de facturation. |
| pennylane_changelog_customersD | – |
| pennylane_changelog_suppliersD | – |
| pennylane_changelog_productsD | – |
| pennylane_changelog_customer_invoicesD | – |
| pennylane_changelog_supplier_invoicesD | – |
| pennylane_changelog_quotesD | – |
| pennylane_changelog_entry_linesD | – |
| pennylane_changelog_transactionsD | – |
| pennylane_list_dossiersA | Liste tous les dossiers comptables configurés avec leur statut. Les tokens sont masqués pour la sécurité. |
| pennylane_current_dossierA | Affiche le dossier comptable actuellement actif avec les informations de connexion Pennylane (via /me). |
| pennylane_switch_dossierA | Bascule vers un autre dossier comptable. Toutes les requêtes suivantes utiliseront ce dossier par défaut. Vérifie la connexion avec l'endpoint /me après le switch. |
| pennylane_add_dossierA | Ajoute un nouveau dossier comptable à la configuration. Le token est vérifié avec l'endpoint /me avant l'ajout. Si c'est le premier dossier, il devient automatiquement actif. |
| pennylane_remove_dossierA | Supprime un dossier comptable de la configuration. Si le dossier supprimé était actif, le premier dossier restant devient actif automatiquement. |
| pennylane_multi_dossier_queryA | Exécute une requête GET en parallèle sur plusieurs dossiers. Utile pour comparer des données entre clients ou consolider des informations (ex: balances, comptes, exercices). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 87 tools
Many tools target distinct resources and actions, but several line/section/category tools overlap in purpose (e.g. list_entry_lines vs list_all_entry_lines, list_categories vs list_group_categories vs list_category_groups). The undescribed changelog_* tools add further ambiguity, though most descriptions do help clarify boundaries.
All tools use the pennylane_ prefix and snake_case, and most follow a predictable verb_noun pattern. A few names break the pattern (changelog_customers, current_dossier, multi_dossier_query), but the overall convention is clear.
87 tools is an extreme mismatch for a single MCP server and far exceeds the 50+ threshold for a severe over-scoping. Even accounting for the broad domain, many CRUD variants could be consolidated or omitted.
The surface covers many accounting resources, including accounts, journals, entries, invoices, quotes, subscriptions, exports, and dossier management. However, delete operations are missing for most resources, journals lack update, and supplier invoices lack a create tool, creating notable lifecycle gaps.