mcp-french-associations
mcp-french-associations
프랑스 협회를 위한 MCP 서버: RNA, JOAFE, 보조금/지원금, 공공 데이터셋 탐색.
도구
MCP를 실행하고 먼저 french_associations_get_sources를 호출하여 소스 범위를 확인하세요. 이 서버는 또한 위에서 설명한 주제에 대한 도메인별 도구를 제공합니다.
french_associations_search_datasetsfrench_associations_get_datasetfrench_associations_build_search_planfrench_associations_search_subsidies
Related MCP server: mcp-marches-publics
설치
npm install
npm run build
npm test
npm run devClaude Desktop
{
"mcpServers": {
"french-associations": {
"command": "npx",
"args": ["mcp-french-associations"]
}
}
}출처
data.gouv.fr의 RNA 데이터: https://www.data.gouv.fr/datasets/repertoire-national-des-associations/
JOAFE: https://www.journal-officiel.gouv.fr/pages/associations/
공공 보조금 데이터: https://www.data.gouv.fr/datasets/?q=subventions+associations
data.gouv.fr API: https://doc.data.gouv.fr/api/reference/
게시
docs/publishing.md를 참조하세요.
Glama / Docker
저장소에는 Dockerfile과 glama.json이 포함되어 있습니다.
빌드 단계:
["npm install", "npm run build"]CMD 인자:
["node", "dist/index.js"]안전
이 MCP는 에이전트가 공공 소스를 발견하고 요약하는 데 도움을 줍니다. 공식 기관이 아닙니다. 결정은 관할 공공 서비스 또는 원본 데이터 생산자와 대조하여 검증하십시오.
라이선스
MIT
Available Tools
6 toolsfrench_associations_build_search_planC
Build a practical public-source search plan for a French association name or RNA id.
| Name | Required | Description | Default |
|---|---|---|---|
| name_or_id | Yes | Association name or RNA id, e.g. W123456789. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Build a plan' without disclosing any behavioral traits such as return format, side effects, required data, or limitations. This is minimal and does not inform the agent about what to expect or handle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. It efficiently communicates the verb and resource, achieving conciseness without sacrificing core information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema) but the description is still insufficient. It does not explain what a 'search plan' consists of, how the output is delivered, or what the agent should do with it. Without domain context or sibling references, the agent may struggle to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains the parameter (association name or RNA id with an example). The description adds the phrase 'practical public-source search plan' but does not enrich the parameter's meaning. Baseline of 3 applies because schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Build') and resource ('search plan') and mentions the target domain (French association). It is clear what the tool does, but it does not explicitly differentiate from sibling tools like search_datasets or get_sources. A 5 would require an explicit contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the siblings. It does not state prerequisites, when this is appropriate (e.g., before fetching sources), or when to prefer another tool. Only an implied purpose exists, but no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
french_associations_fetch_source_excerptB
Fetch a short text excerpt from a curated source by index or title keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| max_chars | No | ||
| source_key | Yes | Source index, title keyword, or URL fragment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Fetch a short text excerpt' and gives no information about error handling (e.g., behavior when no match is found), potential side effects (implied read-only but not stated), or any constraints like 'returns first match only'. The description is too sparse for a tool that the agent must invoke safely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states the action and the input scope immediately, and every word contributes meaning. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must convey the return value; 'Fetch a short text excerpt' suffices for the return type but omits edge-case behavior (e.g., what if multiple matches exist, what if no match, or if max_chars is exceeded). It also doesn't mention any prerequisites or limitations of the 'curated source' set. For a simple fetch tool, it's mostly adequate but leaves important details undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: source_key has a description but max_chars does not. The tool description says 'short text excerpt' which indirectly hints at the role of max_chars, and the 'by index or title keyword' phrasing aligns with source_key. However, it doesn't explicitly explain how max_chars influences the result or provide format details beyond the schema. It partially compensates for the coverage gap but not thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch' and the resource 'a short text excerpt from a curated source', with a specific selection method ('by index or title keyword'). It distinguishes itself from siblings which deal with sources, datasets, and searches, though it doesn't explicitly name alternatives. The intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling tools (e.g., get_sources, get_dataset). It doesn't state typical scenarios like 'use when you need only a brief snippet' or exclude cases where a full dataset is needed. Usage context is left entirely to the agent's intuition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
french_associations_get_datasetA
Inspect a data.gouv.fr association-related dataset by slug or id and list its usable resources.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | Yes | Dataset slug or id from data.gouv.fr. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Inspect' and 'list' imply a read-only operation, but the description does not explicitly state the absence of side effects, required permissions, or any limits/pagination. It gives basic intent but lacks explicit behavioral guarantees that would be expected without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with no fluff, front-loading the action and resource. Every word earns its place, and the description is easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and no annotations, the description covers the essential aspects: what it does, what it takes, and what it returns (list of usable resources). It would benefit from mentioning error conditions or the nature of 'usable resources', but is otherwise adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the single parameter as 'Dataset slug or id from data.gouv.fr.' (100% coverage). The description adds little beyond restating the identification mechanism; it does not provide additional format details or usage nuances. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Inspect' and the resource 'data.gouv.fr association-related dataset', specifies identification by slug or id, and mentions listing usable resources. This clearly distinguishes it from siblings like search datasets (which find datasets) and fetch source excerpt (which gets excerpts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific dataset identifier, but does not explicitly say 'use this when you already know the slug or id' or mention alternatives. It provides clear context (inspect a specific dataset) without exclusions, so no misleading guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
french_associations_get_sourcesB
List curated sources used by this MCP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states 'List curated sources' without describing the return format, ordering, size, or any side effects. This is a minimal, incomplete picture for an agent deciding whether and how to call the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that wastes no words. 'List curated sources used by this MCP' is front-loaded and directly states the action and object, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema tool, the description is adequate but not rich. It does not specify what the 'sources' are (e.g., names, URLs, or IDs) or how they might be used by the agent. Since the tool appears to be a simple listing, more detail about the content of the list would improve completeness, but it is not severely lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description does not need to explain parameter semantics. The baseline of 4 applies because the description still clarifies the resource being listed ('curated sources'), which adds meaningful context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb 'List' and a specific resource: 'curated sources used by this MCP.' It is distinct from siblings like fetch_source_excerpt or search_datasets, but it does not explicitly differentiate itself from them, relying on the term 'curated sources' to imply a different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention the context in which listing sources would be useful, nor does it exclude any cases. The agent is left to infer that this might be a preliminary step, but nothing explicit supports that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
french_associations_search_datasetsC
Search data.gouv.fr for association datasets: RNA, JOAFE, subsidies, local grants.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | répertoire national associations RNA | |
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only search operation but does not state that it has no side effects, nor does it mention pagination, rate limits, or the response format. It simply says 'Search', which is minimal and leaves the agent guessing about consequences and return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and resource, and lists concrete examples efficiently. Every word contributes to clarifying the scope. It is appropriately terse without any fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and the existence of sibling tools that might overlap, the description is incomplete. It does not explain what datasets are returned, how the query is matched, or how results are paginated. No output schema exists, so the description should have provided at least a hint about the return value. An agent would likely need to inspect the schema or guess from the sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. It mentions neither 'query' nor 'page_size': what they mean, how to format the query, or what page_size controls. The defaults and constraints in the schema are self-explanatory, but without any textual explanation the description fails to add value or clarify usage beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search', the resource 'data.gouv.fr', and the specific object 'association datasets', with a concrete list of example dataset types (RNA, JOAFE, subsidies, local grants). This distinguishes it from siblings like search_subsidies, which targets subsidies specifically, and get_sources which likely lists sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no guidance on when to use this compared to the sibling tools. It does not mention alternatives, conditions, or when not to use it. An agent would have to infer from the name that this is a general dataset search versus more specific tools like search_subsidies or get_sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
french_associations_search_subsidiesC
Search data.gouv.fr for public subsidy datasets related to associations.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | ||
| place_or_topic | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It does not mention any return format, pagination behavior, rate limits, or other runtime characteristics. This is a bare statement of intent with zero behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence, which is structurally efficient. However, it under-specifies the tool to the point of being nearly useless. It packs no actionable information beyond the tool name, so it is not appropriately sized for the information burden it should carry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, no output schema, and no annotations, the description fails to explain expected inputs, outputs, or usage context. It does not clarify what 'subsidy datasets' means, how to combine parameters, or what the response looks like. The agent is left with too little to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema only gives parameter names (page_size, place_or_topic) without descriptions. The tool description does not explain how these parameters affect the search, their expected formats, or any constraints beyond the raw schema. It adds no semantic value over the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), resource ('data.gouv.fr'), and scope ('public subsidy datasets related to associations'). It is clear about what the tool does and distinguishes it from a generic dataset search by specifying 'subsidy datasets'. However, it does not explicitly differentiate itself from sibling tools like french_associations_search_datasets, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the sibling tools (e.g., search_datasets, get_sources). No context about preferred scenarios, filters, or exclusions is provided. An agent would need to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
french_associations_build_search_plan - First observed
french_associations_fetch_source_excerpt - First observed
french_associations_get_dataset - First observed
french_associations_get_sources - First observed
french_associations_search_datasets - First observed
french_associations_search_subsidies
TDQS
Scored across 6 tools
Each tool has a clear primary purpose, though search_datasets and search_subsidies overlap in scope (both search data.gouv.fr for association-related datasets). The descriptions specify search_datasets covers RNA, JOAFE, subsidies, and grants, while search_subsidies is narrower, so they are distinguishable but could cause minor misselection.
All tool names follow a consistent pattern: the prefix 'french_associations_' combined with a verb_noun structure (get_sources, fetch_source_excerpt, search_datasets, get_dataset, build_search_plan, search_subsidies). This makes the tool set predictable and easy to navigate.
With only 6 tools, the server is highly focused and each tool contributes to its stated purpose of finding and inspecting French association data. The count is well-scoped, avoiding unnecessary bloat or overly sparse coverage.
The tools cover listing sources, fetching excerpts, searching for datasets, inspecting datasets, and building search plans. A notable gap is the absence of a tool to actually retrieve full dataset records or query resources directly, but the server appears designed to assist agents in planning searches rather than executing heavy data pulls, so this is a minor gap.
Maintenance
Related MCP Connectors
Search 1.26M+ active French associations (official RNA registry, 10 tools, premium & RUP filters)
French address quality, geocoding & routing from official data (BAN, INSEE, OpenStreetMap).
Search, analyze and manage events on OpenAgenda.
French public-data MCP: cross-ref health, demographics, business, geo & real-estate.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying the French National Assembly data, including deputies, interventions, questions, and votes, through natural language.9MIT
- FlicenseNot gradedqualityCmaintenanceProvides tools to search and retrieve French public procurement data (tenders, awarded contracts) and company information from official open APIs.-
- AlicenseNot gradedqualityCmaintenanceEnables querying French companies and establishments via SIREN or geographic proximity using the official French business register API.6MIT
- AlicenseAqualityBmaintenanceEnables discovery and inspection of French public open data on data.gouv.fr, including datasets, resources, organizations, and dataservices via natural language.9MIT