KRA eTIMS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_knowledge_baseB | Search the comprehensive KRA eTIMS knowledge base (guides, API specs, error codes, code tables). Returns relevant excerpts with sub-millisecond execution. |
| get_api_specB | Get full technical specifications, parameters, headers, and request/response payloads for an eTIMS API endpoint (OSCU or VSCU). |
| lookup_codeB | Look up official KRA code tables or specific code definitions (tax types, payment methods, credit note reasons, stock movement types, packaging units, quantity units). |
| validate_etims_payloadA | Validates eTIMS JSON payloads, KRA PINs, branch IDs, and ensures tax math (taxblAmtA-E, taxAmtA-E, totAmt) perfectly balances before submitting to KRA. |
| generate_sample_payloadA | Generates production-ready, mathematically balanced sample JSON request payloads for eTIMS endpoints (sales, credit notes, item registration, stock in/out, handshake). |
| explain_error_codeA | Diagnose and resolve KRA eTIMS error codes (e.g., 000, 901, 903, 910, 994, TIS memory/clock codes). Returns cause, description, and concrete fix steps. |
| generate_qr_code_stringA | Formats invoice confirmation data into the official KRA eTIMS QR code string: 'invoice_date(ddmmyyyy)#time(hhmmss)#cu_number#cu_receipt_number#internal_data#receipt_signature'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| scaffold-etims-client | Generates a complete, production-ready KRA eTIMS API client in your chosen programming language. |
| debug-etims-error | Troubleshoot a failed eTIMS request or error response code. |
| implement-credit-note | Step-by-step guide and code implementation for generating compliant credit notes. |
| setup-stock-sync | Step-by-step instructions and code to implement mandatory eTIMS stock movement synchronization. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| oscu-vs-vscu | Detailed comparison between Online Sales Control Unit (Cloud) and Virtual Sales Control Unit (Local JAR). |
| onboarding-guide | Step-by-step workflow to register on sandbox and production, obtain device serials, and perform initial handshake. |
| credit-notes-rules | Statutory rules and API patterns for issuing fiscal credit notes referencing original invoice numbers. |
| buyer-initiated-invoicing | How corporate buyers issue valid eTIMS invoices on behalf of small-scale farmers, informal traders, and suppliers. |
| stock-management | Complete workflow for tracking stock in, stock out, branch transfers, and manufacturing adjustments. |
| fuel-station-system | Specialized integration requirements for petroleum retail, DOMS, Fusion, and forecourt controllers. |
| tis-qr-code-spec | Exact receipt layout guidelines, mandatory print fields, and the official QR code text string formula. |
| code-tables | Complete dictionary of all KRA system code tables (tax, payment, CN reasons, units) |
| error-codes | Complete database of KRA eTIMS error codes, causes, and diagnostic steps |
| api-catalog | Full technical specification of all OSCU and VSCU endpoints and schemas |
TDQS
Scored across 7 tools
Most tools have distinct roles: endpoint specs, code-table lookup, payload validation, sample generation, QR formatting, and error diagnosis. The broad search_knowledge_base overlaps somewhat with lookup_code, explain_error_code, and get_api_spec, but the descriptions clarify when each specialized tool should be used.
All names use consistent snake_case and generally follow a verb_noun or verb_object pattern such as search_knowledge_base, get_api_spec, validate_etims_payload, and generate_sample_payload. The convention is predictable throughout the set.
Seven tools is a well-scoped set for a developer-facing KRA eTIMS assistant, covering lookup, generation, validation, and diagnosis without excessive surface area. Each tool appears to earn its place.
The surface covers key developer workflows: discovering API specs, looking up codes, validating payloads, generating samples, formatting QR strings, and resolving errors. It lacks direct submission or lifecycle tools, but for a knowledge/validation-oriented MCP server the coverage is strong with minor gaps.