Rosh MCP Server
Official# Rosh MCP Server
<!-- mcp-name: io.github.rosh-studio/rosh-mcp -->
Give any AI the power to create and publish interactive web apps, games, and 3D scenes using [Rosh](https://rosh.cloud) — a plain-English programming language.
## What is Rosh?
Rosh lets you write programs in plain English:
```
create box called player at 400 300
set player color "blue"
on key "ArrowRight" then set player x to player x + 5
```
This compiles to a runnable HTML5 canvas app, a Phaser game, or a Three.js 3D scene — depending on the target.
## Quick Start
### Claude Desktop / Claude Code
Add to your MCP config (`~/.claude/mcp.json` or Claude Desktop settings):
```json
{
"mcpServers": {
"rosh": {
"command": "uvx",
"args": ["rosh-mcp"],
"env": {
"ROSH_API_KEY": "rosh_k1_your_key_here"
}
}
}
}
```
### Cursor / Windsurf
Same config format — add to your MCP settings file.
### Get an API Key
1. Create an account at [rosh.cloud](https://rosh.cloud)
2. Go to Settings → API Keys
3. Create a key with `read,write` scopes
> **Note:** All tools require an API key — set `ROSH_API_KEY` before starting the server.
## Tools
| Tool | Description | Auth Required |
|------|-------------|---------------|
| `rosh_docs` | Get the full Rosh language reference | Yes (read) |
| `rosh_compile` | Compile Rosh code to HTML | Yes (read) |
| `rosh_publish` | Publish a program to rosh.cloud | Yes (write) |
| `rosh_list_programs` | List your programs | Yes (read) |
| `rosh_get_program` | Get program details by ID | Yes (read) |
| `rosh_update_program` | Update an existing program | Yes (write) |
| `rosh_delete_program` | Delete a program | Yes (write) |
| `rosh_hide_program` | Hide a program (moderation) | Yes (moderate) |
| `rosh_show_program` | Unhide a program | Yes (moderate) |
## Example Prompts
Try these with any MCP-capable AI:
- **"Build me a space shooter game"** — AI reads docs, writes Rosh code, compiles to Phaser
- **"Create a 3D rotating sculpture"** — compiles to Three.js
- **"Make an interactive dashboard with buttons and counters"** — compiles to web
- **"Show me what Rosh can do"** — AI calls `rosh_docs` and explores
## Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `ROSH_API_KEY` | Yes | — | Your rosh.cloud API key |
| `ROSH_API_BASE` | No | `https://rosh.cloud` | API base URL |
## Development
```bash
git clone https://github.com/rosh-studio/rosh-mcp.git
cd rosh-mcp
pip install -e .
rosh-mcp # runs the stdio server
```
## License
MIT
TDQS
Scored across 9 tools
Each tool has a unique purpose with clear verb_noun naming. Even closely related tools like compile and publish are distinct (compile generates HTML, publish additionally deploys). Hide and show are clear opposites, and CRUD operations are well separated.
All tools follow a consistent rosh_verb_noun pattern in snake_case. The naming convention is uniform across the entire tool set, making it predictable for agents.
With 9 tools, the server covers a focused domain (Rosh language management) without bloat. Each tool serves a necessary function: compilation, documentation, CRUD, and moderation. The count feels right for the scope.
The tool set appears complete for the domain: it includes compilation, publishing, full CRUD for programs, moderation (hide/show), and documentation. There are no obvious missing operations like a search or share tool, but they are not essential for core functionality.