kage MCP server
Commit Nov 14, 2026A fast, hackable coding agent for terminal, editor, and browser that supports parallel child agents and Lua-based configuration.
Also known as QaidVoid/kage
- Stars
- 5
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 14, 2026
- License
- MIT
What is kage MCP?
kage is a fast, hackable coding agent for terminal, editor, and browser that supports parallel child agents and Lua-based configuration.
Summary generated from the project's README
About kage MCP server
Running a coding agent through your terminal, editor, or browser is what kage enables for developers who need high-speed, scriptable assistance. Built in Rust, this tool allows you to manage complex coding tasks by deploying parallel child agents or using a swarm call to handle multiple sub-tasks at once. You can interact with it via a terminal user interface, a desktop application, or by driving it through editors like Zed and Neovim using the Agent Client Protocol.
Configuration is handled through Lua, allowing you to define custom keymaps, themes, and plugins. It supports a wide range of model providers including Anthropic, OpenAI, Gemini, DeepSeek, and Z.ai, as well as any OpenAI-compatible endpoint. Users can connect to remote MCP servers to access tools, resources, and prompts, and can perform web searches using DuckDuckGo, SearXNG, or the Brave Search API. The system provides granular control over permissions, letting you choose between running tools freely or requiring manual approval for specific calls or sessions.
What you can do with it
- 1Execute parallel coding tasksHand off multiple sub-tasks to several child agents that run simultaneously to speed up development.
- 2Integrate with existing editorsUse your preferred code editor to drive the agent while maintaining active sessions and approvals.
- 3Extend functionality with LuaCreate custom tools, commands, and automated callbacks by writing Lua scripts.
Written from the project's README. Every use case is checked against a quote from it.
Automated checks
Ran Nov 15, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableqaidvoid/kage is public and reachablegithub.com/qaidvoid/kage ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/qaidvoid/kage ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubkage
A coding agent for your terminal, your editor and your browser. Written in Rust, configured and extended in Lua, and small enough to read.
What it does
- A terminal UI built for long sessions. Verb-first tool rows, grouped reads, live output from running commands, collapsible thinking, inline approvals, search, mouse selection, and a transcript printed when you quit. Modeless by default, with a vim mode if you want one.
- Agents. The model can hand work to child agents that run in
parallel, or many at once with one
swarmcall. Each one shows up as a live card, a pinned row above the prompt, and a full view you can open, steer or stop. - Configured in Lua.
~/.config/kage/init.luasets options, keymaps, highlights, autocmds and the chrome around the prompt. Plugins add tools, commands, providers and custom blocks, each behind the capabilities it asks for. - Many providers, one model picker. Anthropic, OpenAI, Gemini,
DeepSeek, Z.ai, OpenRouter and other OpenAI-compatible APIs, plus
your own endpoints in
config.toml. A bundled model catalog knows each model's context window, inputs and thinking levels, andkage models refreshupdates it on demand. - MCP. Tools, resources (
@server:urimentions), prompts as/server:promptcommands, and OAuth login for remote servers. - Editors over ACP.
kage rpcspeaks the Agent Client Protocol, so Zed, Neovim and other ACP clients can drive it, with sessions, approvals and agents intact. - Desktop and browser.
kage servehosts sessions for the desktop app and its browser build. - Web search. A
web_searchtool on DuckDuckGo with no key, or on your SearXNG instance or the Brave Search API. - Sessions you can come back to. Every conversation is saved. Resume, clone or fork it, and compact it when it grows.
- Permissions when you want them. Tools run freely by default. Add rules, switch to ask mode, or approve per call, per session or for good.
- Scriptable.
kage -pruns one prompt and prints the answer, or a JSON event stream with--json.
Install
Download kage for Linux, macOS or Windows from the
releases; every release
also carries the desktop app, with kage inside, and the browser
client kage serve --fetch-web installs. Or install from crates.io,
with Rust 1.89 or newer and a C compiler:
cargo install kage-cli --locked
Or build from source:
git clone https://github.com/QaidVoid/kage
cd kage
cargo build --release
ln -s "$PWD/target/release/kage" ~/.local/bin/kage
The releases also carry kage-desktop, a desktop client for Linux,
macOS and Windows. See the install guide.
Quick start
kage init # starter config, optional API key
kage # interactive TUI
kage -p "summarize this repo" # one prompt, printed answer
kage resume --last # pick up where you left off
kage doctor # check the setup
Keys come from environment variables such as ANTHROPIC_API_KEY, or
from kage auth login. Inside the TUI, / opens the command palette,
ctrl+p switches models and ? lists every key.
A taste of init.lua:
kage.opt.theme = "kage-dawn"
kage.keymap.set("i", "<F2>", kage.action.OpenModelPicker, { desc = "switch model" })
kage.api.autocmd_create("tool_call", {
pattern = "shell",
callback = function(ev)
kage.log("info", "shell: " .. tostring(ev.data.input.command))
end,
})
Docs
The guide lives in docs/: install, keybindings, commands, providers,
Lua config, agents, MCP, permissions, themes, plugins and editor setup.
Preview it with cd docs && bun run dev.
Build and test
cargo build
cargo test --workspace
cargo fmt --all --check
cargo clippy --all-targets -- -D warnings
cargo xtask check-ascii
Credit
kage learned from pi and Kimi Code.
License
MIT. See LICENSE.
kage MCP questions
How can I configure kage?
You can configure kage using Lua via the ~/.config/kage/init.lua file to set options, keymaps, highlights, and more.
Which AI models are supported?
It supports Anthropic, OpenAI, Gemini, DeepSeek, Z.ai, OpenRouter, and other OpenAI-compatible APIs.
Can I use kage with my existing editor?
Yes, kage supports the Agent Client Protocol (ACP), allowing editors like Zed and Neovim to drive it.
Does kage support web searching?
Yes, it includes a web_search tool that works with DuckDuckGo, SearXNG, or the Brave Search API.