myvideogift-mcp
README.md
# My Video Gift — MCP server
[](https://smithery.ai/servers/cryptolibertus/myvideogift)
Create and deliver **personalized video gifts** (photos + an original song) from
any [Model Context Protocol](https://modelcontextprotocol.io) client — Claude
Desktop, Cursor, agent frameworks, IDEs.
It wraps the [My Video Gift agent API](https://developers.myvideogift.com). Renders
draw from a **prepaid credit balance**, so the connecting key must be a live key
with credits.
## Tools
| Tool | What it does | API |
|---|---|---|
| `list_occasions` | List supported occasions (drives song + tone) | `GET /occasions` |
| `check_account` | Key status + prepaid credit balance | `GET /account` |
| `create_gift` | Create a gift from photos + song, optionally render it | `POST /gifts` → `/photos` → `/render` |
| `get_gift` | Fetch a gift + (once ready) the film URL | `GET /gifts/{id}` |
| `list_gifts` | List your gifts, newest first (filter by status) | `GET /gifts` |
`create_gift` **will not render** unless you pass `consent=true` (you attest you
hold the rights to the photos and the recipient's depiction) and at least one
`photo_urls` entry — the guard runs *before* any credit is spent.
## Configuration
| Env var | Required | Default |
|---|---|---|
| `MVG_API_KEY` | yes | — (a `mvg_live_…` key from developers.myvideogift.com) |
| `MVG_API_BASE` | no | `https://myvideogift.com/api/v1` |
## Install (Claude Desktop, Cursor, …)
Add to your MCP client config (e.g. `claude_desktop_config.json`):
```json
{
"mcpServers": {
"myvideogift": {
"command": "npx",
"args": ["-y", "myvideogift-mcp"],
"env": { "MVG_API_KEY": "mvg_live_your_key_here" }
}
}
}
```
## Install (Claude Code plugin)
This repo is also a [Claude Code plugin](https://code.claude.com/docs/en/plugins):
the MCP server above plus a `create-video-gift` skill that walks the agent
through the account check → occasion → photos → consent → render flow.
From the community marketplace (once listed):
```
/plugin marketplace add anthropics/claude-plugins-community
/plugin install myvideogift@claude-community
```
Or straight from a local checkout:
```bash
claude --plugin-dir .
```
Enabling the plugin prompts for your `mvg_live_…` API key (stored in the OS
keychain, not in settings files) and passes it to the server as `MVG_API_KEY`.
## Local dev
```bash
npm install
npm run build
npm test # offline smoke test — boots the server, asserts the tools
MVG_API_KEY=mvg_live_… npm start
```
## Publishing / listing (needs a human account)
- **npm**: `npm publish` (public) so `npx myvideogift-mcp` resolves.
- **Official MCP registry** — published as `io.github.CryptoLibertus/myvideogift`.
- **Smithery**: connect this repo at https://smithery.ai (uses `smithery.yaml`).
- **Glama**: auto-indexes public GitHub MCP servers.
- **mcp.so / PulseMCP**: submit this repo's URL via their site.
TDQS
A4.4/5.0
Scored across 5 tools
Disambiguation5/5
Each tool addresses a distinct aspect: account status, gift creation, retrieval by ID, listing with filters, and occasion enumeration. No functional overlap.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern (check_account, create_gift, get_gift, list_gifts, list_occasions) with no deviations.
Tool Count5/5
Five tools cover the core workflow (check credits, list occasions, create, retrieve, list) without unnecessary additions. The count is well-scoped.
Completeness4/5
The tool set covers credit checking, creation, retrieval, and listing. Missing are update/delete/cancel operations, but these are not essential for the video gift creation domain.
Maintenance
ActivityMaintained
ResponsivenessNo issues