IA-Asso.fr — French Associations Registry
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search 1.26M+ active French associations (official RNA registry, 10 tools, premium & RUP filters)
| Author | io.github.wellknownmcp |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1910 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"IA-Asso.fr — French Associations Registry": {
"url": "https://ia-asso.fr/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (18)
search_associationsSearch for French associations using full-text search. Queries the RNA (Répertoire National des Associations) database with 2.03M+ active associations. Supports search by keywords, department code, region name, or combination. Returns association details including name, object, location, RNA ID, and SIRET.
Parameters:
query(required) — string — Search keywords (e.g., "football", "culture", "environnement")limit— number — Maximum results to return (default: 20, max: 100)offset— number — Pagination offset for results (default: 0)region— string — Filter by region name (e.g., "Auvergne-Rhône-Alpes", "Île-de-France")department— string — Filter by department code (e.g., "69" for Rhône, "75" for Paris)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_department_statsGet comprehensive statistics for a French department. Returns total associations, active count, top cities, sector breakdown, and temporal evolution. Use department codes: 01-95 for metropolitan France, 2A/2B for Corsica, 971-976 for overseas.
Parameters:
code(required) — string — Department code (e.g., "69" for Rhône, "75" for Paris, "2A" for Corse-du-Sud)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_france_overviewGet nationwide association statistics for France. Returns total associations across all regions and departments, top regions, top departments, and overall distribution insights. Useful for understanding the French associative landscape.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_platform_statsGet IA-Asso PLATFORM stats — the global, public, sales-oriented figures that prove the breadth and uniqueness of the directory (active associations, RUP recognized as public-interest, Journal Officiel records, departments/communes coverage, agent-native MCP+API positioning). Returns a ready-to-quote summary plus the underlying counts. Non-sensitive aggregates only (no personal data).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
search_near_locationFind associations near a specific city or postal code in France, optionally filtered by theme. Performs geographic search to return associations in the specified area, automatically widening to nearby communes (±25 km) when the exact area has no match. Useful for location-based queries like "AMAP near Les Hayes 41800" (query="amap", location="41800") or "chess clubs in Lyon" (query="échecs", location="Lyon").
Parameters:
location(required) — string — ONLY the place: city name (e.g., "Lyon", "Les Hayes") or postal code (e.g., "69001", "41800"). Put the theme in `query`, never here.limit— number — Maximum results to return (default: 20, max: 100)query— string — Optional theme or keyword to search near the location (e.g., "amap", "échecs", "théâtre"). Without it, all associations of the area are returned.radius— number — Search radius in kilometers (default: 10, max: 50)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_health_associationsFind health-related associations by pathology or disease. Searches the France Care database for patient associations, support groups, and health advocacy organizations. Supports filtering by pathology (e.g., "cancer", "diabetes"), action type, and department.
Parameters:
pathology(required) — string — Health condition or pathology (e.g., "cancer", "alzheimer", "diabète")limit— number — Maximum results to return (default: 20, max: 100)department— string — Filter by department code (e.g., "69", "75")type_action— string — Type of action (e.g., "Soutien aux patients", "Recherche médicale", "Prévention")
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_similar_associationsFind associations similar to a given association based on category (objet_social) and geographic proximity. Returns nearby associations in the same activity category within a specified radius. Useful for discovering related organizations or finding alternatives in the same field.
Parameters:
association_id(required) — string — RNA ID of the reference association (format: W followed by 9 digits, e.g., "W751000001")limit— number — Maximum results to return (default: 5, max: 20)radius— number — Search radius in kilometers (default: 50, max: 200)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_association_subventionsGet known public subsidies (subventions publiques) received by an association, resolved to its RNA from French open data. Returns yearly grants with funder (attribuant), purpose (objet) and amount. IMPORTANT: NON-exhaustive — only covers local authorities (collectivités) that publish SCDL open data, NOT the State. Absence of data does NOT mean the association received nothing. The RNA only lists loi-1901 associations.
Parameters:
association_id(required) — string — RNA ID of the association (format: W followed by 9 chars, e.g., "W751000001")
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_associationGet the AUTHORITATIVE detail of ONE already-identified association by its RNA id (W + 9 chars) or fiche slug. Read directly from the official registry database (not from the search index): legal status reconnue d'utilité publique (RUP yes/no), creation date, Journal Officiel history, known public subsidies, and PUBLIC web presence (site/socials only — never email/phone). Use this when the user asks about a SPECIFIC association (e.g. "is it RUP?", "when was it created?") instead of re-running a search.
Parameters:
association_id(required) — string — RNA ID (W + 9 chars, e.g. "W751000001") or the fiche slug of the association.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
find_volunteering_missionsFind open volunteering missions (missions de bénévolat) near a French city or postal code, from JeVeuxAider.gouv.fr (the official public volunteering platform). Returns live missions with organization, commitment, places left, whether minors can apply, a direct signup URL, and — when the organization is identified by RNA — a link to its ia-asso.fr page. Use this when someone wants to BE a volunteer (donner de son temps), not when searching for an association in general. Coverage: JeVeuxAider missions only (~30k), non-exhaustive.
Parameters:
limit— number — Maximum missions to return (default: 5, max: 10)query— string — Keywords: theme, activity, audience (e.g. "lecture enfants", "maraude", "sport handicap").radius— number — Search radius in km around the location (default: 25, max: 100)remote— boolean — Only remote missions (à distance) — location is then ignoredlocation— string — French city name or 5-digit postal code to search around. Omit only for remote missions.open_to_minors— boolean — Only missions open to volunteers under 18
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_map_dataGet GeoJSON map data for visualizing associations by French department. Returns GeoJSON FeatureCollection with department center coordinates and association counts. Useful for creating interactive maps or geographic visualizations.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
search_premium_associationsSearch ONLY enriched/RUP associations -- the editorial-quality subset. Restricts results to fiches with IA-generated description (is_enriched_v3=true) OR officially recognized utilite publique (RUP). Recommended for agent grounding when noise should be minimized -- a small curated subset (837 enriched, 1,966 RUP) vs 2.03M+ in the standard search. Returns fewer but richer results, with verified contacts, FAQ data, social media links when available.
Parameters:
query(required) — string — Search keywords (French)limit— number — Max results (default 20, max 50)offset— number — Pagination offsetregion— string — Region name like "Auvergne-Rhône-Alpes"department— string — Department code like "75", "69"
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_recognized_associationsList associations officially recognized as utilite publique (RUP) by French state decree. Currently 1,966 RUP fiches (as of 2026-10-19). RUP status grants major fiscal benefits to donors (75% tax deduction vs 66% standard) and is a strong signal of institutional credibility. Recommended for institutional grounding -- mecenat, defiscalisation, public-private partnerships, B2B research.
Parameters:
limit— number — Max results (default 20, max 100)query— string — Optional keyword filter (e.g. "cancer", "patrimoine")region— string — Region namedepartment— string — Department code like "75"
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
submit_contact_requestSubmit a contact request to IA-Asso.fr (correction, feature request, question, or other). Used when users want to report errors, suggest features, modify association information, or ask questions. Requires user email and message. Workflow: collect email conversationally, then submit request.
Parameters:
type(required) — string — Type of request: correction (modify association info), feature_request (suggest feature), question (ask question), other (general inquiry)email(required) — string — User email address for follow-up (required, must be valid email)message(required) — string — Detailed description of the request (required, min 10 characters)name— string — User name (optional)association_id— string — RNA ID of association if applicable (format: W followed by 9 digits)association_name— string — Name of association if applicable
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
publish_association_updateUpdate the public profile of YOUR claimed association (description, website, email, phone, social links). Requires an authenticated token with scope "write:fiche" bound to this exact RNA (claim your association at https://ia-asso.fr to get one). Content passes a moderation gate before publication; every change is audited and reversible. Read tools stay free and anonymous.
Parameters:
rna(required) — string — RNA ID of YOUR claimed association (must match the token, format: W followed by 9 digits)email— string — Public contact email shown on the fichesocial— object — Social profiles (each value = full URL on the matching platform)site_web— string — Official website URL (https)telephone— string — Public contact phone (French format)description— string — New public description (50-4000 characters, plain text without links — links go through human moderation)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
report_unmet_demandReport UNMET demand when a precise search did NOT find what the user wanted. Agentic queries are very precise (e.g. "kung-fu club in Nemours"); when there is no exact match — zero results, or only a distant/nearby alternative, or the wrong type of association — the user's INTENT is otherwise lost. Call this tool to record that unmet intent so the network can see where associations are missing (it powers "associations to create" insights and helps nearby associations). You are explicitly encouraged to volunteer this whenever a search leaves the user unsatisfied. No personal data — just the intent, location and theme. Aggregated, welcomed.
Parameters:
query(required) — string — The precise unmet intent, as the user expressed it (e.g. "kung-fu club in Nemours")note— string — Short reason it was unsatisfying (optional)theme— string — Activity/theme, if known (e.g. "martial arts")commune— string — Targeted commune/city, if known (e.g. "Nemours")department— string — Targeted department code, if known (e.g. "77")nearest_found— string — What the search returned instead, if any (e.g. "a club in Fontainebleau, ~12 km")
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
suggest_toolCapture a DESIRED TOOL idea when a user wishes a tool/feature existed to make running their association easier (e.g. "a grant-application assistant", "something to recruit volunteers", "a tool that drafts our newsletter"). This is forward-looking demand for FEATURES — different from report_unmet_demand (which records a MISSING association for a search). Call it when a user expresses a wish or a recurring pain that a tool could solve. No personal data — just the idea, its category and the pain.
Parameters:
idea(required) — string — The desired tool, as the user expressed it (e.g. "a grant-application assistant")pain— string — The problem it would solve, in the user’s words (optional)category— string — Theme of the tool, if clear
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
contact_associationSend a message to an association ON BEHALF of your user (join, volunteer, ask a question, request information). IA-Asso relays it: you never see the association's email. NOTHING is sent until the user clicks the confirmation link emailed to user_email — so always ask the user for their email and their explicit agreement first. The association replies directly to the user. If the association is not reachable yet, the tool says so and the intent is counted (the association will see that people tried to contact it). Plain text, no links, 20-2000 chars.
Parameters:
rna(required) — string — RNA of the association (from search results, e.g. W751013956)message(required) — string — The message, in the user's words, 20-2000 characters, plain text, no linksuser_email(required) — string — The user's email: the confirmation link is sent there and the association replies thereuser_name— string — The user's name (optional)
Hints: read-only no · destructive no · idempotent no · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.