hydra-bridge
Provides tools to search the Steam catalogue, fetch store details, and manage game downloads and library through Hydra Launcher.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hydra-bridgefind Factorio"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hydra MCP Bridge
46 MCP tools to control Hydra Launcher programmatically — search games, manage downloads, configure Proton, organize your library, and more.
npx hydra-bridgeWorks with Claude Desktop, Claude Code, OpenCode, OpenClaw, Hermes Agent, Cursor, VS Code, Cline / Roo Code, Continue.dev, and any MCP-compatible agent.
How It Works
Hydra Launcher is an Electron app. Every Electron app exposes a Chrome DevTools Protocol (CDP) port when started with --remote-debugging-port=9222. This bridge:
Connects to the running Hydra window via CDP
Calls
window.electron.*IPC methods directly — the same ones Hydra's own UI usesExposes them as 46 MCP tools over stdio
No reverse engineering, no patching, no API keys. If Hydra is running, this works.
Related MCP server: Polybridge MCP
Prerequisites
Hydra Launcher installed and running (
/opt/Hydra/hydralauncheror your OS equivalent)Node.js 18+ (for the bridge)
The bridge auto-starts Hydra with the CDP flag if it isn't already running, so you don't need to configure anything special.
Quick Start
# Install globally
npm install -g hydra-bridge
# Or run directly
npx hydra-bridgeThat's it. The bridge connects to your running Hydra instance and exposes tools on stdio. Configure it as an MCP server in your agent (see below).
From Source
git clone https://github.com/KleirRampage45/hydra-bridge.git
cd hydra-bridge
npm install
npm run build
node dist/index.jsAgent Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}Claude Code
claude mcp add hydra-bridge -- npx hydra-bridgeOr in ~/.claude/settings.json:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}OpenCode
In ~/.config/opencode/opencode.json:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}OpenClaw
openclaw mcp add hydra-bridge \
--command npx \
--arg hydra-bridgeVerify it's working:
openclaw mcp probe hydra-bridge --jsonHermes Agent
In ~/.hermes/config.yaml:
mcpServers:
hydra-bridge:
command: npx
args: ["hydra-bridge"]Restart the gateway:
systemctl --user restart hermes-gatewayCursor
In Cursor settings → MCP Servers:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}VS Code (via Continue.dev or VS Code Agents)
In .continuerc.json or VS Code MCP settings:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}Cline / Roo Code
In cline_mcp_settings.json:
{
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}Continue.dev
In config.json:
{
"experimental": {
"mcpServers": {
"hydra-bridge": {
"command": "npx",
"args": ["hydra-bridge"]
}
}
}
}Note: All agents use the same
npx hydra-bridgeinvocation. The bridge auto-connects to Hydra and exposes all 46 tools automatically.
Tool Reference
Search & Catalogue (7 tools)
Tool | Description | Use Case |
| Search the catalogue by title | "Find Factorio on Hydra" |
| List all download sources for a game | "What repacks are available for Elden Ring?" |
| Get a random game from the catalogue | "Surprise me with something to play" |
| Player count, download count, rating | "How popular is Baldur's Gate 3 right now?" |
| Full Steam store page data | "Show me the store description and requirements for Cyberpunk" |
| Cover art, icon, logo, hero URLs | "Download the cover art for this game" |
| List unlocked achievements for a game | "What achievements have I unlocked in Hollow Knight?" |
Download Management (7 tools)
Tool | Description | Use Case |
| Start a new download from a repack URI | "Download Factorio with the preinstalled repack" |
| Pause an active download | "Pause the Factorio download, I need bandwidth" |
| Resume a paused download (with conflict strategy) | "Resume Factorio, interrupt the current download if needed" |
| Cancel an active or queued download | "Cancel the Stardew Valley download, I picked the wrong one" |
| Full queue state with enriched game info | "What's downloading and what's queued?" |
| Move a download between hero/queue/paused areas | "Move Cyberpunk to the top of the queue" or "Move this to paused" |
| Queue a download without starting it | "Add Doom to the queue but don't start yet" |
Library Management (8 tools)
Tool | Description | Use Case |
| List all installed games | "Show me my library" |
| Full details for one game (executable, Proton, playtime) | "What executable does Factorio use?" |
| Add or remove a game from favorites | "Favorite Hollow Knight" |
| Pin or unpin a game in the library | "Pin Stardew Valley to the top" |
| Assign a game to collections | "Add all my RPGs to the 'RPG' collection" |
| Remove from library (optionally delete files) | "Remove that game I don't play anymore, and delete its files" |
| Add a custom game by executable path | "I have a GOG copy of Witcher 3, add it to my library" |
| Rescan for newly installed games | "I just moved some game folders, scan for changes" |
Launch & Proton Configuration (7 tools)
Tool | Description | Use Case |
| Launch a game (auto-detects native Linux vs Proton) | "Launch Factorio" |
| Set or clear the game binary path | "The exe is at /home/me/Games/Factorio/bin/x64/factorio" |
| Set which Proton version a game uses | "Use GE-Proton10-25 for this Windows game" |
| Set launch flags and environment variables | "Add |
| List all installed Proton versions | "What Proton versions do I have installed?" |
| Check which Proton a game would use | "What Proton does Elden Ring launch with?" |
| Create desktop or start menu shortcut | "Put a Factorio shortcut on my desktop" |
Extraction (3 tools)
Tool | Description | Use Case |
| Force re-extraction of a game archive | "The extraction failed halfway, try again" |
| Check what action is needed (install vs ready) | "Is this game ready to play or does it need setup?" |
| Open the game installer to run setup steps | "I need to run the installer for this game" |
Settings & Hardware (6 tools)
Tool | Description | Use Case |
| Get all Hydra user preferences | "Show me my current Hydra settings" |
| Update Hydra settings | "Change the default download path to /mnt/hdd/Games" |
| Get the OS default download path | "Where does Hydra save by default?" |
| Check free space on a path | "How much space is left on /home?" |
| List all drives and partitions | "What drives are available to move games to?" |
| Move installed game to another drive | "Move Cyberpunk from my SSD to the HDD" |
Download Sources (4 tools)
Tool | Description | Use Case |
| List configured download sources | "What repack sites do I have set up?" |
| Add a new download source URL | "Add this new repack site" |
| Remove a download source | "Remove that dead source" |
| Force sync all sources for new repacks | "Check all sources for new repacks now" |
LevelDB Direct Access (2 tools)
Tool | Description | Use Case |
| Read any key from Hydra's internal LevelDB | "What's stored in the game entry for Factorio?" |
| List all keys in a LevelDB sublevel | "Show me every game in the database" |
Auth & Automation (2 tools)
Tool | Description | Use Case |
| Check Hydra Cloud login status | "Am I logged into Hydra Cloud?" |
| Fully autonomous: search → score → download | "I want Factorio, figure it out and get it" |
Example Workflows
"I want to download Factorio, set it up with Proton, and play it"
The agent orchestrates across multiple tools:
1. hydra_search_games("Factorio") → find steam:427520
2. hydra_get_repacks("steam", "427520") → find the best repack
3. hydra_start_download(...) → download it
4. hydra_get_download_queue(...) → wait for completion
5. hydra_get_game_details("steam", "427520") → check if executable is set
6. hydra_set_executable_path("steam", "427520", "/path/to/factorio")
7. hydra_launch_game("steam", "427520") → play"Move Cyberpunk to my HDD to free up SSD space"
1. hydra_get_available_drives() → see /mnt/hdd has 800GB free
2. hydra_transfer_game("steam", "1091500", "/mnt/hdd/Games")
3. hydra_get_game_details("steam", "1091500") → verify new path"Clean up my library"
1. hydra_get_library() → list all games
2. hydra_remove_game("steam", "old-game", deleteFiles: true)
3. hydra_scan_library() → refresh"Set up this Windows game with the right Proton config"
1. hydra_get_proton_versions() → see GE-Proton10-25 is installed
2. hydra_set_proton_path("steam", "123456", "/path/to/GE-Proton10-25")
3. hydra_set_launch_options("steam", "123456", "PROTON_USE_WINED3D=1 %command%")
4. hydra_launch_game("steam", "123456") → test itArchitecture
┌──────────────┐ CDP (9222) ┌──────────────┐ stdio ┌──────────┐
│ Hydra │ ◄───────────────► │ hydra-bridge │ ◄──────────► │ Agent │
│ Launcher │ │ (MCP Server) │ │ (Claude,│
│ (Electron) │ │ │ │ OpenCode,│
└──────────────┘ └──────────────┘ │ etc.) │
└──────────┘Hydra runs as a normal desktop app with
--remote-debugging-port=9222bridge connects via CDP, calls
window.electron.*IPC methodsAgent communicates with the bridge via MCP stdio protocol
The bridge auto-starts Hydra if it's not already running, so a typical flow is:
hydra-bridge & # starts Hydra + bridge
# Agent connects and starts issuing tool callsSecurity
The CDP port is bound to localhost only — not exposed to the network
The bridge uses Hydra's existing IPC — no API keys needed
All LevelDB reads are read-only from the bridge (no write operations exposed for safety)
The bridge only calls methods that Hydra's own UI already exposes
Platform Support
Platform | Status |
Linux | ✅ Fully tested (Arch, KDE Plasma 6) |
Windows | ✅ Should work — Hydra IPC is cross-platform |
macOS | ✅ Should work — same CDP mechanism |
The bridge works wherever Hydra Launcher runs. The CDP port, IPC handler names, and LevelDB schema are consistent across platforms.
Troubleshooting
"Cannot connect to Hydra CDP" → Make sure Hydra is running. The bridge waits up to 30s for it to start. → Check that port 9222 isn't blocked by a firewall.
"Downloader failed silently"
→ The downloader parameter is a numeric enum (0-13), not a string. Passing "Torrent" instead of 1 will silently fail. Use the numeric values from the tool's input schema.
"KIO blocks launching on KDE"
→ The bridge's smart launcher (hydra_launch_game) detects native ELF binaries and spawns them directly via child_process.execFile() — bypassing KIO entirely.
"Tool returned empty results"
→ Some Hydra IPC methods require the app to be fully loaded (download sources synced, library scanned). Try hydra_sync_sources or hydra_scan_library first.
Development
# Build
npm run build
# Watch mode
npm run watch
# Test against running Hydra
node dist/index.js
# Test specific tools
node -e "
const { connectToHydra } = require('./dist/hydra-cdp');
const { HydraAPI } = require('./dist/hydra-api');
(async () => {
const cdp = await connectToHydra();
const api = new HydraAPI(cdp);
console.log(await api.getInstalledProtonVersions());
await cdp.close();
})();
"Upstream
This bridge is an independent project that uses Hydra Launcher's existing IPC surface. It is not affiliated with or endorsed by the Hydra Launcher project.
Hydra Launcher — the game download manager this bridge controls
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/KleirRampage45/hydra-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server