npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@andrewlwn77/kie-ai-mcp-server

v1.0.2

Published

MCP server for Kie.ai APIs (Nano Banana image generation/editing and Veo3 video generation)

Readme

Kie.ai MCP Server

An MCP (Model Context Protocol) server that provides access to Kie.ai's AI APIs including Nano Banana image generation/editing and Veo3 video generation.

Features

  • Nano Banana Image Generation: Text-to-image generation using Google's Gemini 2.5 Flash Image Preview
  • Nano Banana Image Editing: Natural language image editing with up to 5 input images
  • Veo3 Video Generation: Professional-quality video generation with text-to-video and image-to-video capabilities
  • 1080p Video Upgrade: Get high-definition versions of Veo3 videos
  • Task Management: SQLite-based task tracking with status polling
  • Smart Endpoint Routing: Automatic detection of task types for status checking
  • Error Handling: Comprehensive error handling and validation

Prerequisites

  • Node.js 18+
  • Kie.ai API key from https://kie.ai/api-key

Installation

From NPM

npm install -g @andrewlwn77/kie-ai-mcp-server

From Source

# Clone the repository
git clone https://github.com/andrewlwn77/kie-ai-mcp-server.git
cd kie-ai-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Configuration

Environment Variables

# Required
export KIE_AI_API_KEY="your-api-key-here"

# Optional
export KIE_AI_BASE_URL="https://api.kie.ai/api/v1"  # Default
export KIE_AI_TIMEOUT="60000"                      # Default: 60 seconds
export KIE_AI_DB_PATH="./tasks.db"                 # Default: ./tasks.db

MCP Configuration

Add to your Claude Desktop or MCP client configuration:

{
  "kie-ai-mcp-server": {
    "command": "node",
    "args": ["/path/to/kie-ai-mcp-server/dist/index.js"],
    "env": {
      "KIE_AI_API_KEY": "your-api-key-here"
    }
  }
}

Or if installed globally:

{
  "kie-ai-mcp-server": {
    "command": "npx",
    "args": ["-y", "@andrewlwn77/kie-ai-mcp-server"],
    "env": {
      "KIE_AI_API_KEY": "your-api-key-here"
    }
  }
}

Available Tools

1. generate_nano_banana

Generate images using Nano Banana.

Parameters:

  • prompt (string, required): Text description of the image to generate

Example:

{
  "prompt": "A surreal painting of a giant banana floating in space"
}

2. edit_nano_banana

Edit images using natural language prompts.

Parameters:

  • prompt (string, required): Description of edits to make
  • image_urls (array, required): URLs of images to edit (max 5)

Example:

{
  "prompt": "Add a rainbow arching over the mountains",
  "image_urls": ["https://example.com/image.jpg"]
}

3. generate_veo3_video

Generate videos using Veo3.

Parameters:

  • prompt (string, required): Video description
  • imageUrls (array, optional): Image for image-to-video (max 1)
  • model (enum, optional): "veo3" or "veo3_fast" (default: "veo3")
  • aspectRatio (enum, optional): "16:9" or "9:16" (default: "16:9")
  • seeds (integer, optional): Random seed 10000-99999
  • watermark (string, optional): Watermark text
  • enableFallback (boolean, optional): Enable fallback mechanism

Example:

{
  "prompt": "A dog playing in a park",
  "model": "veo3",
  "aspectRatio": "16:9",
  "seeds": 12345
}

4. get_task_status

Check the status of a generation task.

Parameters:

  • task_id (string, required): Task ID to check

5. list_tasks

List recent tasks with their status.

Parameters:

  • limit (integer, optional): Max tasks to return (default: 20, max: 100)
  • status (string, optional): Filter by status ("pending", "processing", "completed", "failed")

6. get_veo3_1080p_video

Get 1080P high-definition version of a Veo3 video.

Parameters:

  • task_id (string, required): Veo3 task ID to get 1080p video for
  • index (integer, optional): Video index (for multiple video results)

Note: Not available for videos generated with fallback mode.

API Endpoints

The server interfaces with these Kie.ai API endpoints:

  • Veo3 Video Generation: POST /api/v1/veo/generateVALIDATED
  • Veo3 Video Status: GET /api/v1/veo/record-infoVALIDATED
  • Veo3 1080p Upgrade: GET /api/v1/veo/get-1080p-videoVALIDATED
  • Nano Banana Generation: POST /api/v1/playground/createTaskVALIDATED
  • Nano Banana Status: GET /api/v1/playground/recordInfoVALIDATED

All endpoints have been tested and validated with live API responses.

Database Schema

The server uses SQLite to track tasks:

CREATE TABLE tasks (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  task_id TEXT UNIQUE NOT NULL,
  api_type TEXT NOT NULL,  -- 'nano-banana', 'nano-banana-edit', 'veo3'
  status TEXT DEFAULT 'pending',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  result_url TEXT,
  error_message TEXT
);

Usage Examples

Basic Image Generation

# Generate an image
curl -X POST http://localhost:3000/tools/call \
  -H "Content-Type: application/json" \
  -d '{
    "name": "generate_nano_banana",
    "arguments": {
      "prompt": "A cat wearing a space helmet"
    }
  }'

Video Generation with Options

# Generate a video
curl -X POST http://localhost:3000/tools/call \
  -H "Content-Type: application/json" \
  -d '{
    "name": "generate_veo3_video",
    "arguments": {
      "prompt": "A peaceful garden with blooming flowers",
      "aspectRatio": "16:9",
      "model": "veo3_fast"
    }
  }'

Error Handling

The server handles these HTTP error codes from Kie.ai:

  • 200: Success
  • 400: Content policy violation / English prompts only
  • 401: Unauthorized (invalid API key)
  • 402: Insufficient credits
  • 404: Resource not found
  • 422: Validation error / record is null
  • 429: Rate limited
  • 451: Image access limits
  • 455: Service maintenance
  • 500: Server error / timeout
  • 501: Generation failed

Development

# Run tests
npm test

# Development mode with auto-reload
npm run dev

# Type checking
npx tsc --noEmit

# Build for production
npm run build

Pricing

Based on Kie.ai documentation:

  • Nano Banana: $0.020 per image (4 credits)
  • Veo3 Quality: Higher cost tier
  • Veo3 Fast: ~20% of Quality model pricing

See https://kie.ai/billing for detailed pricing.

Production Tips

  1. Database Location: Set KIE_AI_DB_PATH to a persistent location
  2. API Key Security: Never commit API keys to version control
  3. Rate Limiting: Implement client-side rate limiting for high-volume usage
  4. Monitoring: Monitor task status and handle failed generations appropriately
  5. Storage: Consider automatic cleanup of old task records

Troubleshooting

Common Issues

"Unauthorized" errors

  • Verify KIE_AI_API_KEY is set correctly
  • Check API key is valid at https://kie.ai/api-key

"Task not found" errors

  • Tasks may expire after 14 days
  • Check task ID format matches expected pattern

Generation failures

  • Check content policy compliance
  • Verify prompt is in English
  • Ensure sufficient API credits

Support

For issues related to:

  • MCP Server: Open an issue at https://github.com/andrewlwn77/kie-ai-mcp-server/issues
  • Kie.ai API: Contact [email protected] or check https://docs.kie.ai/
  • API Keys: Visit https://kie.ai/api-key

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Changelog

v1.0.0

  • Initial release
  • Nano Banana image generation and editing
  • Veo3 video generation
  • 1080p video upgrade support
  • SQLite task tracking
  • Smart endpoint routing
  • Comprehensive error handling