Ilicompta — experts-comptables en France
Find French accounting firms by city and documented criteria, with sources and catalog limitations.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cabinets": {
"url": "https://ilicompta.fr/api/mcp"
}
}
}Remote endpoints
https://ilicompta.fr/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢search_cabinets(city, q, sector, service, software, ...)
Search French accounting firms by exact AND filters. First use resolve_city for ambiguous locations and get_taxonomies for exact category values. q is a firm name or SIREN, never a service query. Preserve every user constraint: on zero results, do not remove a filter or widen the city without agreement. Cite citation_url and evidence.source_url; visit_url is an optional site navigation link. Website-level extraction is not a verified qualification; unknown dates remain unknown. No quality ranking, price or availability guarantees.
Input Schema
{
"type": "object",
"properties": {
"city": {
"description": "Slug de ville recommandé (lyon-69000), sinon nom exact ou code postal ; les ambiguïtés sont retournées.",
"type": "string",
"minLength": 2,
"maxLength": 180
},
"q": {
"description": "Nom de cabinet ou SIREN. Pas de recherche libre de prestations.",
"type": "string",
"minLength": 2,
"maxLength": 120
},
"sector": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"service": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"software": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"cursor": {
"type": "string",
"maxLength": 1600
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"scope": {
"anyOf": [
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"postal_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"department": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"includes_districts": {
"type": "boolean"
},
"total_cabinets": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"slug",
"name",
"postal_codes",
"department",
"canonical_url",
"includes_districts",
"total_cabinets"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
}
]
},
"filters": {
"type": "object",
"properties": {
"city": {
"description": "Slug de ville recommandé (lyon-69000), sinon nom exact ou code postal ; les ambiguïtés sont retournées.",
"type": "string",
"minLength": 2,
"maxLength": 180
},
"q": {
"description": "Nom de cabinet ou SIREN. Pas de recherche libre de prestations.",
"type": "string",
"minLength": 2,
"maxLength": 120
},
"sector": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"service": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"software": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"limit"
],
"additionalProperties": false
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"name": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"citation_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"city": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"canonical_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"postal_code",
"canonical_url"
],
"additionalProperties": false
},
"address": {
"type": "string"
},
"activities": {
"type": "object",
"properties": {
"sector": {
"type": "array",
"items": {
"type": "string"
}
},
"service": {
"type": "array",
"items": {
"type": "string"
}
},
"software": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sector",
"service",
"software",
"language"
],
"additionalProperties": false
},
"evidence": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"legacy_unverified",
"extracted_from_website",
"not_available"
]
},
"source_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"granularity": {
"type": "string",
"const": "website"
},
"observed_at": {
"type": "null"
},
"verified_at": {
"type": "null"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"source_url",
"granularity",
"observed_at",
"verified_at",
"note"
],
"additionalProperties": false
},
"detail_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"slug",
"title",
"name",
"canonical_url",
"citation_url",
"city",
"address",
"activities",
"evidence",
"detail_url"
],
"additionalProperties": false
}
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"scope",
"filters",
"total",
"results",
"next_cursor",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢find_accountants(request, city, limit)
Parse a simple French or English request such as 'Comptable LMNP à Lyon utilisant Pennylane' and search the public catalog with AND filters. This limited deterministic parser asks for clarification before searching if words, negations, multiple values or conflicting locations cannot be represented. On clarification_needed, ask the user; never retry by dropping their requirements. Read interpretation.matched, cite citation_url plus original evidence, and state that website mentions are not certifications. Prefer search_cabinets with get_taxonomies for exact filters and firm names.
Input Schema
{
"type": "object",
"properties": {
"request": {
"description": "Question en français ou anglais, par exemple : comptable LMNP à Lyon utilisant Pennylane. Les critères non reconnus ne sont jamais supposés satisfaits.",
"type": "string",
"minLength": 3,
"maxLength": 500
},
"city": {
"description": "Slug de ville recommandé si la ville est ambiguë.",
"type": "string",
"minLength": 2,
"maxLength": 180
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"scope": {
"anyOf": [
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"postal_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"department": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"includes_districts": {
"type": "boolean"
},
"total_cabinets": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"slug",
"name",
"postal_codes",
"department",
"canonical_url",
"includes_districts",
"total_cabinets"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
}
]
},
"filters": {
"type": "object",
"properties": {
"city": {
"description": "Slug de ville recommandé (lyon-69000), sinon nom exact ou code postal ; les ambiguïtés sont retournées.",
"type": "string",
"minLength": 2,
"maxLength": 180
},
"q": {
"description": "Nom de cabinet ou SIREN. Pas de recherche libre de prestations.",
"type": "string",
"minLength": 2,
"maxLength": 120
},
"sector": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"service": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"software": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-zA-Z0-9_+.-]+$"
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"limit"
],
"additionalProperties": false
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"name": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"citation_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"city": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"canonical_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"postal_code",
"canonical_url"
],
"additionalProperties": false
},
"address": {
"type": "string"
},
"activities": {
"type": "object",
"properties": {
"sector": {
"type": "array",
"items": {
"type": "string"
}
},
"service": {
"type": "array",
"items": {
"type": "string"
}
},
"software": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sector",
"service",
"software",
"language"
],
"additionalProperties": false
},
"evidence": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"legacy_unverified",
"extracted_from_website",
"not_available"
]
},
"source_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"granularity": {
"type": "string",
"const": "website"
},
"observed_at": {
"type": "null"
},
"verified_at": {
"type": "null"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"source_url",
"granularity",
"observed_at",
"verified_at",
"note"
],
"additionalProperties": false
},
"detail_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"slug",
"title",
"name",
"canonical_url",
"citation_url",
"city",
"address",
"activities",
"evidence",
"detail_url"
],
"additionalProperties": false
}
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"interpretation": {
"type": "object",
"properties": {
"request": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"matched": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"sector",
"service",
"software",
"language"
]
},
"value": {
"type": "string"
},
"phrase": {
"type": "string"
}
},
"required": [
"field",
"value",
"phrase"
],
"additionalProperties": false
}
},
"warning": {
"type": "string"
}
},
"required": [
"request",
"city",
"matched",
"warning"
],
"additionalProperties": false
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"scope",
"filters",
"total",
"results",
"next_cursor",
"note",
"interpretation"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_cabinet(slug)
Lire une fiche par slug obtenu dans search_cabinets : identité, adresse, informations juridiques recensées, activités, sources et URL canonique. Dates inconnues explicites. Les informations sont à confirmer, sans certification de compétence.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 180,
"pattern": "^[a-z0-9][a-z0-9_-]*$"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"cabinet": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"name": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"citation_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"city": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"canonical_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"postal_code",
"canonical_url"
],
"additionalProperties": false
},
"address": {
"type": "string"
},
"activities": {
"type": "object",
"properties": {
"sector": {
"type": "array",
"items": {
"type": "string"
}
},
"service": {
"type": "array",
"items": {
"type": "string"
}
},
"software": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sector",
"service",
"software",
"language"
],
"additionalProperties": false
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"summary": {
"type": "string"
},
"website_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"legal": {
"anyOf": [
{
"type": "object",
"properties": {
"siren": {
"type": "string"
},
"creation_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"creation_scope": {
"type": "string"
},
"employee_range": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"employee_scope": {
"type": "string"
},
"reference_period": {
"type": "null"
},
"verification_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"siren",
"creation_date",
"creation_scope",
"employee_range",
"employee_scope",
"reference_period",
"verification_url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"evidence": {
"type": "object",
"properties": {
"identity": {
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "legacy_unverified"
},
"source_url": {
"type": "string",
"format": "uri"
},
"observed_at": {
"type": "null"
},
"verified_at": {
"type": "null"
}
},
"required": [
"status",
"source_url",
"observed_at",
"verified_at"
],
"additionalProperties": false
},
"activities": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"legacy_unverified",
"extracted_from_website",
"not_available"
]
},
"source_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"granularity": {
"type": "string",
"const": "website"
},
"observed_at": {
"type": "null"
},
"verified_at": {
"type": "null"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"source_url",
"granularity",
"observed_at",
"verified_at",
"note"
],
"additionalProperties": false
}
},
"required": [
"identity",
"activities"
],
"additionalProperties": false
},
"methodology_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"slug",
"title",
"name",
"canonical_url",
"citation_url",
"city",
"address",
"activities",
"publisher",
"summary",
"website_url",
"legal",
"evidence",
"methodology_url"
],
"additionalProperties": false
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"cabinet"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_city_stats(city)
Compter les fiches répertoriées par Ilicompta dans une ville, arrondissements inclus à Paris, Lyon et Marseille. Renvoie couverture, dénominateurs et URL de la page ville. Ce ne sont pas des parts de marché ni un recensement exhaustif.
Input Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 2,
"maxLength": 180
}
},
"required": [
"city"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"city": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"postal_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"department": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"includes_districts": {
"type": "boolean"
},
"total_cabinets": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"slug",
"name",
"postal_codes",
"department",
"canonical_url",
"includes_districts",
"total_cabinets"
],
"additionalProperties": false
},
"citation_url": {
"type": "string",
"format": "uri"
},
"coverage": {
"type": "object",
"properties": {
"total_cabinets": {
"type": "number"
},
"with_activity_data": {
"type": "number"
},
"with_extraction_source_url": {
"type": "number"
}
},
"required": [
"total_cabinets",
"with_activity_data",
"with_extraction_source_url"
],
"additionalProperties": false
},
"mentions": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"count": {
"type": "number"
},
"denominator": {
"type": "number"
},
"percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"value",
"count",
"denominator",
"percent"
],
"additionalProperties": false
}
}
},
"note": {
"type": "string"
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"city",
"citation_url",
"coverage",
"mentions",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢resolve_city(q, limit)
Find catalog city slugs by name prefix or postal code. Use before searching when a locality is ambiguous. Return candidates to the user instead of selecting an arbitrary city; no nearby-city expansion.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"q"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"total": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"postal_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"department": {
"type": "string"
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"visit_url": {
"type": "string",
"format": "uri"
},
"includes_districts": {
"type": "boolean"
},
"total_cabinets": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"slug",
"name",
"postal_codes",
"department",
"canonical_url",
"includes_districts",
"total_cabinets"
],
"additionalProperties": false
}
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"total",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_taxonomies
Read exact sector, service, software and language values accepted by search_cabinets. Presence in the vocabulary does not mean a specific firm has that capability. Never replace an unknown requested criterion with a broader category without user agreement.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"dataset_version": {
"type": "string"
},
"export_generated_at": {
"type": "string"
},
"publisher": {
"type": "string",
"const": "Ilicompta"
},
"methodology_url": {
"type": "string",
"format": "uri"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"request_id": {
"type": "string"
},
"values": {
"type": "object",
"properties": {
"sector": {
"type": "array",
"items": {
"type": "string"
}
},
"service": {
"type": "array",
"items": {
"type": "string"
}
},
"software": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sector",
"service",
"software",
"language"
],
"additionalProperties": false
}
},
"required": [
"dataset_version",
"export_generated_at",
"publisher",
"methodology_url",
"limitations",
"values"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence