@runapi.ai/happyhorse-mcp

runapi-ai/happyhorse-mcp
0 starsv0.1.0STDIORegistry activeApache-2.0Community

Install to Claude Code

claude mcp add happyhorse -- npx -y @runapi.ai/happyhorse-mcp

Summary

Enables creating and managing HappyHorse video generation tasks (edit, image-to-video, text-to-video) via RunAPI, with optional polling for completion and pricing lookup.

README.md

<h1 align="center">RunAPI HappyHorse MCP Server</h1>

<p align="center"> <strong>HappyHorse API access for AI agents: create video generation tasks, poll results, and check pricing through one focused MCP server.</strong> </p>

<p align="center"> <sub>Works with Claude Code, Codex, Cursor, Windsurf, VS Code, Roo Code, and any MCP-compatible host.</sub> </p>

<p align="center"> <a href="https://www.npmjs.com/package/@runapi.ai/happyhorse-mcp"><img src="https://img.shields.io/npm/v/%40runapi.ai/happyhorse-mcp?style=flat-square&color=blue" alt="npm version"></a> <a href="https://github.com/runapi-ai/happyhorse-mcp"><img src="https://img.shields.io/badge/GitHub-runapi--ai%2Fhappyhorse--mcp-24292f?style=flat-square" alt="GitHub repository"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue?style=flat-square" alt="Apache-2.0 license"></a> <img src="https://img.shields.io/badge/Type-MCP_Server-blue?style=flat-square" alt="MCP Server"> <img src="https://img.shields.io/badge/Models-4-16a34a?style=flat-square" alt="4 models"> </p>

<p align="center"> <a href="#install">Install</a> | <a href="#tools">Tools</a> | <a href="#models">Models</a> | <a href="#agent-prompts">Agent Prompts</a> | <a href="#configuration">Configuration</a> | <a href="#links">Links</a> </p>

---

Why This Package?

@runapi.ai/happyhorse-mcp is a focused Model Context Protocol server for the HappyHorse model line on RunAPI. It gives MCP-compatible assistants direct access to 3 endpoints and 4 model variants without loading the full RunAPI catalog.

Use this per-model server when an agent should stay scoped to HappyHorse. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.

---

Install

Add it to Claude Code:

claude mcp add happyhorse -s user -- npx -y @runapi.ai/happyhorse-mcp

Use project scope when the server should be shared with a repository:

claude mcp add happyhorse -s project -- npx -y @runapi.ai/happyhorse-mcp

Codex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:

{
  "mcpServers": {
    "happyhorse": {
      "command": "npx",
      "args": ["-y", "@runapi.ai/happyhorse-mcp"],
      "env": { "RUNAPI_API_KEY": "${RUNAPI_API_KEY}" }
    }
  }
}

Create an API key at runapi.ai and expose it as RUNAPI_API_KEY. check_pricing can run without a key; task creation and status polling require one.

Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.

---

Tools

| Tool | Auth | Purpose | |---|---|---| | edit_video | Yes | Create a HappyHorse edit video task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. | | image_to_video | Yes | Create a HappyHorse image to video task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. | | text_to_video | Yes | Create a HappyHorse text to video task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. | | get_task | Yes | Fetch the current status and latest payload for an existing task. | | check_pricing | No | Look up the current pricing snapshot for a HappyHorse model and endpoint. |

---

Models

HappyHorse covers 4 model variants across 3 endpoints. Each tool accepts the models listed for it:

| Tool | Models | |---|---| | edit_video | happyhorse-edit-video | | image_to_video | happyhorse-image-to-video | | text_to_video | happyhorse-character, happyhorse-text-to-video |

Model availability can change between releases. Use check_pricing or the HappyHorse model page for the current catalog view.

---

Agent Prompts

Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.

Create a task

Run a HappyHorse edit video task with RunAPI.

The assistant can call check_pricing, then edit_video, and return the task id, status, and output URLs.

Submit without waiting

Create the task but don't wait for it to finish.

The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.

Check pricing before creating

Check current HappyHorse pricing, then create the task if it matches my request.

The assistant calls check_pricing and can link to the HappyHorse model page for the canonical catalog entry.

---

Configuration

The server reads the API key in this order:

  1. RUNAPI_API_KEY environment variable
  2. ~/.config/runapi/config.json

Example config file:

{
  "apiKey": "your_runapi_key"
}

Do not commit real API keys. Get one at runapi.ai.

---

Links

| Resource | URL | |---|---| | HappyHorse model page | https://runapi.ai/models/happyhorse | | npm package | @runapi.ai/happyhorse-mcp | | GitHub repository | runapi-ai/happyhorse-mcp | | RunAPI MCP overview | runapi.ai/mcp | | RunAPI docs | runapi.ai/docs |

---

License

Licensed under the Apache License, Version 2.0.

Related MCP servers

Browse all →