Skip to main content
Glama

elimu-mcp

elimu-mcp Glama score


Compatible with claude-sonnet-5 (released 2026-06-30) — Anthropic's most agentic Sonnet yet. Runs multi-step tool chains end-to-end without stopping short. Install: pip install elimu-mcp · Use with any MCP client.


MCP server for Kenya education system — school registry, KCSE/KCPE results lookup, HELB loans, TVET programs, and literacy resources. 5 tools.

Part of the East Africa Coordination Stack

This MCP server is one of 32 tools in the Kenya coordination infrastructure. Connect it to africa-coord-bus — the coordination event bus that routes signals between domains automatically.

pip install africa-coord-bus

All 32 servers: pypi.org/user/gmahia Live demo: coord-cascade-demo

Related MCP server: habari-mcp

IP & Collaboration

MIT licensed. Feedback via GitHub Issues only — pull requests are not accepted. Demo data is labeled DEMO and is not suitable for operational decisions. Full policy: docs/architecture/IP_POLICY.md. Security reports: see SECURITY.md.

Part of the East Africa coordination stack

Model-agnostic by design: closed APIs, open-weight models, and small distilled models are all first-class citizens.

Available Tools

5 tools
exam_results_guideC
Read-only

Guide to KCPE/KCSE results, grading, and cluster points. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
examYes
concernNoOptional filter for concern. Pass None to return all results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds the 'DEMO' label, which might indicate limited functionality. It does not contradict annotations, but no additional behavioral traits are disclosed.

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 very short (one sentence) and contains no fluff, but it omits important context. It is concise yet 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?

Despite having an output schema, the description does not specify what values 'exam' accepts (e.g., 'KCPE' or 'KCSE'). For a guide tool, this is a significant gap that hinders correct usage.

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

Parameters2/5

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

Schema coverage is only 50% (only 'concern' has a description). The tool description does not elaborate on the 'exam' parameter, which is required and lacks schema documentation. No additional semantic information is provided beyond 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 it is a guide to KCPE/KCSE results, grading, and cluster points, which identifies the tool's purpose and domain. However, it lacks an explicit verb like 'retrieve' or 'get' to specify the action.

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 vs. sibling tools. The description does not mention alternatives or exclusion criteria, leaving the agent to infer usage from the name alone.

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

helb_loan_infoC
Read-only

HELB loan eligibility, application, and repayment. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
student_typeNoundergraduate

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true. Description adds 'DEMO' indicating test mode, providing behavioral context beyond annotations. No contradictions.

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?

Extremely concise but at the cost of completeness. Single sentence, no fluff, but lacks essential details.

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?

Despite simple tool and existing output schema, description omits parameter guidance and usage scenarios. Insufficient for reliable agent invocation.

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

Parameters2/5

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

Schema coverage is 0%, and description gives no detail about the 'query' or 'student_type' parameters. The default for student_type is noted, but meaning is absent.

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?

Describes tool covering HELB loan eligibility, application, and repayment, distinguishing it from sibling tools focused on exams, literacy, schools, and TVET. However, lacks a specific verb like 'get' or 'retrieve'.

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 on when to use this tool versus alternatives. The siblings are unrelated, so no explicit usage context is provided.

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

literacy_resourcesC
Read-only

Adult education, literacy programs, and continuing education in Kenya. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNoOptional filter for county. Pass None to return all results.
age_groupNoadult

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, which the description does not contradict. The description adds no behavioral details beyond those annotations, such as data freshness, authentication needs, or that it is a demo. The DEMO tag is noted but not a behavioral trait.

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 sentence with clear subject matter. It is concise and front-loaded. However, it could be better structured with a verb and optional usage hints.

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 the simplicity of the tool (2 optional params) and existence of an output schema, the description does not explain the output context or any constraints like which counties are covered. The DEMO label suggests incomplete data but is not elaborated.

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

Parameters2/5

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

