@apinetwork/piapi-mcp-server: piapi-mcp-server

apinetwork/piapi-mcp-server
19

piapi-mcp-server: A TypeScript-based Model Context Protocol (MCP) server that integrates with PiAPI to enable media content generation (images, videos, songs) via platforms like Midjourney, Flux, and LumaLabs, directly from MCP-compatible apps like Claude.

☁️cloud

Author

apinetwork

README

piapi-mcp-server

Website Documentation Discord

A TypeScript implementation of a Model Context Protocol (MCP) server that integrates with PiAPI's API. PiAPI makes user able to generate media content with Midjourney/Flux/Kling/LumaLabs/Udio/Chrip/Trellis directly from Claude or any other MCP-compatible apps.

PiAPI-Server MCP server

Features (more coming soon)

  • Base Image toolkit
  • Base Video toolkit
  • Flux Image generation from text descriptions
  • Flux Image generation with image prompt
  • Hunyuan Video generation from text descriptions
  • Hunyuan Video generation from image prompt
  • Wan Video generation from text descriptions
  • Wan Video generation from image prompt
  • Midjourney Image generation
  • Kling video generation
  • Luma Dream Machine video generation
  • Suno/Udio ai song generation
  • Trellis 3D model generation
  • Workflow planning inside LLMs

Working with Claude Desktop

image

Prerequisites

  • Node.js 16.x or higher
  • npm or yarn
  • A PiAPI API key (get one at piapi.ai)

Installation

  1. Clone the repository:
bash
git clone https://github.com/apinetwork/piapi-mcp-server cd piapi-mcp-server
  1. Install dependencies:
bash
npm install
  1. Create a .env file in the project root:
bash
PIAPI_API_KEY=your_api_key_here
  1. Build the project:
bash
npm run build
  1. Test server with MCP Inspector:
bash
npm run inspect

After running the command, MCP Inspector will be available at http://localhost:5173 (default port: 5173). Open this URL in your browser to start testing. The default timeout for inspector operations is 10000ms (10 seconds), which may not be sufficient for image generation tasks. It's recommended to increase the timeout when testing image generation or other time-consuming operations. You can adjust the timeout by adding a timeout parameter to the URL, for example: http://localhost:5173?timeout=60000 (sets timeout to 60 seconds)

The MCP Inspector is a powerful development tool that helps you test and debug your MCP server implementation. Key features include:

  • Interactive Testing: Test your server's functions directly through a web interface
  • Real-time Feedback: See immediate results of your function calls and any errors that occur
  • Request/Response Inspection: View detailed information about requests and responses
  • Function Documentation: Browse available functions and their parameters
  • Custom Parameters: Set custom timeout values and other configuration options
  • History Tracking: Keep track of your previous function calls and their results

For detailed information about using the MCP Inspector and its features, visit the official MCP documentation.

Usage

Connecting to Claude Desktop

Add this to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):

json
{ "mcpServers": { "piapi": { "command": "node", "args": ["/absolute/path/to/piapi-mcp-server/dist/index.js"], "env": { "PIAPI_API_KEY": "your_api_key_here" } } } }

After updating your configuration file, you need to restart Claude for Desktop. Upon restarting, you should see a hammer icon in the bottom right corner of the input box. For more detailed information, visit the official MCP documentation

Connecting to Cursor

Note: Following guide is based on Cursor 0.47.5. Features and behaviors may vary in different versions.

To configure the MCP server:

  1. Navigate to: File > Preferences > Cursor Settings, or use the shortcut key Ctrl+Shift+J
  2. Select "MCP" tab on the left panel
  3. Click "Add new global MCP server" button in the top right
  4. Add your configuration in the opened mcp.json file
json
{ "mcpServers": { "piapi": { "command": "node", "args": ["/absolute/path/to/piapi-mcp-server/dist/index.js"], "env": { "PIAPI_API_KEY": "your_api_key_here" } } } }
  1. After configuration, you'll see a "piapi" entry in MCP Servers page
  2. Click the Refresh button on the entry or restart Cursor to connect to the piapi server

To test the piapi image generation:

  1. Open and select "Agent mode" in Cursor Chat, or use the shortcut key Ctrl+I
  2. Enter a test prompt, for example: "generate image of a dog"
  3. The image will be generated based on your prompt using piapi server

To disable the piapi server:

  1. Navigate to the MCP Servers page in Cursor Settings
  2. Find the "piapi" entry in the server list
  3. Click the "Enabled" toggle button to switch it to "Disabled"

Development

Project Structure

piapi-mcp-server/
├── src/
│   ├── index.ts        # Main server entry point
├── package.json
├── tsconfig.json
└── .env

License

MIT