# HadiCherkaoui/crafty-mcp [Health: Active]

**Category:** 🎮 Gaming  
**Repository:** https://github.com/HadiCherkaoui/crafty-mcp  
**GitHub Stars:** 2  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/hadicherkaoui-crafty-mcp

## Description
MCP server for managing Minecraft servers through Crafty Controller 4. Start, stop, backup, send commands, manage files, schedules, webhooks, and users via the Crafty API.

## Tools
Capabilities this server exposes over MCP:

- **crafty_login** — Login with username/password to get a bearer token
- **crafty_api_info** — Get API version info and MOTD
- **crafty_list_schemas** — List available JSON schema names
- **crafty_get_schema** — Get a specific JSON schema by name
- **crafty_get_stats** — Get host CPU, RAM, disk, and boot time
- **crafty_get_config** — Get Crafty panel configuration
- **crafty_update_config** — Update Crafty panel configuration
- **server_list** — List all managed Minecraft servers
- **server_get** — Get a server's full configuration
- **server_create** — Create a new Minecraft server (Java, Bedrock, custom)
- **server_update** — Update server configuration
- **server_delete** — Permanently delete a server
- **server_get_stats** — Get live stats: CPU/RAM, players online, version, world
- **server_get_logs** — Get server console log lines
- **server_get_history** — Get historical stats for graphing
- **server_start** — Start a server
- **server_stop** — Stop a server
- **server_restart** — Restart a server
- **server_kill** — Force-kill a server process
- **server_backup** — Trigger an immediate backup
- **server_update_executable** — Update the server jar/executable
- **server_clone** — Clone an existing server
- **server_send_command** — Send a command to the server console
- **server_list_files** — List files/directories in a server directory
- **server_get_file** — Read a file's contents
- **server_update_file** — Write or update a file
- **server_delete_file** — Delete files or directories
- **server_create_file** — Create a new file
- **server_create_directory** — Create a new directory
- **server_rename_file** — Rename or move a file
- **server_decompress_file** — Decompress an archive
- **server_list_backups** — List all backups with timestamps and sizes
- **server_get_backup_config** — Get backup configuration
- **server_update_backup_config** — Update backup settings
- **server_restore_backup** — Restore a specific backup
- **server_delete_backup** — Delete a backup
- **server_list_tasks** — List all scheduled tasks
- **server_get_task** — Get a task's configuration
- **server_create_task** — Create a scheduled task (interval or cron)
- **server_update_task** — Update a scheduled task
- **server_delete_task** — Delete a scheduled task
- **server_run_task** — Manually trigger a task
- **server_list_webhooks** — List all webhooks
- **server_get_webhook** — Get a webhook's details
- **server_create_webhook** — Create a webhook (Discord, etc.)
- **server_update_webhook** — Update a webhook
- **server_delete_webhook** — Delete a webhook
- **server_test_webhook** — Send a test webhook message
- **user_list** — List all Crafty users
- **user_get** — Get a user's details (use `@me` for yourself)
- **user_create** — Create a new user
- **user_update** — Update a user
- **user_delete** — Delete a user
- **user_get_permissions** — Get user permissions
- **user_update_permissions** — Update user permissions
- **user_get_api_keys** — List a user's API keys
- **user_create_api_key** — Generate a new API key
- **user_delete_api_key** — Revoke an API key
- **role_list** — List all roles
- **role_get** — Get a role's details
- **role_create** — Create a new role
- **role_update** — Update a role
- **role_delete** — Delete a role

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "crafty-mcp": {
    "command": "npx",
    "args": ["-y","crafty-mcp"],
    "env": {
      "CRAFTY_URL": "",
      "CRAFTY_API_TOKEN": "",
      "CRAFTY_ALLOW_INSECURE": "",
      "CRAFTY_TIMEOUT": ""
    }
  }
}
```

**Requires environment variables:** `CRAFTY_URL`, `CRAFTY_API_TOKEN`, `CRAFTY_ALLOW_INSECURE`, `CRAFTY_TIMEOUT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What HadiCherkaoui/crafty-mcp MCP server does

HadiCherkaoui/crafty-mcp MCP server connects an MCP client to Crafty Controller 4 and exposes Crafty API V2 operations as individual tools. It is intended for administrators who want to manage Minecraft servers from an AI assistant rather than switching between an assistant and the Crafty web panel.

The available operations cover host and panel information, server configuration, runtime control, console access, file management, backups, scheduled tasks, webhooks, users, and roles. Server creation supports Java, Bedrock, and custom server types. The tools can also retrieve live server statistics, historical metrics, console logs, and server configuration.

## How it works

The MCP process runs locally and sends requests to the Crafty Controller URL configured in `CRAFTY_URL`. Authentication can use a bearer token supplied through `CRAFTY_API_TOKEN`, or an assistant can call `crafty_login` with a Crafty username and password to obtain a token dynamically. Crafty’s API token can be generated from the user profile’s API Keys section.

An MCP client invokes tools such as `server_list`, `server_start`, `server_send_command`, or `server_get_file`. Administrative tools can change panel configuration, create or remove servers, alter files, restore backups, manage scheduled tasks, configure webhooks, and administer users and roles. These actions depend on the permissions of the Crafty account or token in use.

## Setup and configuration

Install the HadiCherkaoui/crafty-mcp MCP server through npm and register it in the MCP client configuration. A typical stdio setup uses `npx -y crafty-mcp` and provides the following environment values:

- `CRAFTY_URL`: Required base URL for the Crafty Controller instance.
- `CRAFTY_API_TOKEN`: Optional bearer token; dynamic login can be used instead.
- `CRAFTY_ALLOW_INSECURE`: Set to `true` when the Crafty instance uses a self-signed certificate.
- `CRAFTY_TIMEOUT`: Optional request timeout in milliseconds; the documented default is 30,000.

The README gives configuration examples for Claude Desktop, Claude Code, and Cursor. The project can also be built from source with `npm install` and `npm run build`, then started with `node dist/index.js`.

## Tools and capabilities

Core capabilities include:

- Inspect Crafty API metadata, schemas, host statistics, and panel configuration.
- Create, update, clone, start, stop, restart, kill, back up, and delete Minecraft servers.
- Read console logs, historical statistics, live resource usage, player counts, versions, and worlds.
- Send console commands and update a server executable.
- List, read, write, create, delete, rename, and decompress server files.
- Create and manage backups, interval or cron tasks, and webhooks.
- Create and administer Crafty users, API keys, permissions, and roles.

## Limitations and notes

The server requires access to a running Crafty Controller 4 instance and suitable Crafty permissions. `CRAFTY_URL` must point to the target panel, while the token is optional only when authentication is performed with `crafty_login`. Enabling `CRAFTY_ALLOW_INSECURE` permits self-signed certificates and should be used only when that behavior is appropriate for the deployment. Operations such as deleting servers, files, users, roles, or backups can be destructive, so client workflows should verify targets before invoking them.

_Full upstream README: https://allmcps.com/mcp/hadicherkaoui-crafty-mcp/readme_

