Skip to main content
Glama
waura
by waura

Civitai MCP Server (Python FastMCP)

A Python FastMCP implementation of an MCP server for interacting with the Civitai API. Browse AI models, images, creators, and more.

Features

  • Model Search: Search AI models with various filters

  • Model Details: Get detailed information about specific models

  • Image Browsing: Browse AI-generated images

  • Creator Search: Search for model creators

  • Tag Search: Search models by tags

  • Popular/Latest/Top Rated: Get ranking information

  • FastMCP Resources: Structured resource definitions for models, versions, images, creators, and tags

Installation

  1. Install dependencies:

pip install -r requirements.txt
  1. Set up environment variables (optional):

cp .env.example .env
# Edit .env file to set your Civitai API key

Usage

Standalone Execution

python civitai_mcp_server.py

Docker Execution

Option 1: Use Pre-built Image from Docker Hub

docker run -d --name civitai-mcp-server -p 8000:8000 -e CIVITAI_API_KEY=your_api_key_here waura/civitai-mcp-server:latest

Option 2: Build Locally

  1. Build the Docker image:

docker build -t civitai-mcp-server .
  1. Run the container:

docker run -d --name civitai-mcp-server -p 8000:8000 -e CIVITAI_API_KEY=your_api_key_here civitai-mcp-server
  1. Access the MCP server at http://localhost:8000/mcp

  2. Stop the container:

docker stop civitai-mcp-server
docker rm civitai-mcp-server

Deploy your MCP server to Amazon Bedrock AgentCore

Deploy using Amazon Bedrock AgentCore starter toolkit

agentcore configure -e civitai_mcp_server.py --protocol MCP
agentcore launch 

MCP Configuration

For Standalone Python Execution

Add the following to your Kiro configuration file (.kiro/settings/mcp.json):

{
  "mcpServers": {
    "civitai": {
      "command": "python",
      "args": ["path/to/civitai_mcp_server.py"],
      "env": {
        "CIVITAI_API_KEY": "your_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

For Docker Execution

Option 1: HTTP Transport (推奨)

Add the following to your Kiro configuration file (.kiro/settings/mcp.json):

{
  "mcpServers": {
    "civitai": {
      "transport": "http",
      "url": "http://localhost:8000/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}

Option 2: Docker Command (Pre-built Image)

{
  "mcpServers": {
    "civitai": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-p", "8000:8000",
        "-e", "CIVITAI_API_KEY=your_api_key_here",
        "waura/civitai-mcp-server:latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Option 3: Docker Command (Local Build)

{
  "mcpServers": {
    "civitai": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-p", "8000:8000",
        "-e", "CIVITAI_API_KEY=your_api_key_here",
        "civitai-mcp-server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Option 4: curl Command

{
  "mcpServers": {
    "civitai": {
      "command": "curl",
      "args": ["-X", "POST", "http://localhost:8000/mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Available Tools

  • search_models: Search models with query, type, sort filters

  • get_model: Get detailed model information by ID

  • get_model_version: Get model version details

  • get_model_version_by_hash: Get model version by file hash

  • get_popular_models: Get popular models

  • get_latest_models: Get newest models

  • get_top_rated_models: Get highest rated models

  • search_models_by_tag: Search models by tag

  • search_models_by_creator: Search models by creator

  • get_models_by_type: Filter models by type

  • get_download_url: Get download URL

Other

  • get_images: Get images

  • get_creators: Search creators

  • get_tags: Search tags

FastMCP Resources

This server also provides structured resource definitions that can be accessed via FastMCP resource URIs:

Model Resources

  • civitai://models/{limit} - List models with filtering options (limit parameter required)

  • civitai://models/{model_id} - Get specific model details

Model Version Resources

  • civitai://model-versions/{version_id} - Get model version details

  • civitai://model-versions/by-hash/{hash} - Get model version by file hash

Image Resources

  • civitai://images/{limit} - List images with filtering options (limit parameter required)

Creator Resources

  • civitai://creators/{limit} - List creators (limit parameter required)

Tag Resources

  • civitai://tags/{limit} - List tags (limit parameter required)

These resources provide structured data models that can be used programmatically by MCP clients.

API Key

A Civitai API key is not required but recommended for:

  • Access to private models

  • Higher rate limits

  • Some advanced features

You can get an API key from your Civitai account settings.

Examples

# Search models
search_models(query="anime", limit=10, sort="Most Downloaded")

# Get specific model details
get_model(model_id=12345)

# Get popular LORA models
get_models_by_type(type="LORA", sort="Most Downloaded", limit=5)

# Get images
get_images(limit=20, nsfw="None", sort="Newest")

Notes

  • API responses can be large

  • Use NSFW filtering options appropriately

  • Store API keys securely using environment variables

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/waura/civitai-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server