Control, inspect, and mutate Bevy applications with AI coding assistants via the Bevy Remote Protocol (BRP).
This repository is archived and no longer maintained.
Development has moved to the unified workspace at: https://github.com/natepiano/bevy_brp
The
bevy_brp_mcp
crate is now maintained as part of the workspace at: https://github.com/natepiano/bevy_brp/tree/main/mcp
bevy_brp_mcp
A Model Context Protocol (MCP) server that enables AI coding assistants to control launch, inspect and mutate Bevy applications via the Bevy Remote Protocol (BRP). This tool bridges the gap between coding agents and Bevy by providing comprehensive BRP integration as an MCP server.
bevy | bevy_brp_mcp |
---|---|
0.16 | 0.1 |
The bevy_brp_mcp crate follows Bevy's version numbering and releases new versions for each Bevy release.
requires bevy_brp_extras
first, install via cargo:
cargo install bevy_brp_mcp
configure your mcp server - for claude code this would be in the ~/.claude.json
file.
"mcpServers": {
"brp": {
"type": "stdio",
"command": "bevy_brp_mcp",
"args": [],
"env": {}
}
},
that's it!
bevy_brp_mcp is designed to be used with AI coding assistants that support MCP (like Claude). The MCP server provides tools that allow the AI to:
bevy_brp_extras
)For full functionality, your Bevy app should include BRP support:
use bevy::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(bevy::remote::RemotePlugin::default()) // Enable BRP
.run();
}
For enhanced features like screenshots and format discovery, also add bevy_brp_extras:
use bevy::prelude::*;
use bevy_brp_extras::BrpExtrasPlugin;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(BrpExtrasPlugin) // Enhanced BRP features
.run();
}
In either case you'll need to make sure to enable bevy's "bevy_remote" feature.
This crate is designed to work seamlessly with bevy_brp_extras. When both are used together:
BrpExtrasPlugin
to your Bevy app for enhanced BRP featuresbevy_brp_mcp
with your AI coding assistantIf you have bevy_brp_extras installed, it can get the type information directly from the running app andand provide it if queried via brp_extras/discover_format - or it will provide it in the error message if your coding agent tries a call and fails.
list_bevy_apps
to find available applicationslaunch_bevy_app
to start your game with proper loggingbevy_query
to find entities of interestbrp_get_watch
to observe entity changes in real-timebevy_mutate_component
to adjust entity propertiesread_log
to examine application outputbrp_extras_screenshot
to document current statebrp_extras_send_keys
to send keyboard input for testingAll launched applications create detailed log files in /tmp/
with names like:
bevy_brp_mcp_myapp_1234567890.log
(application logs)bevy_brp_mcp_watch_123_get_456_1234567890.log
(monitoring logs)Use the log management tools to view and clean up these files.
Dual-licensed under either:
at your option.
Provides linear programming (LP) and mixed-integer programming (MIP) optimization capabilities using the HiGHS solver.
A Next.js template for building MCP servers with OAuth 2.1 authentication, supporting PostgreSQL and Redis.
An MCP server that enables Large Language Models to make HTTP requests and interact with web APIs. It supports automatic tool generation from OpenAPI/Swagger specifications.
Parses HAR (HTTP Archive) files and displays requests in a simplified format for AI assistants.
Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.
Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's 1M context window.
Gentoro generates MCP Servers based on OpenAPI specifications.
A Binary Ninja plugin, MCP server, and bridge that seamlessly integrates Binary Ninja with your favorite MCP client.
An MCP server for interacting with Autodesk Civil 3D, requiring a companion plugin and Node.js 18+.
Clojure linter