MoonshotAI / MoonshotAI/kimi-code
Feature Request: browser automation plugin (kimi-browser) via MCP
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
Motivation
Kimi Code currently has excellent tools for reading and modifying local code, plus WebSearch and FetchURL for text-based web access. However, there is no built-in or official-plugin way to interact with a web browser visually—e.g., navigate to a page, take a screenshot, click an element, fill a form, or verify a local web app in a headless browser.
Other coding agents are moving in this direction:
- Codex ships a Computer Use plugin that can operate desktop apps and browsers (screen recording + accessibility permissions).
- Claude exposes a native
computer_usetool that combines screenshots with coordinate-based actions. - The community has produced MCP servers such as
microsoft/playwright-mcpthat expose browser control to agents.
For many dev tasks, a lightweight headless-browser capability is enough and avoids the heavy permissions of full desktop control:
- Verify a checkout page after local changes.
- Screenshot a UI component rendered in Storybook.
- Fill out a form to reproduce a bug.
- Scrape dynamic content that
FetchURLcannot retrieve.
Proposal
Add an official Kimi Code plugin, tentatively named kimi-browser, that exposes browser automation tools through an MCP server backed by Playwright (or Puppeteer).
Plugin location
plugins/official/kimi-browser/
├── kimi.plugin.json
├── SKILL.md
└── bin/
└── kimi-browser.mjs # MCP server entry
Exposed MCP tools (initial set)
| Tool | Purpose |
|---|---|
mcp__kimi-browser__navigate |
Open a URL in a headless browser context. |
mcp__kimi-browser__screenshot |
Capture the current viewport or a specific element. |
mcp__kimi-browser__click |
Click an element by selector or coordinates. |
mcp__kimi-browser__type |
Type text into an input field. |
mcp__kimi-browser__scroll |
Scroll the page or an element. |
mcp__kimi-browser__evaluate |
Run a JS snippet in the page context and return the result. |
mcp__kimi-browser__close |
Close the browser context and release resources. |
How it fits Kimi Code
- No core changes: the plugin only declares an MCP server in its manifest, matching the existing
kimi-datasourcepattern. - Reuses existing permission model: users approve
mcp__kimi-browser__*calls just like any other MCP tool. - Optional install: users who do not need browser automation can simply not install it.
- Cross-platform: headless Playwright works on macOS, Linux, and Windows without requiring screen-recording or accessibility permissions.
Security considerations
- Browser automation can interact with signed-in sessions and external sites, so all tool calls should require explicit approval by default.
- The plugin should default to headless mode and isolate each session (clean context, no persistent cookies unless configured).
- Network access should respect the user environment; the plugin should not bypass proxy or firewall settings.
Scope questions for maintainers
Before I start implementing a PR, I would like to confirm a few things:
- Is an official
kimi-browserplugin aligned with Kimi Code’s roadmap, or is browser/computer-use automation being handled differently? - Should the plugin ship its own browser binary via
playwright install, or should it expect the user to have Chromium/Chrome already installed? - Are there naming conventions or manifest requirements for official plugins beyond what
kimi-datasourcedemonstrates? - Would the team prefer a minimal initial PR (e.g., navigate + screenshot only) or a more complete tool set from the start?
I am happy to iterate on the design and provide a proof-of-concept once the direction is confirmed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the existing kimi-datasource plugin and its manifest conventions, then compare them with the proposed plugins/official/kimi-browser/kimi.plugin.json, SKILL.md, and bin/kimi-browser.mjs layout. Before implementation, resolve whether the official plugin is in scope, which browser installation model to use, and whether the first PR should include only navigation and screenshots or the full tool set. Done criteria depend on those maintainer decisions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, typescript
- Domain
- cli, devtools, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100