gofmanaa/turret_mcp_server
If you are the rightful owner of turret_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Turret Controller MCP Server is a Rust-based server that manages a turret using serial communication, providing tools for firing, positioning, and bullet count retrieval.
Turret Controller MCP Server
Description
This project is an MCP (Model Context Protocol) server that controls a turret using serial communication. It exposes tools to:
- Fire the turret
- Set the turret's position (pan and tilt)
- Get the current number of bullets
Usage
This server exposes tools that can be accessed via an MCP client.
Tools
- fire: Fires the turret.
- set_turret_position: Sets the turret's position. Requires
x
andy
coordinates (0-180). - get_bullets: Gets the current number of bullets.
- echo: Repeat what you say.
Installation
- Make sure you have Rust installed. If not, install it from https://www.rust-lang.org/.
- Clone the repository.
- Navigate to the project directory.
- Run
cargo build -r
to build the project. - MCP Agent Plugin node require settings.json like this to command or URL to connect MCP servers
{
"mcpServers": {
"turret-mcp-server": {
"command": "/path/to/turret_mcp_server/target/release/turret_mcp_server",
"alwaysAllow": [
"set_turret_position",
"get_bullets",
"fire"
]
}
}
}
- Connect the turret to USB
How to use
In chat context you can simple write:
turn the turret left, then right and shoot
Serial Port Configuration
The server uses the /dev/ttyUSB0
serial port by default. You may need to modify the file to use the correct serial port for your system.
Dependencies
The project uses the following dependencies:
anyhow
rmcp
serialport
serde_json
tracing_subscriber
These dependencies are managed by Cargo, the Rust package manager.
Docker
You can also build and run this project using Docker.
Building the Docker Image
To build the Docker image, run the following command in the project directory:
docker build -t turret-mcp-server .
Running the Docker Container
To run the Docker container, you need to pass the serial port device from the host to the container. You can do this using the --device
flag.
docker run -it -p 8080:8080 --device=/dev/ttyUSB0 turret-mcp-server
The SSE MCP configuration (settings.json) for Docker looks like this:
{
"mcpServers": {
"turret-mcp-server": {
"url": "http://127.0.0.1:8080/sse"
}
}
}
Note: Make sure to replace /dev/ttyUSB0
with the correct serial port for your system.