MCP 服务器

OpenLMNP

io.github.manganate006/openlmnp
金融与投资 法律与合规 房地产 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Manages French LMNP furnished-rental accounting, including income, expenses, depreciation, loans, VAT, fiscal calculations, FEC files, and tax returns.

attach_document
Attach Document
Attache un document justificatif (facture, reçu, devis) à une charge, un mobilier ou un poste de travaux. Trois modes d'entrée mutuellement exclusifs : file_base64 (contenu encodé), file_path (chemin absolu sur le serveur, nécessite MCP_FILE_PATH_PREFIX), file_url (URL http/https téléchargée par le serveur). Le chemin de stockage est : documents/{user_id}/{type}/{filename}.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['type', 'record_id', 'label'], 'properties': {'type': {'type': 'string'}, 'label': {'type': 'string'}, 'amount': {'type': ['number', 'null']}, 'file_url': {'type': ['string', 'null']}, 'filename': {'type': ['string', 'null']}, 'file_path': {'type': ['string', 'null']}, 'record_id': {'type': 'integer'}, 'file_base64': {'type': ['string', 'null']}, 'document_date': {'type': ['string', 'null']}}}
compare_micro_bic
Compare Micro Bic
Compare le régime micro-BIC et le régime réel pour une année fiscale. Calcule le résultat imposable dans chaque régime et indique lequel est le plus avantageux. L'abattement micro-BIC est de 50 % pour les meublés classés, 30 % pour les non classés (loi Le Meur 2026). Tous les montants sont en euros.
只读
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}, 'abatement_rate': {'type': 'number'}}}
compute_depreciation
Compute Depreciation
Calcule le détail des amortissements LMNP pour un bien immobilier et une année donnée. Retourne la ventilation par composant immeuble, travaux et mobilier, ainsi que le total annuel, tous les montants exprimés en euros.
只读
输入模式
{'type': 'object', 'required': ['property_id', 'year'], 'properties': {'year': {'type': 'integer'}, 'property_id': {'type': 'integer'}}}
compute_fiscal_year
Compute Fiscal Year
Calcule le résultat fiscal complet d'un exercice LMNP pour une année donnée : recettes, charges, amortissements (avec plafonnement et report), résultat fiscal net, et solde TVA. Crée l'exercice s'il n'existe pas encore. Tous les montants sont retournés en euros.
幂等
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}}}
compute_loan_schedule
Compute Loan Schedule
Génère (ou régénère) le tableau d'amortissement d'un emprunt immobilier. Supprime les échéances existantes et recalcule toutes les mensualités (capital, intérêts, assurance). Retourne un résumé financier ainsi que la première et la dernière échéance. Tous les montants sont en euros.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['loan_id'], 'properties': {'loan_id': {'type': 'integer'}}}
compute_tva
Compute Tva
Calcule la déclaration de TVA pour les biens para-hôteliers assujettis (régime TVA liable) sur une année donnée. Retourne la TVA collectée, déductible et le solde à payer ou à récupérer, ventilés par bien, par taux et par trimestre. Tous les montants sont en euros.
只读
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}}}
create_expense
Create Expense
Crée une charge d'exploitation pour un bien LMNP. Le montant est en euros. Catégories disponibles : property_tax, insurance, energy, maintenance, supplies, platform_fees, accounting, telecom, travel, cleaning, other.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['property_id', 'expense_date', 'amount', 'category', 'description'], 'properties': {'notes': {'type': ['string', 'null']}, 'amount': {'type': 'number'}, 'category': {'type': 'string'}, 'tva_rate': {'type': ['number', 'null']}, 'description': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'expense_date': {'type': 'string'}, 'is_dedicated': {'type': ['boolean', 'null']}, 'recurring_type': {'type': ['string', 'null']}}}
create_furniture
Create Furniture
Crée un élément de mobilier amortissable pour un bien LMNP. Le montant est en euros. La durée d'amortissement est de 5 ans par défaut (3 ans pour le mobilier d'occasion). L'amortissement annuel est calculé automatiquement.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['property_id', 'description', 'amount', 'purchase_date'], 'properties': {'amount': {'type': 'number'}, 'tva_rate': {'type': ['number', 'null']}, 'description': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'is_dedicated': {'type': ['boolean', 'null']}, 'purchase_date': {'type': 'string'}, 'duration_years': {'type': ['integer', 'null']}, 'is_second_hand': {'type': ['boolean', 'null']}}}
create_income
Create Income
Crée un revenu locatif pour un bien LMNP. Le montant est en euros (ex: 125.50). La source peut être : airbnb, booking, abritel, direct, other.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['property_id', 'income_date', 'amount', 'source'], 'properties': {'notes': {'type': ['string', 'null']}, 'amount': {'type': 'number'}, 'source': {'type': 'string'}, 'tva_rate': {'type': ['number', 'null']}, 'guest_name': {'type': ['string', 'null']}, 'income_date': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'tourist_tax': {'type': ['number', 'null']}, 'checkin_date': {'type': ['string', 'null']}, 'platform_fee': {'type': ['number', 'null']}, 'checkout_date': {'type': ['string', 'null']}, 'reservation_ref': {'type': ['string', 'null']}}}
create_property
Create Property
Crée un nouveau bien immobilier LMNP pour l'utilisateur connecté. Les montants (acquisition_price, notary_fees, market_value) sont en euros. Les surfaces (total_area, rented_area) sont en m². Type : apartment, house, room, studio, other. Rental type : seasonal, long_term, mixed. TVA : exempt, liable.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['name', 'acquisition_date', 'acquisition_price'], 'properties': {'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'notes': {'type': 'string'}, 'address': {'type': 'string'}, 'total_area': {'type': 'integer'}, 'tva_regime': {'type': 'string'}, 'agency_fees': {'type': 'number'}, 'notary_fees': {'type': 'number'}, 'postal_code': {'type': 'string'}, 'rental_type': {'type': 'string'}, 'rented_area': {'type': 'integer'}, 'market_value': {'type': 'number'}, 'land_percentage': {'type': 'integer'}, 'acquisition_date': {'type': 'string'}, 'acquisition_price': {'type': 'number'}, 'market_value_date': {'type': 'string'}, 'rental_start_date': {'type': 'string'}, 'is_primary_residence': {'type': 'boolean'}}}
create_property_work
Create Property Work
Crée un poste de travaux immobiliers amortissables pour un bien LMNP. Le montant est en euros. La durée d'amortissement est de 10 ans par défaut. L'amortissement annuel est calculé automatiquement en tenant compte de la quote-part si le poste n'est pas dédié.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['property_id', 'description', 'amount', 'work_date'], 'properties': {'amount': {'type': 'number'}, 'tva_rate': {'type': ['number', 'null']}, 'work_date': {'type': 'string'}, 'description': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'is_dedicated': {'type': ['boolean', 'null']}, 'duration_years': {'type': ['integer', 'null']}}}
delete_document
Delete Document
Supprime un document justificatif par son identifiant. Le fichier physique est également supprimé du stockage. Cette action est irréversible.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['document_id'], 'properties': {'document_id': {'type': 'integer'}}}
delete_expense
Delete Expense
Supprime une charge d'exploitation par son identifiant. Les documents justificatifs associés sont également supprimés. Cette action est irréversible.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['expense_id'], 'properties': {'expense_id': {'type': 'integer'}}}
delete_furniture
Delete Furniture
Supprime un élément de mobilier par son identifiant. Les documents justificatifs associés sont également supprimés. Cette action est irréversible.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['furniture_id'], 'properties': {'furniture_id': {'type': 'integer'}}}
delete_income
Delete Income
Supprime un revenu locatif par son identifiant. Cette action est irréversible.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['income_id'], 'properties': {'income_id': {'type': 'integer'}}}
delete_property_work
Delete Property Work
Supprime un poste de travaux immobiliers par son identifiant. Les documents justificatifs associés sont également supprimés. Cette action est irréversible.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['work_id'], 'properties': {'work_id': {'type': 'integer'}}}
estimate_market_value
Estimate Market Value
Estime la valeur vénale d'un logement à partir des ventes réelles de sa commune (données DVF de la DGFiP, publiées sur data.gouv.fr sous Licence Ouverte 2.0). Utile pour la base amortissable quand le bien était détenu avant sa mise en location : c'est alors la valeur vénale à cette date, et non le prix d'achat, qui la détermine. Fournir soit property_id (les caractéristiques sont reprises du bien), soit commune + property_type + area_m2. Ce n'est PAS une expertise : une médiane communale ignore l'étage, l'état et le DPE.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer', 'description': "Millésime de référence — prendre l'année de mise en location. Défaut : le plus récent publié."}, 'area_m2': {'type': 'integer', 'description': 'Surface habitable en m². Ignorée si property_id est fourni.'}, 'commune': {'type': 'string', 'description': 'Nom de commune, code postal ou code INSEE. Ignoré si property_id est fourni.'}, 'property_id': {'type': 'integer', 'description': 'Bien existant dont on reprend la commune, le type et la surface. Alternative à commune/property_type/area_m2.'}, 'property_type': {'type': 'string', 'description': 'apartment, house, room, studio ou other. Défaut : apartment.'}}}
export_documents
Export Documents
Génère un fichier ZIP contenant tous les justificatifs (factures, reçus, devis) de l'utilisateur, organisés par année et type (charges/mobilier/travaux). Filtrage optionnel par année et/ou type. Retourne une URL de téléchargement temporaire.
只读
输入模式
{'type': 'object', 'properties': {'type': {'type': 'string'}, 'year': {'type': 'integer'}}}
generate_fec
Generate Fec
Génère le Fichier des Écritures Comptables (FEC) pour un exercice fiscal. Le FEC est un fichier réglementaire au format normé (article A.47 A-1 du LPF, 18 colonnes, séparateur TAB) requis en cas de contrôle fiscal. L'exercice est calculé avant la génération si nécessaire. Retourne le chemin du fichier généré.
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}}}
generate_tax_return
Generate Tax Return
Génère la liasse fiscale LMNP au format PDF (formulaires 2031-SD, 2033-A, 2033-B, 2033-C et 2033-D) pour un exercice fiscal donné. L'exercice est recalculé avant la génération si nécessaire. Retourne le chemin du PDF généré et un résumé des montants clés de la déclaration.
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}}}
get_dashboard_summary
Get Dashboard Summary
Retourne un tableau de bord agrégé pour l'utilisateur : nombre de biens et emprunts, recettes et charges totales pour l'année demandée (défaut : année en cours), résultat fiscal si l'exercice existe, et répartition des recettes par plateforme et des charges par catégorie.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer'}}}
get_expense
Get Expense
Retourne le détail complet d'une charge par son identifiant : montant TTC/HT, TVA, catégorie, type de récurrence, flag dédié et montant effectif après application de la quote-part si non dédié.
只读
输入模式
{'type': 'object', 'required': ['expense_id'], 'properties': {'expense_id': {'type': 'integer'}}}
get_fiscal_year
Get Fiscal Year
Retourne le détail complet d'un exercice fiscal par son année : résultat fiscal, recettes, charges, amortissements (total, plafonné, reporté), soldes d'ouverture d'une reprise de dossier (amortissements différés, déficits par millésime, cumul d'amortissements de contrôle, provenance), TVA, form_data du formulaire 2031/2033, et informations de télétransmission.
只读
输入模式
{'type': 'object', 'required': ['year'], 'properties': {'year': {'type': 'integer'}}}
get_income
Get Income
Retourne le détail complet d'une recette locative par son identifiant : montants TTC/HT, TVA, frais de plateforme, taxe de séjour, informations de réservation et du voyageur.
只读
输入模式
{'type': 'object', 'required': ['income_id'], 'properties': {'income_id': {'type': 'integer'}}}
get_loan
Get Loan
Retourne le détail complet d'un emprunt immobilier avec un résumé financier : capital, taux, durée, mensualité, assurance, coût total, intérêts et assurances de l'année courante.
只读
输入模式
{'type': 'object', 'required': ['loan_id'], 'properties': {'loan_id': {'type': 'integer'}}}
get_loan_schedule
Get Loan Schedule
Retourne le tableau d'amortissement complet d'un emprunt avec filtre optionnel par année. Chaque ligne contient : numéro d'échéance, date, capital remboursé, intérêts, assurance, total et capital restant dû. Inclut les totaux de la période.
只读
输入模式
{'type': 'object', 'required': ['loan_id'], 'properties': {'year': {'type': 'integer'}, 'loan_id': {'type': 'integer'}}}
get_onboarding_status
Get Onboarding Status
Retourne l'état d'avancement de l'onboarding LMNP de l'utilisateur pour l'année courante : création du bien, saisie des recettes et charges, configuration des amortissements, clôture de l'exercice et génération de la liasse fiscale PDF.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer'}}}
get_projection
Get Projection
Calcule une projection pluriannuelle du résultat fiscal LMNP sur plusieurs années. Pour chaque année : revenus estimés, charges, amortissements (bâti + travaux + mobilier), plafonnement, report cumulé, résultat fiscal net, comparaison micro-BIC. Tous les montants sont en euros.
只读
输入模式
{'type': 'object', 'properties': {'years': {'type': 'integer'}, 'start_year': {'type': 'integer'}, 'income_growth': {'type': 'number'}, 'expense_growth': {'type': 'number'}}}
get_property
Get Property
Retourne le détail complet d'un bien immobilier : caractéristiques, montants financiers, base amortissable, et comptage des composants, travaux, mobilier et emprunts associés.
只读
输入模式
{'type': 'object', 'required': ['property_id'], 'properties': {'property_id': {'type': 'integer'}}}
get_simulation
Get Simulation
Compare le régime micro-BIC et le régime réel pour une année donnée. Retourne : revenus bruts, résultats micro-BIC (50% ou 30% selon classement), résultat réel (après charges et amortissements), avantage fiscal, recommandation, et économie d'impôt estimée pour différentes TMI. Tous les montants sont en euros.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer'}, 'abatement': {'type': 'string'}}}
import_airbnb_csv
Import Airbnb Csv
Importe un fichier CSV Airbnb (historique des transactions ou réservations) dans un bien donné. Le contenu du fichier CSV doit être encodé en base64 dans le champ csv_base64. Retourne le nombre de lignes importées, ignorées et les erreurs éventuelles.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['property_id', 'csv_base64'], 'properties': {'preview': {'type': 'boolean'}, 'csv_base64': {'type': 'string'}, 'property_id': {'type': 'integer'}}}
list_categories
List Categories
Retourne toutes les valeurs valides pour les champs de type enum : catégories de charges, sources de revenus, types de bien, types de location, régimes TVA et types de récurrence. Indispensable avant de créer un revenu ou une charge pour connaître les valeurs acceptées.
只读
输入模式
{'type': 'object', 'properties': {}}
list_expenses
List Expenses
Liste les charges déductibles de l'utilisateur avec filtres optionnels par bien, année et catégorie. Catégories disponibles : property_tax, insurance, energy, maintenance, supplies, platform_fees, accounting, telecom, travel, cleaning, other.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer'}, 'category': {'type': 'string'}, 'property_id': {'type': 'integer'}}}
list_fiscal_years
List Fiscal Years
Liste tous les exercices fiscaux de l'utilisateur triés par année décroissante. Pour chaque exercice : statut, résultat fiscal, recettes totales, charges totales, amortissements, amortissements plafonnés et report déficitaire.
只读
输入模式
{'type': 'object', 'properties': {}}
list_furniture
List Furniture
Liste le mobilier et équipements amortissables de l'utilisateur avec filtre optionnel par bien. Retourne pour chaque élément : description, montant d'achat, date, durée d'amortissement, amortissement annuel, flag dédié et occasion.
只读
输入模式
{'type': 'object', 'properties': {'property_id': {'type': 'integer'}}}
list_incomes
List Incomes
Liste les recettes locatives de l'utilisateur avec filtres optionnels par bien, année et plateforme (airbnb, booking, abritel, direct, other). Retourne les montants en euros avec TVA, frais de plateforme et taxe de séjour.
只读
输入模式
{'type': 'object', 'properties': {'year': {'type': 'integer'}, 'source': {'type': 'string'}, 'property_id': {'type': 'integer'}}}
list_loans
List Loans
Liste les emprunts immobiliers de l'utilisateur avec filtre optionnel par bien. Retourne pour chaque emprunt : banque, capital, taux, durée, mensualité, assurance, dates de début/fin et coût total estimé.
只读
输入模式
{'type': 'object', 'properties': {'property_id': {'type': 'integer'}}}
list_properties
List Properties
Liste tous les biens immobiliers de l'utilisateur authentifié avec leurs informations clés (surface, prix d'acquisition, quote-part, type de location).
只读
输入模式
{'type': 'object', 'properties': {}}
list_property_components
List Property Components
Liste les composants d'amortissement par ventilation d'un bien immobilier (gros œuvre, toiture, électricité, etc.). Retourne chaque composant avec son pourcentage, la base de calcul, la durée et l'amortissement annuel. La somme des pourcentages doit être 100 %.
只读
输入模式
{'type': 'object', 'required': ['property_id'], 'properties': {'property_id': {'type': 'integer'}}}
list_property_works
List Property Works
Liste les travaux immobiliers amortissables de l'utilisateur avec filtre optionnel par bien. Retourne pour chaque travail : description, montant TTC/HT, date, durée d'amortissement, amortissement annuel et flag dédié.
只读
输入模式
{'type': 'object', 'properties': {'property_id': {'type': 'integer'}}}
update_expense
Update Expense
Met à jour une charge d'exploitation existante. Seuls les champs fournis sont modifiés (mise à jour partielle). Le montant est en euros.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['expense_id'], 'properties': {'notes': {'type': ['string', 'null']}, 'amount': {'type': ['number', 'null']}, 'category': {'type': ['string', 'null']}, 'tva_rate': {'type': ['number', 'null']}, 'expense_id': {'type': 'integer'}, 'description': {'type': ['string', 'null']}, 'expense_date': {'type': ['string', 'null']}, 'is_dedicated': {'type': ['boolean', 'null']}, 'recurring_type': {'type': ['string', 'null']}}}
update_furniture
Update Furniture
Met à jour un élément de mobilier existant. Seuls les champs fournis sont modifiés (mise à jour partielle). Le montant est en euros. L'amortissement annuel est recalculé automatiquement si le montant ou la durée changent.
幂等
输入模式
{'type': 'object', 'required': ['furniture_id'], 'properties': {'amount': {'type': ['number', 'null']}, 'tva_rate': {'type': ['number', 'null']}, 'description': {'type': ['string', 'null']}, 'furniture_id': {'type': 'integer'}, 'is_dedicated': {'type': ['boolean', 'null']}, 'purchase_date': {'type': ['string', 'null']}, 'duration_years': {'type': ['integer', 'null']}, 'is_second_hand': {'type': ['boolean', 'null']}}}
update_income
Update Income
Met à jour un revenu locatif existant. Seuls les champs fournis sont modifiés (mise à jour partielle). Le montant est en euros.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['income_id'], 'properties': {'notes': {'type': ['string', 'null']}, 'amount': {'type': ['number', 'null']}, 'source': {'type': ['string', 'null']}, 'tva_rate': {'type': ['number', 'null']}, 'income_id': {'type': 'integer'}, 'guest_name': {'type': ['string', 'null']}, 'income_date': {'type': ['string', 'null']}, 'tourist_tax': {'type': ['number', 'null']}, 'checkin_date': {'type': ['string', 'null']}, 'platform_fee': {'type': ['number', 'null']}, 'checkout_date': {'type': ['string', 'null']}, 'reservation_ref': {'type': ['string', 'null']}}}
update_property
Update Property
Met à jour les champs d'un bien immobilier existant. Seuls les champs fournis sont modifiés. Les montants sont en euros, les surfaces en m².
幂等
输入模式
{'type': 'object', 'required': ['property_id'], 'properties': {'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'notes': {'type': 'string'}, 'address': {'type': 'string'}, 'total_area': {'type': 'integer'}, 'tva_regime': {'type': 'string'}, 'agency_fees': {'type': 'number'}, 'notary_fees': {'type': 'number'}, 'postal_code': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'rental_type': {'type': 'string'}, 'rented_area': {'type': 'integer'}, 'market_value': {'type': 'number'}, 'land_percentage': {'type': 'integer'}, 'acquisition_date': {'type': 'string'}, 'acquisition_price': {'type': 'number'}, 'market_value_date': {'type': 'string'}, 'rental_start_date': {'type': 'string'}, 'is_primary_residence': {'type': 'boolean'}}}
update_property_work
Update Property Work
Met à jour un poste de travaux immobiliers existant. Seuls les champs fournis sont modifiés (mise à jour partielle). Le montant est en euros. L'amortissement annuel est recalculé automatiquement si le montant ou la durée changent.
幂等
输入模式
{'type': 'object', 'required': ['work_id'], 'properties': {'amount': {'type': ['number', 'null']}, 'work_id': {'type': 'integer'}, 'tva_rate': {'type': ['number', 'null']}, 'work_date': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}, 'is_dedicated': {'type': ['boolean', 'null']}, 'duration_years': {'type': ['integer', 'null']}}}
已添加
get_simulation
2026年9月17日 12:43
已添加
get_projection
2026年9月17日 12:43
已添加
export_documents
2026年9月17日 12:43
已添加
import_airbnb_csv
2026年9月17日 12:43
已添加
list_categories
2026年9月17日 12:43
已添加
delete_document
2026年9月17日 12:43
已添加
delete_property_work
2026年9月17日 12:43
已添加
delete_furniture
2026年9月17日 12:43
已添加
delete_expense
2026年9月17日 12:43
已添加
delete_income
2026年9月17日 12:43
已添加
update_property
2026年9月17日 12:43
已添加
create_property
2026年9月17日 12:43
已添加
generate_tax_return
2026年9月17日 12:43
已添加
generate_fec
2026年9月17日 12:43
已添加
compute_tva
2026年9月17日 12:43
已添加
compute_loan_schedule
2026年9月17日 12:43
已添加
compare_micro_bic
2026年9月17日 12:43
已添加
compute_fiscal_year
2026年9月17日 12:43
已添加
estimate_market_value
2026年9月17日 12:43
已添加
compute_depreciation
2026年9月17日 12:43
已添加
attach_document
2026年9月17日 12:43
已添加
update_property_work
2026年9月17日 12:43
已添加
create_property_work
2026年9月17日 12:43
已添加
update_furniture
2026年9月17日 12:43
已添加
create_furniture
2026年9月17日 12:43
已添加
update_expense
2026年9月17日 12:43
已添加
create_expense
2026年9月17日 12:43
已添加
update_income
2026年9月17日 12:43
已添加
create_income
2026年9月17日 12:43
已添加
get_dashboard_summary
2026年9月17日 12:43