Skip to main content
Glama

mcp-french-school-map

프랑스 교육 데이터용 MCP 서버: 학교 디렉터리, 지오코딩된 교육 기관, IPS, Parcoursup 및 시험 데이터셋 탐색.

도구

MCP를 실행하고 먼저 french_school_map_get_sources를 호출하여 소스 범위를 확인하세요. 이 서버는 위에서 설명한 주제에 대한 도메인별 도구도 제공합니다.

Related MCP server: PH Schools MCP Server

설치

npm install
npm run build
npm test
npm run dev

Claude Desktop

{
  "mcpServers": {
    "french-school-map": {
      "command": "npx",
      "args": ["mcp-french-school-map"]
    }
  }
}

출처

게시

docs/publishing.md를 참조하세요.

Glama / Docker

이 저장소에는 Dockerfileglama.json이 포함되어 있습니다.

빌드 단계:

["npm install", "npm run build"]

CMD 인자:

["node", "dist/index.js"]

안전

이 MCP는 에이전트가 공개 출처를 발견하고 요약하는 데 도움을 줍니다. 공식 기관이 아닙니다. 결정은 관할 공공 서비스 또는 원본 데이터 생산자와 대조하여 검증하세요.

라이선스

MIT

Available Tools

5 tools
french_school_map_fetch_source_excerptB

Fetch a short text excerpt from a curated source by index or title keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_charsNo
source_keyYesSource index, title keyword, or URL fragment.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the operation is a read-only fetch and that the result is a short text excerpt, but it does not explain behavior for missing keys, ambiguous keyword matches, or how max_chars affects the returned text.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the core purpose efficiently and is appropriately sized for a simple fetch tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description lacks important context: it does not reference french_school_map_get_sources for discovering valid source keys, does not specify the return format, and does not clarify how max_chars is applied. These gaps are meaningful because there is no output schema and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes source_key as 'Source index, title keyword, or URL fragment,' and the description adds 'index or title keyword' but omits URL fragment. max_chars has no description beyond its name and numeric constraints, so the description adds only marginal value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fetch'), the resource ('a short text excerpt from a curated source'), and the lookup method ('by index or title keyword'). It is distinct enough from siblings like french_school_map_get_sources, though it does not explicitly name or contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as french_school_map_get_sources or french_school_map_search_schools. The description implies it is for retrieving excerpts, but it does not state prerequisites, exclusions, or how to discover valid source keys.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

french_school_map_get_sourcesA

List curated sources used by this MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the burden. It states the tool lists curated sources but doesn't disclose what the output looks like (e.g., source names, formats, whether it's a simple array or structured with metadata). It also doesn't mention if this is a read-only operation, though 'list' implies non-mutating.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One-sentence description, front-loaded with the verb. Zero waste. Perfectly concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool, this is nearly complete. The description tells the agent what it returns (sources). Potential gap: it doesn't say the format or structure of the sources, but given there's no output schema, the agent might benefit from a hint. However, for simplicity and given the sibling context, it scores high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description doesn't need to explain parameters. The schema is empty. The description adds value by explaining what the tool returns. Default for zero-param tools is typically 4 since there's nothing to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: list curated sources used by this MCP. It uses a specific verb (list) and resource (sources). It distinguishes from siblings that fetch excerpts, search, or provide context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is a discovery tool for the agent to learn what sources are available. It doesn't explicitly say when to use it versus siblings, but given the sibling names it's reasonably clear this is for listing available data sources. No alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

french_school_map_school_contextB

Build a source-oriented school comparison context for a commune or address query.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeYesCommune, address, or local area.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure, but it only restates the tool's purpose. It does not explain what 'builds a context' returns, whether it makes external requests, what side effects exist (if any), or what preconditions apply. For a tool with no annotation safety net, this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words—appropriate for a tool with one parameter and no output schema. It sacrifices a small amount of space that could have been used for behavioral detail, but at this complexity level, the brevity is largely justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one string parameter and no output schema, the description is minimally viable—it covers the tool's basic intent. However, without annotations or an output schema, it leaves unspecified what the generated context looks like, how it relates to the sibling 'sources' tools, and what an agent should expect as a return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline of 3 applies. The description's 'commune or address query' loosely mirrors the schema's 'Commune, address, or local area' without adding new semantic depth. It neither confuses nor enriches the parameter's meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Build') and a resource ('source-oriented school comparison context'), and the qualifier 'source-oriented' hints at its distinctiveness from sibling tools like get_sources and search_schools. However, the phrase 'school comparison context' is somewhat abstract and doesn't fully convey what the output actually is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a commune or address query' implies the tool's input scope, giving partial usage guidance. However, it never explicitly names when to prefer this over siblings like search_schools or get_sources, nor does it provide exclusion criteria or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

