@runehand/mcp-server
This MCP server lets an MCP client operate Runehand bots through the public API: manage bots, flows, conversations, leads, and analytics.
Bots: List the bots belonging to the workspace that owns the API key.
Flows: List flows for a bot and fetch a single flow with its executable nodes.
Conversations: List conversations (filterable by bot and status), view a conversation with its messages, and send agent messages into existing conversations.
Leads: List leads (filterable by bot and status) and create leads directly without a conversation.
Analytics: Get workspace KPIs and quick stats for a date range.
Standard tooling: All 9 tools are exposed as MCP tools, with pagination where applicable, validated UUIDs, and API errors surfaced as
{code}: {message}tool errors.
Click on "Deploy 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., "@@runehand/mcp-server What bots do I have?"
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.
@runehand/mcp-server
MCP server that wraps the Runehand public API v1 as tools, so an MCP client (Claude Desktop, Claude Code, etc.) can operate Runehand bots directly: list bots and flows, read and reply to conversations, manage leads, and check analytics.
Setup
Generate an API key at
https://app.runehand.co/settings/api-keys(requires a Pro or Enterprise plan, and theowneroradminrole in the workspace). The plaintext key is shown once — copy it.Add this to your MCP client's config (example: Claude Desktop's
claude_desktop_config.json):
{
"mcpServers": {
"runehand": {
"command": "npx",
"args": ["-y", "@runehand/mcp-server"],
"env": { "RUNEHAND_API_KEY": "rh_live_..." }
}
}
}Restart your MCP client. It should now list 9 Runehand tools.
Related MCP server: eduframe-mcp
Configuration
Env var | Required | Default | Purpose |
| Yes | — | Bearer token from |
| No |
| Override for local/staging testing only. |
Tools
Tool | Description |
| List the bots that belong to the workspace that owns the API key. |
| List the flows that belong to a bot, given the bot's UUID. |
| Get a single flow, including its nodes in executable format. |
| List conversations, optionally filtered by |
| Get a single conversation, including its messages. |
| Send a message as the agent in an existing conversation. |
| List leads, optionally filtered by |
| Create a lead directly, without an associated conversation. |
| Get workspace KPIs and quick stats for a date range. |
Errors from the Runehand API surface as tool errors in the form "{code}: {message}" (e.g.
not_found: Not found.) — see the error codes table below.
Errors
All error responses from /api/v1/* use the same shape:
{
"error": {
"code": "plan_upgrade_required",
"message": "Your current plan does not include API access.",
"details": {
"required_tiers": ["pro", "enterprise"]
}
}
}details is null when not applicable.
Code | HTTP | When |
| 401 | Missing header, invalid/revoked/expired token |
| 403 | Workspace is frozen or subscription lapsed |
| 403 | Workspace's plan doesn't include API access |
| 422 | Request data failed validation |
| 404 | Resource doesn't exist or doesn't belong to the key's workspace |
| 429 | Plan's requests-per-minute limit exceeded |
| 500 | Unhandled internal error |
Development
npm install
npm run dev # run directly with tsx, no build step
npm test # vitest, mocks all HTTP via msw
npm run lint
npm run typecheck
npm run build # compiles to dist/License
MIT
Available Tools
9 toolscreate_leadCreate leadB
Create a lead directly, without an associated conversation. Does not trigger the LeadCaptured event.
Inputs: bot_id (required), name, tags, email, +4 more.
get_analyticsGet analytics dashboardA
Get workspace KPIs and quick stats for a date range, same data as the in-app dashboard.
Inputs: to, from.
get_conversationGet conversation detailA
Get a single conversation, including its messages in chronological order.
Inputs: conversation_id (required).
get_flowGet flow detailB
Get a single flow, including its nodes in executable format.
Inputs: flow_id (required).
list_botsList botsB
List the bots that belong to the workspace that owns the API key.
Inputs: page, per_page.
list_conversationsList conversationsA
List conversations for the workspace, optionally filtered by bot_id and/or status.
Inputs: page, bot_id, status, per_page.
list_flowsList flowsC
List the flows that belong to a bot, given the bot's UUID.
Inputs: bot_id (required), page, per_page.
list_leadsList leadsB
List leads for the workspace, optionally filtered by bot_id and/or status.
Inputs: page, bot_id, status, per_page.
send_messageSend messageA
Send a message as the agent in an existing conversation. Delivers to the external channel (WhatsApp, Telegram, etc.) when the conversation is not on the web channel.
Inputs: content (required), conversation_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: bots, flows, conversations, analytics, messaging, and leads. The list/get pairs follow a clear resource-detail distinction, so an agent can reliably select the intended tool.
All tools use lowercase snake_case verb_noun naming: list_*, get_*, send_message, create_lead. The pattern is consistent and predictable across the entire surface.
Nine tools is well-scoped for a workspace/bot/conversation/lead management server. Each tool corresponds to a meaningful operation, and there is no redundant bloat.
Read/query coverage is strong across bots, flows, conversations, leads, and analytics, with messaging and lead creation included. Minor gaps exist—no lead status update, conversation creation/closure, or flow editing—but these are likely handled outside this server's read-and-engage scope.
Related MCP Connectors
Build your own tools from chat: design, test and host them on a shareable MCP server URL.
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceMCP server that provides tools for interacting with the Fluidattacks API-- AlicenseCqualityDmaintenanceAn MCP server that exposes Eduframe resources as tools, allowing users to manage lead records through the Eduframe API. It enables listing, creating, updating, and deleting leads using natural language commands.100MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for the Runn API, enabling resource management and reporting through natural language.-
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server that gives an LLM agent standalone-equivalent control over a Mineflayer Minecraft bot — movement, mining, crafting, inventory, combat, containers, chat, and much more — exposed as 110 strongly-typed tools across 23 groups, with full bot lifecycle management and dual (poll + push) event streaming.142 npm8MIT