Skip to main content
Glama
gabrielmahia

county-mcp

by gabrielmahia

county-mcp

county-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 county-mcp · Use with any MCP client.


Kenya 47-county local government data via MCP.

PyPI Thesis Layer

Install

pip install county-mcp

Related MCP server: historia-mcp

Tools (6) — All 47 counties covered

Tool

Description

county_information

Demographics, area, wards, constituencies for all 47 counties

county_budget_guide

Devolution funding, equitable share, own-source revenue

county_services_guide

What services are provided at county vs national level

cdf_guide

Constituency Development Fund — bursaries, project proposals

ward_information

MCA role, ward development fund, how to petition county assembly

county_contact_directory

County government websites, governor offices, assembly contacts

The Nairobi Stack

License

MIT © Gabriel Mahia | contact@aikungfu.dev

Part of the East Africa Coordination Stack

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

When this server detects a threshold condition, the bus notifies:

  • bima-mcp — parametric insurance evaluation

  • kilimo-mcp — agricultural advisory

  • afya-mcp — health surveillance activation

  • county-mcp — county office alert

pip install africa-coord-bus

All servers: pypi.org/user/gmahia

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

6 tools
cdf_guideC

Kenya Constituency Development Fund (CDF) guide. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

No annotations are present, so the description must convey behavioral traits. 'Guide' suggests a read-only operation, and 'DEMO' implies limited or non-production data, but these are implicit. The agent cannot determine permissions, data freshness, or whether the tool is safe for production use.

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 very short (one sentence), which is concise but lacks structure. The 'DEMO' label is unclear and could be expanded. While brevity is valued, the description could be improved by front-loading key purpose details without adding wordiness.

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 zero parameters and an output schema, the description does not explain what the guide contains or how the output is structured. Given sibling tools with similar naming, this lack of completeness could lead to incorrect tool selection. The DEMO note further reduces completeness.

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?

There are zero parameters, so the input schema is fully covered. The description adds context by indicating the tool is a guide (informational) and a demo, which provides some semantic meaning beyond the empty schema. Baseline for 0 parameters is 4, and the description meets it.

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

Purpose3/5

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

The description identifies the tool as a guide about Kenya's Constituency Development Fund, which is a specific resource. However, it lacks detail on the type of information provided (e.g., allocation, projects, contacts), and the 'DEMO' label is ambiguous. Compared to sibling tools like 'county_budget_guide', the purpose is similar but moderately clear.

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 alternatives. Siblings include other guides and directories, but the description does not specify scenarios where 'cdf_guide' is preferable, leaving the agent without decision support.

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

county_budget_guideD

Kenya county devolution and budget information. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations, the description must fully disclose behavior. It only states it provides information but fails to mention read-only nature, required permissions, effect of null county, or response format. The 'DEMO' tag hints at incomplete functionality.

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

Conciseness2/5

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

The description is extremely short but at the cost of essential information—this is under-specification, not effective conciseness. It does not earn its place by providing useful context.

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

Completeness1/5

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

Despite an output schema existing, the description fails to cover the tool's core functionality and parameter behavior. For a tool with one optional parameter, complete guidance is missing.

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?

Schema description coverage is 0%, yet the description adds zero detail about the sole parameter 'county'. The user is left guessing its purpose (e.g., filtering, required?) and default behavior.

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

Purpose2/5

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

The description 'Kenya county devolution and budget information. DEMO.' is vague and does not specify what the tool actually returns or how it differs from siblings like 'county_information' or 'ward_information'. The 'DEMO' suffix suggests incompleteness, further obscuring purpose.

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 alternatives (e.g., for budget queries vs. contact lookups). Context signals show related siblings but no explicit usage conditions or exclusions.

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

county_contact_directoryD

Kenya county government contact directory. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations provided, the description must convey behavior but only says 'contact directory' and 'DEMO'. It does not disclose whether it returns all counties, handles null input, requires authentication, or any side effects. The 'DEMO' tag suggests non-production data but is not explicit.

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

Conciseness2/5

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

The description is extremely short (one sentence) but lacks substantive information. Conciseness is not valuable when it omits critical details; this is underspecification, not efficiency.

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

Completeness1/5

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

Despite having an output schema and only one parameter, the description fails to explain what the directory contains (e.g., fields returned) or how to use the parameter. For a directory tool, more context is needed to be minimally useful.

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?

Schema description coverage is 0% and the description adds no meaning to the single parameter 'county'. The schema indicates it can be string or null but the description does not explain how it filters or what default behavior is.

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

Purpose2/5

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