french_school_map_search_education_datasetsC

Search data.gouv.fr for education datasets such as IPS, Parcoursup, exam results, sectorization and school directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoIPS établissements scolaires
page_sizeNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must disclose all behavioral traits. It only states the search action and resource but omits any details about pagination, rate limits, authentication, error behavior, or the nature of results (e.g., whether it returns dataset metadata or links). This is a significant gap for an external API interaction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence without redundancy. However, it is too sparse, missing crucial usage and parameter details. While it is effectively front-loaded with the core purpose, the lack of structure (e.g., bullet points or examples) reduces its value. It earns a middle score for being concise but incomplete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and only 2 parameters (both optional), the description provides only a high-level purpose. It does not explain the return format, error handling, or how results are structured. An agent cannot fully anticipate the tool's behavior or output, especially for an external data source like data.gouv.fr.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, meaning the description must explain the parameters 'query' and 'page_size'. It does not mention either parameter, their formats, defaults, or semantics. The agent has no added meaning beyond the schema's type/default information, which is insufficient for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Search') and resource ('data.gouv.fr') with a specific domain ('education datasets') and lists relevant examples (IPS, Parcoursup, etc.). It distinguishes this tool from the sibling 'french_school_map_search_schools' by focusing on datasets rather than schools, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus the sibling tools (e.g., search_schools, get_sources). The description implies usage for education dataset discovery, but there is no mention of conditions, exclusions, or alternatives. The agent is left to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

french_school_map_search_schoolsC

Search the national education directory on data.education.gouv.fr.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoType filter, e.g. Ecole, Collège, Lycée.
limitNo
queryNoFree-text search, e.g. school name or commune.
communeNoCommune name filter.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states that it searches a directory, with no mention of pagination, limit behavior, what fields are returned, or whether it is read-only. The safety profile is implied (search is usually read-only) but not made explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, complete sentence that conveys the tool's core purpose immediately. It is concise with zero fluff, and the primary action and target are front-loaded. No unnecessary details are included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema, no annotations, and four parameters, the description is inadequate. It does not specify the shape of results, how filters combine, or the meaning of a successful search. An agent is left guessing about the response format and how to interpret results, which is especially critical given the absence of a return schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (type, query, and commune have descriptions; limit only has default/min/max). The description itself adds no parameter-level detail. Since most parameters are documented in the schema, the baseline of 3 is appropriate; the description does not increase or decrease clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Search' and a specific resource ('the national education directory') with a clear source (data.education.gouv.fr). It distinguishes this from siblings like get_sources or search_education_datasets, which target different resources. However, it does not explicitly mention that it returns school records, relying on the tool name for that inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its siblings. It does not mention that this is the tool for searching schools specifically, nor does it describe any conditions that would favor search_education_datasets or school_context. The description offers no exclusions or alternatives.

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.

  1. 5 tool updatesv0.1.0
    • First observedfrench_school_map_fetch_source_excerpt
    • First observedfrench_school_map_get_sources
    • First observedfrench_school_map_school_context
    • First observedfrench_school_map_search_education_datasets
    • First observedfrench_school_map_search_schools

TDQS

B3.3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a clearly distinct action: listing sources, fetching excerpts, searching schools, searching datasets, and building context. No overlap or ambiguity between them.

Naming Consistency4/5

All tools share the 'french_school_map_' prefix, but the final tool 'school_context' lacks a clear verb, breaking the get/fetch/search pattern. Minor deviation overall.

Tool Count5/5

Five tools precisely cover the server's purpose—accessing school data and sources—without redundancy or unnecessary bloat.

Completeness4/5

The set covers source discovery, data retrieval, and search across directories and datasets. A minor gap is the lack of direct dataset metadata fetch, but search_education_datasets mostly satisfies this.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables querying and analyzing the Philippine schools masterlist dataset, including searching schools, listing regions and divisions, and getting school details by BEIS ID.
    5
    64
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search, query, and explore datasets from the Centre-Val de Loire Open Data portal, covering regional services, transport, education, and environment.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables discovery and inspection of French public open data on data.gouv.fr, including datasets, resources, organizations, and dataservices via natural language.
    9
    MIT