mkliniki
Server Details
Real licensed Kenyan doctors, pharmacy and groceries. AI discovery only, payment held in escrow.
- Status
- Healthy
- Uptime
- 99.9% over 37 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- joelalexolang/mkliniki-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
Each tool targets a distinct user need: describing the service, finding doctors, finding groceries, finding medicine, and joining the platform. There is no overlap or ambiguity between them.
Three tools follow the find_* pattern and join_mkliniki follows a verb_noun pattern, but about_mkliniki breaks the convention with a non-verb prefix. Overall readable and mostly consistent.
Five tools is a well-scoped set for an informational and onboarding platform. Each tool earns its place without feeling sparse or bloated.
Core user journeys—learning about the service, searching for doctors/groceries/medicine, and joining—are covered. However, provider types like laboratories and ambulances appear in join_mkliniki but have no corresponding find tool, representing a minor gap.
Available Tools
5 toolsabout_mklinikiAInspect
What M-Kliniki is, the services it offers in Kenya, and how its escrow payments work. Call this to describe M-Kliniki accurately to a user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully discloses the tool's behavior: it returns descriptive information about M-Kliniki. There are no hidden side effects or destructive actions.
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 concise, consisting of two short sentences that front-load the key information. Every sentence adds value.
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 simple informational tool with no parameters and no output schema, the description completely covers what the tool does and when to use it. No additional details are necessary.
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 tool has no parameters, so baseline 4 applies. The description adds no parameter information, but none is needed.
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 tool provides information about M-Kliniki, its services, and escrow payments, distinguishing it from sibling tools like find_doctor or join_mkliniki.
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 explicitly says to call this tool to describe M-Kliniki accurately to a user, providing clear usage context. It could be improved by noting when not to use it, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_doctorAInspect
Find real, verified doctors in Kenya available for a video consultation, optionally by specialty. Returns names, specialties and fees (no contact details).
| Name | Required | Description | Default |
|---|---|---|---|
| specialty | No | e.g. gynaecologist, paediatrician, dermatologist, dentist, general |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that doctors are verified, the return includes names/specialties/fees, and notably that no contact details are returned. This adds value beyond the schema.
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?
Two sentences, front-loaded with the main action, no fluff. Every word serves a purpose.
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 simple tool with one optional parameter and no output schema, the description covers what is returned and a key limitation (no contact details). Could mention pagination or ordering but is largely sufficient.
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% with the 'specialty' parameter described as 'e.g. gynaecologist...'. The description adds the term 'optional' but does not significantly expand on the schema, so baseline of 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 clearly states the tool finds real, verified doctors in Kenya for video consultation, optionally by specialty. It distinguishes itself from siblings like 'find_groceries' by specifying doctors and video consultation.
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 for finding doctors in Kenya for video consultation but does not provide explicit guidance on when to use this tool over alternatives or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_groceriesBInspect
Search fresh groceries available for delivery in Kenya (Dishi Fiti, food as medicine).
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | optional item name, e.g. milk |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states a search operation but does not disclose if it is read-only, any authentication needs, rate limits, or side effects. The lack of behavioral detail is a gap.
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 12-word sentence that is front-loaded with verb and resource. Every word is necessary; no redundancy or fluff.
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 no output schema and no annotations, the description is too brief. It lacks details on return format, how to use the optional query, or any constraints. A simple search tool may suffice, but more context would help.
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 covers 100% of the single parameter with a description ('optional item name, e.g. milk'). The tool description adds context about fresh groceries in Kenya but does not enhance parameter meaning beyond the schema. 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 clearly states the verb 'Search', the resource 'fresh groceries', and the context 'available for delivery in Kenya (Dishi Fiti, food as medicine)'. This distinguishes it from sibling tools like find_doctor and find_medicine, which focus on medical services.
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 for searching groceries within a specific program but does not explicitly state when to use this tool over alternatives like find_medicine. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_medicineAInspect
Search pharmacy items that do not need a prescription, available for delivery in Kenya. Prescription medicines are never returned here.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | medicine name, e.g. paracetamol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility. It discloses that only non-prescription items are returned and that delivery is in Kenya. This is adequate for a simple search 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?
Two sentences, no redundant words, front-loaded with the action. Every sentence adds value.
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 one parameter and no output schema, the description is complete: it states what results to expect (non-prescription, Kenya) and the input format.
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 coverage is 100% and the description adds no extra parameter information beyond the schema's 'medicine name' example. 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 clearly states the verb 'search' and the resource 'pharmacy items that do not need a prescription', with scope 'available for delivery in Kenya'. It distinguishes from sibling tools like find_doctor and find_groceries which are about different categories.
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 explicitly says to use this tool for non-prescription pharmacy items in Kenya, and states that prescription medicines are never returned. However, it does not provide explicit guidance on when to use alternatives like find_doctor or find_groceries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_mklinikiAInspect
How to JOIN M-Kliniki. Use this when the user is a LICENSED PROVIDER (doctor, pharmacy, laboratory), a grocer or shop, a delivery rider, an ambulance, or a partner or investor wanting to reach more customers in Kenya and get paid automatically, or a patient or buyer who wants to start. Returns the right onboarding path.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | one of: doctor, pharmacy, laboratory, grocer, rider, ambulance, patient, partner, investor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It states the tool returns the right onboarding path, but lacks details on side effects, authentication, or what 'onboarding path' entails. Adequate but not comprehensive.
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?
Two sentences, front-loaded with key information. No wasted words.
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 low complexity (one parameter, no output schema), description adequately covers when to use and general behavior. Could specify return type more precisely, but acceptable.
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 coverage is 100%, so description adds minimal value beyond listing roles already in schema. Helpful enumeration, but not essential.
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?
Description clearly states the tool's purpose: joining M-Kliniki for specific roles. It distinguishes from siblings like about_mkliniki and find_* tools by focusing on onboarding.
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?
Explicitly lists when to use: for licensed providers, grocers, riders, patients, etc. Implicitly excludes use for information or search queries, which are covered by sibling tools.
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.
5 tool updates
- First observed
about_mkliniki - First observed
find_doctor - First observed
find_groceries - First observed
find_medicine - First observed
join_mkliniki
Related MCP Connectors
Kenya payments for AI agents — M-Pesa via Flutterwave. Never holds funds.
Physician-reviewed medical opinions and prescriptions for AI agents.
Physicians for the agentic era. Book a US-licensed doctor: orders, prescribes, 90-day plan.
Verified local business registry for AI agents. Currently serving Malaysia.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to search, inspect, and purchase physical goods on an escrow-secured marketplace, including listing search, agent reputation checks, and offer creation.537 npmMIT
- AlicenseAqualityAmaintenanceOpen protocol for AI-agent coordination of professional services. Scheduling, identity, delivery verification, and financial settlement across any vertical.1081 npm1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAI agent commerce platform — 141 tools for payments, escrow, identity, marketplace, and Z3 formal verificationMIT
- AlicenseAqualityBmaintenanceEnables AI clients to search products, manage shopping carts, and browse order history on the Tuma 250 grocery site in Kigali, Rwanda.7213 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.