The description states 'Kenya county government contact directory' which vaguely indicates a directory for county contacts, but does not specify what type of contact information (e.g., phone, address) or how it relates to sibling tools like 'county_information' or 'ward_information'. The addition of 'DEMO' adds ambiguity about data authenticity.

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

Usage Guidelines1/5

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 alternatives. No scenarios, prerequisites, or exclusions are mentioned, leaving the agent without context for selection.

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

county_informationC

Kenya county demographics and basic statistics. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNo
regionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'DEMO' and 'demographics and basic statistics,' lacking details on read-only nature, data source, or side effects. The 'DEMO' tag could mislead about production readiness.

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

Conciseness2/5

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

The description is extremely brief but lacks essential content. It is not well-structured and does not earn its place by providing necessary context.

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 output schema exists, return values are partly covered. However, the description omits parameter meaning, data granularity, and example usage, making it incomplete for an agent to reliably invoke.

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?

Schema description coverage is 0%, and the description provides no information about the two parameters (county, region). An AI agent cannot infer filtering or usage from the description alone.

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 provides 'Kenya county demographics and basic statistics,' which specifies the verb (provide) and resource (county demographics). It distinguishes from sibling tools like budget and services guides, but does not explicitly differentiate.

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 (e.g., ward_information for finer granularity). No exclusions or context for appropriate use.

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

county_services_guideC

Services available at Kenya county government level. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. Only 'DEMO' hints at limited reliability, but it does not clarify read/write behavior, required permissions, or side effects. The agent cannot infer operational safety.

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

Conciseness2/5

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

The description is extremely short, but lacks essential details. Conciseness is not valuable when it omits critical information; the sentence barely adds value beyond the name.

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 low complexity (1 optional parameter, output schema exists), the description fails to explain the tool's inputs, outputs, or behavior. The agent cannot reliably determine how to invoke or interpret results.

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?

Schema coverage is 0%; the parameter 'service' has no description or constraints in the schema, and the tool description adds no explanation of its purpose or acceptable values. The agent has no guidance on how to use this parameter.

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

Purpose3/5

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

The description states it covers services at Kenya county government level, giving a general idea of the tool's domain. However, it lacks a verb to indicate the action (e.g., list, get, search) and does not differentiate from siblings like county_information or ward_information.

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. The addition of 'DEMO' suggests it's experimental, but no explicit when-not-to-use or alternative suggestions are given.

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

ward_informationD

Kenya ward-level civic information and ward representative role. DEMO.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It does not disclose behavioral traits such as whether the tool is read-only, any side effects, or what happens with the input parameter. The 'DEMO' tag hints it might not be production-ready but is insufficient.

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

Conciseness2/5

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

The description is very short (one sentence plus 'DEMO') but it is not informative. It lacks essential details and does not earn its length; it is under-specified rather than concise.

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 is too minimal to be complete. It does not explain when to invoke the tool, how to use the optional parameter, or what kind of information is returned, making it insufficient for an agent to use correctly.

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 one parameter 'county' with no description. Schema description coverage is 0%. The tool description does not explain the parameter or its expected format, leaving the agent without guidance.

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

Purpose2/5

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

The description says 'Kenya ward-level civic information and ward representative role. DEMO.' It vaguely indicates the tool provides ward information but does not specify a clear verb+resource action or distinguish from sibling tools like county_information.

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. Sibling tools exist (e.g., county_information) but no comparison or context is provided.

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

TDQS

C2.6/5.0
Disambiguation5/5

Each tool targets a distinct aspect of Kenya county information (CDF, budget, contacts, demographics, services, wards) with no overlap in purpose, allowing clear differentiation.

Naming Consistency5/5

All tool names follow a consistent pattern of a topic descriptor followed by a common suffix (guide, directory, information), all in snake_case, making them predictable and easy to understand.

Tool Count5/5

With 6 tools covering key county-related information categories, the set is well-scoped for an informational server—neither too sparse nor overloaded.

Completeness4/5

The tool surface covers essential county information areas, but as a demo it lacks some potentially useful tools (e.g., county legislation, project tracker), though core needs are met.

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
    A
    quality
    B
    maintenance
    Provides access to Kenya's civic datasets including parliament records, county budgets, SACCO registry, and drought data through MCP tools. Enables AI agents to analyze and query Kenyan public data for civic applications.
    6
    1
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Provides tools to access information about religious institutions and community services in Kenya, including Catholic dioceses, Protestant denominations, Muslim communities, and welfare programs.
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables interaction with Kenya's government processes by providing form checklists, draft letters, requirements checks, eCitizen guides, Huduma Centre locations, and timeline planning.
    6
    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/county-mcp'

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