Download this package.
go get github.com/sedyh/ebitengine-mcp@v1.1.0
Wrap your game to record its state.
examples/plain-record/main.go
import "github.com/sedyh/ebitengine-mcp/mcp"
func main() {
if err := ebiten.RunGame(mcp.Wrap(NewGame())); err != nil {
log.Fatal(err)
}
}
And add this config to your mcp servers.
~/.cursor/mcp.json
{
"mcpServers": {
"ebitengine-mcp": {
"command": "go run github.com/sedyh/ebitengine-mcp/cmd/server@v1.1.0"
}
}
}
Other editors
VS Code
~/.vscode/mcp.json
{
"servers": {
"ebitengine-mcp": {
"type": "stdio",
"command": "go",
"args": ["run", "github.com/sedyh/ebitengine-mcp/cmd/server@v1.1.0"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"ebitengine-mcp": {
"command": "go",
"args": ["run", "github.com/sedyh/ebitengine-mcp/cmd/server@v1.1.0"]
}
}
}
Ask your agent to debug something in your game, you can use example/record
as an example.
- Capture build and launch logs.
- Capture app errors.
- Capture N frames with M delay in milliseconds.
- ✅ DrawFinalScreen
- ❌ LayoutF
Feature support matrix: check tools tab.
- ✅ Cursor
- ✅ Windsurf
- ✅ VS Code
- ✅ Claude Code
- ✅ Claude Desktop
- ✅ Cline
- ✅ Emacs MCP
- ✅ Neovim MCP
- ❓ Continue
- ❓ OpenSumi
- ❓ TheiaAI
- ❓ Roo Code
- ❌ Zed
- ❌ Trae
Your llm-based editor runs a stdio mcp server that provides various tools for working with the game in your project. The editor specifies the settings and location for running the project, and the server assembles it and passes certain flags on startup, which are picked up by the decorator embedded in the game. The decorator listens for requests to run tools, executes them, and returns a response via a reverse connection to the server, after which it closes. The server supplements the response with application logs and adapts the response to the mcp context. The server remains running as long as editor wants.
Checking the operation of a message via a reverse connection based on long polling.
Testing a universal builder that can run a project from anywhere outside the working directory.
Testing the work via mcp together with the entire chain of message processing.