What the KBBI MCP server does
The KBBI MCP server gives MCP-compatible AI assistants read-only access to KBBI Daring, the official Indonesian dictionary. It accepts a word or phrase and returns structured dictionary data rather than only page text. Results can include multiple homographs, pronunciation, root words, word classes, definitions, and example sentences with their meanings.
This is an unofficial client and is not affiliated with or endorsed by the Language Development and Cultivation Agency or KBBI Daring. The project states that dictionary content belongs to its copyright holders and that the server is intended for personal, non-commercial lookups.
How it works
The server runs locally and communicates with the MCP client over standard input and output. For each lookup, it fetches the corresponding KBBI entry page at the configured site, parses the page, and returns the extracted structure. An equivalent JSON result is available through a kbbi://{query} resource.
The kbbi_lookup tool requires one string parameter named query. It accepts either a word, such as makan, or a phrase, such as rumah sakit. Empty queries and failed requests, including cases where KBBI cannot be reached, are reported as tool errors. Results are cached in memory for the lifetime of the running process.
Setup and configuration
The standard configuration starts the package through uvx:
{
"mcpServers": {
"kbbi": {
"command": "uvx",
"args": ["kbbi-mcp"]
}
}
}
Install uv first. If uv is unavailable, install the package with pip install kbbi-mcp and use kbbi-mcp or python -m kbbi_mcp as the command. The README provides setup commands or configuration guidance for Claude Code, Codex CLI, Gemini CLI, VS Code, Cursor, and Claude Desktop.
The KBBI MCP server does not require an API key or account. Optional environment variables control request timeout with KBBI_TIMEOUT_SECONDS, logging verbosity with KBBI_LOG_LEVEL, and the dictionary endpoint with KBBI_BASE_URL. The default endpoint is https://kbbi.kemendikdasmen.go.id and the default timeout is 10 seconds.
Tools and capabilities
kbbi_lookup: Performs a read-only lookup for an Indonesian word or phrase.
kbbi://{query}: Provides the same lookup result as JSON through an MCP resource.
- Structured output: Returns headwords, homograph numbers, pronunciation, roots, word classes, definitions, examples, and example meanings when present.
These results can support agent responses that explain Indonesian vocabulary, identify a root word, interpret a phrase, or quote dictionary definitions.
Limitations and notes
Anonymous lookups do not include information KBBI shows only to signed-in users, such as etymology, related entries, or suggestions for missing words. If a lookup returns nothing, try the base word or a different spelling.
KBBI limits anonymous searches, so avoid rapid bulk requests. Each lookup depends on KBBI’s current page markup; changes to that markup can cause parsing failures until the package is updated. The server is therefore better suited to occasional interactive lookups than uncontrolled high-volume collection. Use the MCP Inspector with npx @modelcontextprotocol/inspector uvx kbbi-mcp when diagnosing client or server behavior.