Schema description coverage is 50%: county has a description, age_group does not. The tool description mentions no parameters or their meanings, so it adds no value beyond the schema. For the undocumented age_group parameter, a description would help.

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 tool provides information about adult education, literacy programs, and continuing education in Kenya. It distinguishes from siblings like school_finder and tvet_programs which focus on other education levels. However, it lacks a verb like 'list' or 'search', making the action implicit.

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 on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or recommended contexts. The DEMO label suggests caution but is not actionable.

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

school_finderB
Read-only

Find schools in a Kenya county by level. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyYes
levelNosecondary
school_typeNoOptional filter for school type. Pass None to return all results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

The description adds no behavioral information beyond the annotation (readOnlyHint). It does not mention that it is a query tool or demo limitations.

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 concise sentence with no unnecessary words, front-loading the main action and resource.

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 three parameters and a 'DEMO' label, the description is too brief. It does not explain the output (despite output schema existence) or the demo context.

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 text mentions filtering by level but does not explain the required county parameter or school_type. Schema coverage is low, so the description partially compensates but insufficiently.

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

Purpose5/5

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

The description clearly states the tool finds schools in a Kenya county filtered by level, using a specific verb and resource. It is distinct from sibling tools.

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 on when to use this tool versus alternatives or any prerequisites. The description lacks exclusions or context.

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

tvet_programsB
Read-only

TVET programs available in Kenya by trade or county. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
tradeNoOptional filter for trade. Pass None to return all results.
countyNoCounty to list TVET institutions in.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the description adds 'DEMO' indicating a demo version, which is useful behavioral context. No contradictions, but minimal extra beyond annotations.

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?

Very concise with two sentences; the first states purpose, the second adds a note. No fluff, though 'DEMO.' could be integrated or split for clarity.

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?

Given the output schema exists and parameters are well-documented, the description is minimally adequate. However, it lacks a clear action verb and could more explicitly describe what the tool returns (e.g., program names, institutions).

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 100%, so the description need not add much. It mentions 'by trade or county' aligning with parameters but adds no further detail beyond what the schema already provides.

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 tool provides TVET programs in Kenya, filterable by trade or county. It is specific and distinct from siblings like school_finder or exam_results_guide, though it lacks an explicit action verb like 'list'.

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?

The description does not provide when-to-use or when-not-to-use guidance. It implies usage for TVET queries in Kenya but offers no exclusions or alternatives, relying only on sibling tool names for context.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.3
    • Changedexam_results_guide1 field changed
      • addedInput schema / properties / concern / description
        Added value: +"Optional filter for concern. Pass None to return all results."
    • Changedliteracy_resources1 field changed
      • addedInput schema / properties / county / description
        Added value: +"Optional filter for county. Pass None to return all results."
    • Changedschool_finder1 field changed
      • addedInput schema / properties / school_type / description
        Added value: +"Optional filter for school type. Pass None to return all results."
    • Changedtvet_programs2 fields changed
      • addedInput schema / properties / county / description
        Added value: +"County to list TVET institutions in."
      • addedInput schema / properties / trade / description
        Added value: +"Optional filter for trade. Pass None to return all results."
  2. 5 tool updatesv0.1.0
    • First observedexam_results_guide
    • First observedhelb_loan_info
    • First observedliteracy_resources
    • First observedschool_finder
    • First observedtvet_programs

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct area of Kenya's education system: exam results, HELB loans, literacy, school finding, and TVET programs. There is no overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern using descriptive noun phrases (e.g., exam_results_guide, school_finder), making them predictable and readable.

Tool Count5/5

Five tools are well-suited for an education-focused MCP server covering key aspects of Kenya's education system without being overloaded or sparse.

Completeness4/5

The set covers major educational domains (exams, loans, literacy, schools, TVET) but lacks tools for university admissions, curriculum, or teacher resources, which are minor gaps for a demo.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    MCP server for Kenya civic information — Kenya Gazette, government tenders, open data, parliament tracker, citizen feedback.
    5
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    MCP server for Kenya community finance — SACCO finder, chama formation, cooperative benefits, loan guides, member rights.
    5
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gabrielmahia/elimu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server