Klipper MCP Server

Klipper MCP Server

An MCP server that enables AI assistants to control and monitor Klipper 3D printers via the Moonraker API. It supports comprehensive printer management, including G-code execution, toolchanger operations, and real-time status monitoring.

Category
Visit Server

README

Klipper MCP Server

A Model Context Protocol (MCP) server for controlling Klipper 3D printers via Moonraker API. Enables AI assistants like Claude to control your 3D printer through VS Code.

Features

Core Printer Control

  • Get printer status, temperatures, and position
  • Run G-code commands
  • Start, pause, resume, and cancel prints
  • Home axes and emergency stop
  • Klipper firmware restart

StealthChanger Toolchanger

  • Select tools (T0-T5)
  • Initialize toolchanger
  • Tool alignment workflow
  • Crash detection control
  • Tool dock/pickup operations

LED Effects (klipper-led_effect)

  • Set LED effects and animations
  • Stop effects (single or all)
  • LED scene presets (idle, printing, complete, etc.)
  • Direct LED color control

File Operations

  • List and read G-code files
  • Upload and delete files
  • Search within files
  • Get G-code metadata

Camera & Timelapse

  • Capture webcam snapshots
  • Get stream URLs
  • Timelapse settings and control
  • Manual frame capture

Print Statistics

  • Print history with filtering
  • Cumulative totals (time, filament)
  • Filament usage analysis
  • Recent prints summary

Diagnostics

  • Parse klippy.log for errors
  • Common issue detection
  • MCU status
  • G-code history
  • Problem troubleshooting guide

Temperature & Bed Mesh

  • Temperature history
  • Anomaly detection
  • Bed mesh profiles
  • Mesh calibration

Spoolman Integration

  • List and track filament spools
  • Set active spool
  • Low filament warnings
  • Usage by material

Notifications

  • Discord, Slack, Pushover webhooks
  • Text-to-speech announcements
  • Print completion alerts
  • Temperature alerts

Backup & Maintenance

  • Config file backup/restore
  • Maintenance logging
  • Due maintenance alerts
  • Data export

G-code Analysis

  • File analysis and metadata
  • Comment extraction
  • Move statistics
  • Layer extraction
  • Validation checks

Installation

On CB1 (BigTreeTech)

  1. Clone or copy files to CB1:

    cd ~
    git clone <repo-url> klipper-mcp
    # Or copy files via SCP/SFTP
    
  2. Run the installer:

    cd ~/klipper-mcp
    chmod +x install.sh
    ./install.sh
    
  3. Configure settings:

    nano ~/klipper-mcp/config.py
    

    Update these settings:

    • MOONRAKER_URL: Usually http://localhost:7125
    • PRINTER_NAME: Your printer name
    • API_KEY: Generate a secure key
    • ADMIN_PIN: Set a PIN for destructive operations
    • ARMED: Set to True when ready
  4. Start the service:

    sudo systemctl start klipper-mcp
    sudo systemctl status klipper-mcp
    

Manual Installation

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run server
python server.py

VS Code Configuration

Add to your VS Code mcp.json:

{
  "mcpServers": {
    "voron": {
      "type": "http",
      "url": "http://192.168.2.87:8000/mcp",
      "headers": {
        "X-API-Key": "your-api-key"
      }
    }
  }
}

Replace 192.168.2.87 with your CB1's IP address.

Security

ARMED Flag

Dangerous operations (G-code execution, temperature changes) require ARMED=True in config.

Admin PIN

Destructive operations (file deletion, config restore) require the admin PIN.

Audit Log

All operations are logged to data/audit.log for security review.

Configuration Reference

# config.py

# Moonraker connection
MOONRAKER_URL = "http://localhost:7125"
PRINTER_NAME = "Voron"

# MCP Server
MCP_HOST = "0.0.0.0"
MCP_PORT = 8000
MCP_TRANSPORT = "http"  # or "stdio"

# Security
API_KEY = "your-secret-key"
ARMED = False  # Set True to enable dangerous ops
ADMIN_PIN = "1234"

# Camera
CAMERA_SNAPSHOT_URL = "http://localhost/webcam/?action=snapshot"
CAMERA_STREAM_URL = "http://localhost/webcam/?action=stream"

# Spoolman (optional)
SPOOLMAN_ENABLED = False
SPOOLMAN_URL = "http://localhost:7912"

# Notifications (optional)
DISCORD_WEBHOOK_URL = ""
SLACK_WEBHOOK_URL = ""
PUSHOVER_USER_KEY = ""
PUSHOVER_API_TOKEN = ""

# Text-to-Speech (optional)
TTS_ENABLED = False
TTS_RATE = 150
TTS_VOLUME = 1.0

# Maintenance intervals (hours)
MAINTENANCE_INTERVALS = {
    "nozzle": 200,
    "belts": 500,
    "linear_rails": 1000,
    "filters": 100
}

# StealthChanger
TOOL_COUNT = 4

Troubleshooting

Server won't start

  • Check Moonraker is running: systemctl status moonraker
  • Verify config.py settings
  • Check logs: tail -f /var/log/klipper-mcp.log

Can't connect from VS Code

  • Verify CB1 IP address
  • Check firewall allows port 8000
  • Verify API key matches

Operations failing

  • Check ARMED=True for dangerous operations
  • Verify Klipper is running and ready
  • Check klippy.log for errors

License

MIT License

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured