Files
wehub-resource-sync db1d565b64
Integration Tests / melodic (push) Has been cancelled
Integration Tests / noetic (push) Has been cancelled
Integration Tests / humble (push) Has been cancelled
Integration Tests / jazzy (push) Has been cancelled
Ruff Lint & Format / ruff (push) Has been cancelled
Sync main to develop / Check if sync is needed (push) Has been cancelled
Sync main to develop / Sync main to develop (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:36:23 +08:00

73 lines
2.0 KiB
Markdown

# Installation from Source
This guide is for developers who need to modify the ROS-MCP server source code. For most users, we recommend the standard [installation via uvx](clients/claude-code.md).
## 1. Clone the Repository
```bash
git clone https://github.com/robotmcp/ros-mcp-server.git
```
> **WSL Users**: Clone in your WSL home directory (e.g., `/home/username/`), not the Windows filesystem mount (e.g., `/mnt/c/Users/username/`). The native Linux filesystem provides better performance and avoids permission issues.
## 2. Install uv
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
See the [uv installation docs](https://docs.astral.sh/uv/getting-started/installation/) for other platforms or troubleshooting.
## 3. Install Dependencies
```bash
cd ros-mcp-server
uv sync
```
## 4. Test the Server
```bash
uv run server.py --help
```
If this prints the help output, the server is installed correctly and ready to run.
## 5. Configure Your AI Client
When running from source, use `uv run server.py` with the path to the cloned repository instead of `uvx ros-mcp`.
The recommended approach is to use [HTTP transport](http-transport.md), which runs the server as a standalone process:
```bash
uv run server.py --transport streamable-http --host 127.0.0.1 --port 9000
```
Then point your AI client to `http://127.0.0.1:9000/mcp`. See the [HTTP transport](http-transport.md) page for client configuration details.
Alternatively, you can configure your client to launch the server directly via stdio. For example, with Claude Code:
```bash
claude mcp add ros-mcp -- uv --directory /<path-to>/ros-mcp-server run server.py --transport=stdio
```
For clients that use a JSON config file:
```json
{
"command": "uv",
"args": [
"--directory", "/<path-to>/ros-mcp-server",
"run", "server.py", "--transport=stdio"
]
}
```
## Next Steps
- [Set up your AI client](installation.md#step-1-set-up-your-ai-client)
- [Set up rosbridge on the robot](rosbridge.md)
---
[Back to Installation Guide](installation.md) | [Troubleshooting](troubleshooting.md)