@stablestudio/mcp-server
v0.2.1
Published
MCP server for StableStudio AI image and video generation
Readme
StableStudio MCP Server
MCP server for AI image/video generation with USDC micropayments on Base.
Install
Claude Code
claude mcp add stablestudio -- npx -y @stablestudio/mcp-server@latestCodex
codex mcp add stablestudio -- npx -y @stablestudio/mcp-server@latestCursor
Claude Desktop
Claude Code - Already installed via command above.
Codex - Add to ~/.codex/config.toml:
[mcp_servers.stablestudio]
command = "npx"
args = ["-y", "@stablestudio/mcp-server@latest"]Cursor - Add to .cursor/mcp.json:
{
"mcpServers": {
"stablestudio": {
"command": "/bin/bash",
"args": ["-c", "source $HOME/.nvm/nvm.sh 2>/dev/null; exec npx -y @stablestudio/mcp-server@latest"]
}
}
}Claude Desktop - Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"stablestudio": {
"command": "/bin/bash",
"args": ["-c", "source $HOME/.nvm/nvm.sh 2>/dev/null; exec npx -y @stablestudio/mcp-server@latest"]
}
}
}Usage
On first run, a wallet is generated at ~/.stablestudio/wallet.json. Deposit USDC on Base to the wallet address before generating.
Workflow:
get_wallet- Check balanceopen_deposit- Get deposit instructions if neededgenerate_image_*orgenerate_video_*- Start generationpoll_job→wait(15)→poll_job- Repeat until completedownload- Save result to disk
Veo 3.1 Frame Interpolation
image_to_video_veo supports first/last-frame interpolation by providing both a starting frame and an optional ending frame.
How to use:
- Upload your first and last frames with
upload_image. - Call
image_to_video_veowithimageUrl(first frame) andlastFrameUrl(last frame):
// 1) Upload frames (returns a URL each time)
{ "tool": "upload_image", "path": "/path/first.png" } // -> firstFrameUrl
{ "tool": "upload_image", "path": "/path/last.png" } // -> lastFrameUrl
// 2) Interpolate between them
{
"tool": "image_to_video_veo",
"imageUrl": "<firstFrameUrl>",
"lastFrameUrl": "<lastFrameUrl>",
"prompt": "Camera slowly pans from first to last frame",
"durationSeconds": "8",
"resolution": "1080p"
}If you omit lastFrameUrl, Veo generates video using only the first frame (standard image-to-video).
Tools (19)
| Tool | Cost |
|------|------|
| get_wallet | Free |
| open_deposit | Free |
| upload_image | $0.01 |
| download | Free |
| generate_image_nano_banana | $0.039 |
| generate_image_nano_banana_pro | $0.13-0.24 |
| generate_image_gpt4 | $0.01-0.17 |
| edit_image_nano_banana | $0.039 |
| edit_image_nano_banana_pro | $0.13-0.24 |
| edit_image_gpt4 | $0.01-0.17 |
| generate_video_wan25 | $0.07-0.10/sec |
| generate_video_sora | $0.10-0.50/sec |
| generate_video_veo | $0.40/sec |
| image_to_video_wan25 | $0.07-0.10/sec |
| image_to_video_sora | $0.10-0.50/sec |
| image_to_video_veo | $0.40/sec |
| poll_job | Free |
| list_jobs | Free |
| wait | Free |
Environment
| Variable | Description |
|----------|-------------|
| STABLESTUDIO_PRIVATE_KEY | Override wallet (optional) |
| STABLESTUDIO_NETWORK | base (default) or base-sepolia |
Develop
# From repo root
pnpm install
cd packages/mcp-server
# Add local server to Claude Code
claude mcp add stablestudio-dev -- npx tsx /path/to/packages/mcp-server/src/index.ts
# Build
pnpm build
# Typecheck
pnpm typecheck
