MCP Servers¶
Drive RosettaHub from Claude Desktop, Claude Code, or any MCP-aware client in plain English.
RosettaHub ships two stdio Model Context Protocol servers, registered side by side. Once installed, you can ask Claude things like "launch formation X on key set Y" or "show me the unused volumes in cloud account Z" and the platform call is dispatched through your local RosettaHub daemon.
| Server | Scope |
|---|---|
rh-mcp-cloud |
Deployable infrastructure: formations, machines, containers, engines, key sets, key pairs, machine images, volumes, snapshots, object/file storage, Kubernetes clusters, certificates, marketplace, cloud catalog, single-call account inventory |
rh-mcp-ops |
Governance and identity: federated cloud accounts (state, costs, STS), IAM users and roles, organizations, projects, classrooms, portfolios, budgets, top-ups, owned tokens, compliance, federation admin, sessions, scopes, bookmarks, role assignment |
The full catalogs are auto-generated from the server source:
Tool catalog Resource templates
Prerequisites¶
The MCP servers ship inside the RosettaHub Desktop app alongside the rh CLI and the local daemon. Installing the Desktop app puts the two launchers (rh-mcp-cloud, rh-mcp-ops) on your system; no separate download or build step is required.
- RosettaHub Desktop app installed. The bundle includes the daemon, the
rhCLI, both MCP launchers, and a compatible JDK runtime. - Daemon running. The Desktop app starts it automatically. If you run the daemon manually instead, start it before launching any chat that uses the MCP servers. Without a running daemon, every tool call returns
Daemon is not running. Start the Desktop app or the Daemon, then retry.
Install¶
Claude Desktop¶
Edit %APPDATA%\Claude\claude_desktop_config.json on Windows, or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, and register both launchers:
{
"mcpServers": {
"rh-mcp-cloud": {
"command": "rh-mcp-cloud"
},
"rh-mcp-ops": {
"command": "rh-mcp-ops"
}
}
}
This assumes the Desktop app added its launcher directory to PATH at install time. If PATH isn't set, use the absolute path to rh-mcp-cloud / rh-mcp-ops from the Desktop app's install directory.
Fully quit Claude Desktop from the system tray and relaunch. MCP server logs land in %APPDATA%\Claude\logs\mcp-server-rh-mcp-*.log on Windows.
Claude Code (CLI)¶
claude mcp add rh-mcp-cloud --scope user -- rh-mcp-cloud
claude mcp add rh-mcp-ops --scope user -- rh-mcp-ops
Verify with /mcp inside a Claude Code session. Both servers should report connected along with their tool counts.
What you can ask Claude¶
A starting set. Claude picks the right tool automatically.
Identity and setup
- "Who am I on RosettaHub?"
- "What roles am I allowed to grant to other users?"
- "List my federated cloud accounts."
- "Set my default cloud account to
<uid>."
Discovery and inventory
- "What do I have in cloud account
<uid>?" - "List my formations."
- "List EC2 capacities in
us-east-1on AWS."
Lifecycle
- "Launch formation
<uid>with labeldev-box-1on key set<uid>." - "Stop machine instance
<uid>." - "Refresh compute info for cloud account
<uid>."
Governance and admin (requires CPoC or admin roles)
- "Show me all users in organization
<name>and what roles each has." - "Assign
rhaws-ec2andrhregion-aws-us-east-1to useralice@example.com." - "Enable cloud accounts
<uid1>,<uid2>and email the owners."
Marketplace
- "List the products in marketplace
<id>." - "Publish formation
<uid>as a free product on marketplace<id>named 'Genomics starter'."
Attaching resources to the conversation¶
The MCP servers expose RosettaHub artifacts as MCP resource templates. Paste a URI into a prompt with the @ prefix, and Claude fetches the JSON payload as context:
The complete URI catalog lives in the resource templates reference.
Maturity and safe defaults¶
The MCP surface is in beta. Read-side tools (list_*, get_*, count_*, discovery) are stable and safe to drive unattended. Lifecycle calls (launch_*, stop_*, reboot_*) are hand-tested and correct in shape but lack integration tests. Destructive verbs (rosetta_delete, rosetta_share, role assignments, federation admin operations like regenerate_vpc and reset_all_keys) are alpha and have no preview or dry-run flag.
Keep destructive tools on manual approval
For any tool that writes, deletes, or regenerates: leave Allow always turned off in Claude Desktop and review each call before approving. Always inspect targets with get_* before invoking rosetta_delete, and pair rosetta_assign_roles with get_assigned_roles first.
Troubleshooting¶
| Symptom | Likely cause | Fix |
|---|---|---|
Daemon is not running in every tool response |
Daemon process not started | Start the RosettaHub Desktop app or the standalone daemon. Tool calls retry automatically. |
| Claude Desktop shows "Server disconnected" on launch | Daemon was down when the server started | Start the daemon first, then toggle the server off and on in Claude Desktop's Developer settings, or fully quit and relaunch. |
Edit to claude_desktop_config.json doesn't take effect |
A tray instance is still using the old config | Right-click the Claude tray icon and Quit, then relaunch. |
Search for rh-mcp-*.log returns nothing |
Claude Desktop never tried to launch the server | Validate the JSON in claude_desktop_config.json, then fully quit and relaunch. |
Related interfaces¶
| Interface | Use it for |
|---|---|
| CLI Reference | Shell automation, CI/CD, scripted operations |
| API Reference | The OpenAPI surface every interface calls into |
| Python, Java, and JavaScript SDKs | Typed programmatic access inside applications |
Related topics¶
- API Keys: the credentials the daemon authenticates with
- RosettaOps: the governance operations exposed by
rh-mcp-ops - RosettaCloud: the resource operations exposed by
rh-mcp-cloud