MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

Pixly

Host and manage Minecraft servers, mods, worlds and backups on Pixly.

Checks passed
14 / 22

1 failed · 7 not measured

Median response
4382 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
44

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 7043 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name openapi-mcp-server.

  • Pass
    Lists tools

    tools/list returned 44 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 4382 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 6777 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    167 of 245 parameters have a description (68%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-30T15:27:24.407912Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Pixly

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http pixly https://pixly.gg/api/mcp

Capabilities

Tools 44

abortAssetUploads

Discards one or more (up to 50) unfinished or inspected uploads. Returns aborted and leftover. Installed files are removed with deleteAsset.

Discovered
abortModpackUpload

Cancels an unfinished, or checked but not yet installed, modpack upload and discards the file. An installed modpack is not affected; remove it with deleteModpack.

Discovered
abortWorldUpload

Cancels an unfinished world upload and discards the parts uploaded so far. The server's current world is not affected. Only before completeWorldUpload.

Discovered
cancelBackupRestore

Cancels a restore from restoreBackup that an online server has not applied yet. Pass the queued backupId. Fails if nothing is queued for it or it is already being applied.

Discovered
completeAssetUploads

Installs one or more (up to 50) files from startAssetUpload calls; resource packs go through setResourcePack. Files failing a check are returned in rejected with key and error; the rest apply at the next restart.

Discovered
completeModpackUpload

Installs the uploaded file as the server's modpack, replacing loader, version and mods at the next restart; a backup is taken first. Pass uploadId, key and each ETag, and replace to swap out a modpack that is already set. Returns the server.

Discovered
completeWorldUpload

Call after every piece is uploaded, with jobId, uploadId, key and each ETag. The current world is not changed: the archive is imported in the background (minutes) into a new backup with reason upload in listBackups. To play it, run restoreBackup with that backupId. Fails over 4 GiB or on low balance.

Discovered
createBackup

Takes a manual backup of the server's current world, which can later be restored or exported. Fails while the server is starting, stopping or restoring, before its first boot, or when the account balance is too low. Returns the backup as pending; listBackups shows it completed when done. Name a backup to the user by its time and reason; never show its backupId.

Discovered
createServer

Creates a server, asleep and free until startServer or a joining player wakes it, and returns it with its id and join address. Region sets player latency and cannot change later: ask where players are if unknown; regions and size prices come from getPricingCatalog. Optional content from Modrinth, CurseForge or a link downloads on first start; uploaded files are added afterwards with the asset or modpack upload tools. Accounts hold a limited number of servers; at the limit, delete one with deleteServer.

Discovered
deleteAsset

Uninstalls a custom mod, plugin or datapack file that was uploaded to the server and deletes the file, taking effect at the next restart. The file can only be recovered from a backup.

Discovered
deleteBackup

Permanently deletes one backup; this cannot be undone. A backup that is queued for restore or being exported cannot be deleted. For the only remaining copy of a world the call is refused with requiresConfirmation; ask the user, then repeat with confirm true.

Discovered
deleteBackupExport

Deletes the downloadable archive made by startBackupExport. The backup itself is kept and can be exported again.

Discovered
deleteModpack

Uninstalls the server's uploaded custom modpack and deletes the file, taking effect at the next restart. The world is kept, though the server may then suggest a world reset to clear content the pack left behind.

Discovered
deleteServer

Permanently deletes the server with its world, settings, backups and exports, shutting it down if running. Call it only for a server the user named in this request, one server per call; for a request that names none or covers several, such as delete my servers, list them with listServers and ask which to delete first. For a fresh world use resetServer. To keep the world, first startBackupExport and download it with getBackupDownloadUrl. The user can also delete it on the Danger tab of the webUrl from listServers (webUrl followed by danger/). Returns deleted: true.

Discovered
dismissJoinAttempt

Clears the notice for a player the whitelist turned away; it does not whitelist, kick or ban. To let them in, add them to whitelist with updateServer. Returns the server.

Discovered
getBackupDownloadUrl

Returns a signed link, valid for 6 hours, to download a backup exported with startBackupExport. Fails if the export is not ready yet; requires a paid account. Returns url (a .tar.gz for the user) and expiresAt.

Discovered
getBalance

Shows the signed-in user's balance, this month's spend so far and projected total, and what awake servers cost per hour. Call it when the user asks about their balance or spending, or wants to add funds. It cannot add funds or take payments; funds are added in the Pixly dashboard, which dashboardUrl links to.

Discovered
getBedrockRange

Returns the Java version range Bedrock players can join, for fabric, neoforge and spigot (Paper and its forks); an empty string means unknown. Check it before enabling config.bedrockEnabled.

Discovered
getConsoleLogs

Returns up to 200 recent console lines, including startup, oldest first. Use it to see why a server failed to start or what happened in game; it cannot run commands. Returns events, nextCursor (newer) and prevCursor (older); platform notices are left out, so a page can hold fewer lines, or none, while prevCursor still leads to older ones. degraded: true means the read timed out, retry. Show lines to the user in a code block, one per line.

Discovered
getLoaderVersions

Lists the Minecraft versions each config.type can run, keyed by type. Use it before createServer or updateServer to choose config.version. VANILLA is omitted because it runs every version; a missing type means its list is unavailable.

Discovered
getMonthSpending

Breaks this calendar month's spend so far down by server: cost, compute cost, data sent to players and time awake. Match each serverId to a name with listServers and name servers by that name. For the total and the balance use getBalance.

Discovered
getPricingCatalog

Returns estimated monthly prices in US cents, as the site shows them, for every available region and size under three play schedules (casual, regular, evenings), plus always-on host references when available. Name each size by its memoryGb, adding vcpu when two sizes share the same memory; the size value is only for createServer. The hourly price the site shows for a size is its lowest monthlyCents divided by hoursPerMonth across the schedules, rounded to a whole cent and never below 1 cent. Use it to quote prices or choose region and size: pass a region's id (not awsRegion) as createServer region, and a size as size. Works without sign-in.

Discovered
getServerMetrics

Returns the server's load samples over the last minutes (default 30, up to 360), oldest first, one about every 30 seconds while it runs. Each point has its time, memory use, tick load in permille (divide by 20 for milliseconds per tick; 1000 means the server is lagging) and peak players. Gaps mean the server was asleep or starting. Use it to explain when and why a server lagged.

Discovered
getServerUsage

Returns the time the server spent with at least one player online in its latest unbroken run on its current size (its last 7 days with players, or more days back until they hold 8 hours), histograms of CPU, tick load, GC pause share, memory peak, the JVM's live set and memory outside its heap over that time, and suggestion: the smaller, cheaper size that would carry the same play, or null when the current size is needed or the evidence is too thin: at least 3 hours of play with a clear margin, or 8 hours otherwise. Use suggestion to answer whether the server can run on a smaller size; changing size is updateServer with the target size and applies on the next start.

Discovered
inspectAssetUpload

Completes a startAssetUpload and reports its kind, size and metadata without installing it. To install, pass it to completeAssetUploads, or setResourcePack with its key for a resource pack; abortAssetUploads discards it.

Discovered
inspectModpackUpload

Completes a startModpackUpload and returns its version, loader and contents without installing. To install, call completeModpackUpload with the same arguments; abortModpackUpload discards it.

Discovered
keepServerAwake

Delays a running server's idle sleep by 5 minutes from now; it keeps being charged meanwhile. Use it while working on a server with no players online; to wake an asleep server use startServer. Fails with 409 if not running. Returns sleepAt.

Discovered
listBackups

Lists backups newest first with backupId, startTime, sizeBytes, reason (daily, manual, upload, freeze, reset, config-change) and exportState (idle, exporting, ready). Pass backupId to restoreBackup, cancelBackupRestore, startBackupExport, getBackupDownloadUrl (exportState ready) or deleteBackup. Name a backup to the user by its time and reason; never show its backupId.

Discovered
listBills

Lists past calendar months' bills, newest first, each with its cost per server, split into compute, data sent to players and world storage. status pending means the month is closed but its bill is not final yet. Match each serverId to a name with listServers; a deleted server no longer appears there.

Discovered
listServers

Lists the account's servers with id, name, join address, region, size, settings, state and recent disk, memory and lag figures. runtime.loadCause, when present, says why a server keeps lagging with players on: memory (garbage collection), cpu-starved (one core shared with background work; a second core fixes it), run-bound (the world's own work; optimise rather than upsize) or unclassified. For when and how badly it lagged, use getServerMetrics. Use it to find the serverId other tools take, by the name the user knows. A server is online only when statusDetail is server-online; desiredState stopped means asleep. joinAttempts lists players the whitelist turned away (see dismissJoinAttempt).

Discovered
refreshWorldUploadParts

Returns new one-hour links for pieces of a startWorldUpload whose links expired. Pass jobId, uploadId, key and the pieces still to upload.

Discovered
resetServer

Replaces the world with a fresh one, keeping settings, content and address; for an earlier world use restoreBackup instead. A running server disconnects its players and comes back online on the new world. A reset backup of the current world is taken first and earlier backups are kept, but the archived world of a long-asleep server is discarded. The user can also reset it on the Danger tab of the webUrl from listServers (webUrl followed by danger/). Returns the server.

Discovered
restartServer

Reboots a running server's machine; players are disconnected for a minute or two while it boots and fetches its content from Modrinth, CurseForge or their download links. Use it for a pending size change or a stuck server; for changed game settings use restartToApplySettings. A restore queued with restoreBackup replaces the world during the reboot, and the restart needs enough account balance for the server's size. Fails unless the server is running (use startServer); returns the server.

Discovered
restartToApplySettings

Restarts only the Minecraft program on an online server so changed settings apply; players drop for a few seconds while it reloads content from Modrinth, CurseForge or their download links. Use it when the server reports a restart is required; for a size change use restartServer. If a pending change needs a full reboot (size, or a restore queued with restoreBackup) it reboots the machine instead. Fails unless online (use startServer).

Discovered
restoreBackup

Replaces the whole world with the chosen backup. No backup of the current world is taken, so everything since that backup is lost unless you run createBackup first. An asleep server restores at once; an online server applies it at the next restartServer or restartToApplySettings, and until then cancelBackupRestore undoes it. A different backupId replaces a queued restore.

Discovered
setResourcePack

Sets the resource pack players are offered on join, from Modrinth, an uploaded .zip or a link; from: none removes it. It applies at the next restart (restartToApplySettings). Make it mandatory with resourcePackRequired in updateServer. Returns the server.

Discovered
startAssetUpload

Only for an assistant that can send the user's file with HTTP PUT, such as a coding agent with a shell. Begins uploading one .jar or .zip mod, plugin, datapack or resource pack (up to 512 MiB, storage capped per server and account) and returns uploadId, key, fileName and parts: PUT each piece within an hour and keep each ETag. Then completeAssetUploads installs mods, plugins and datapacks, inspectAssetUpload checks a file or readies a resource pack for setResourcePack, and abortAssetUploads discards it.

Discovered
startBackupExport

Packages a backup into a downloadable archive. Requires a paid account and balance; refused while another upload, export or restore is pending (at most 3 per account). Poll listBackups until exportState is ready, then call getBackupDownloadUrl; if it returns to idle instead, the export failed.

Discovered
startModpackUpload

Only for an assistant that can send the user's file with HTTP PUT, such as a coding agent with a shell. Begins uploading a Modrinth .mrpack or a CurseForge modpack .zip (up to 1 GiB). Returns uploadId, key, fileName and parts (url valid one hour): PUT each piece, keep each ETag, then completeModpackUpload. Installing is refused while a modpack is set unless completeModpackUpload is called with replace.

Discovered
startServer

Wakes an asleep server so players can join it from the internet at its address; not for an online server (use restartServer). While booting it fetches its mods, plugins and modpack from Modrinth, CurseForge or their download links, and a backup queued with restoreBackup replaces the current world. Starting needs enough account balance for the server's size, which pays for the running server. Returns the server; poll listServers until statusDetail is server-online, a few minutes later.

Discovered
startWorldUpload

Only for an assistant that can send the user's file with HTTP PUT, such as a coding agent with a shell. Begins uploading a world archive (.zip, .tar.gz, .tgz; up to 4 GiB). Returns jobId, uploadId, key and parts (partNumber, url valid one hour): PUT each piece to its url, keep each ETag, then call completeWorldUpload. Refused while another upload, export or restore is pending.

Discovered
stopServer

Shuts a running server down so it sleeps, disconnecting players and ending running charges; world and settings are kept. For a reboot use restartServer. While autoStartEnabled is on, a joining player wakes it (turn off with updateServer). Returns the server.

Discovered
updateServer

Changes a server's name, size, settings, player lists, content, auto-start or custom domain. Omitted fields are kept and a sent player list replaces the stored one; mods, plugins and datapacks change one entry at a time through projectChanges. Not for the resource pack (setResourcePack) or a fresh world (resetServer). The returned server says when a restart is required (restartToApplySettings); a larger size costs more per running hour.

Discovered
verifyCustomDomain

Looks up the public DNS record of the custom domain set with updateServer customDomain and updates its status; use it after the user changes DNS. A record that points at the server verifies the domain and starts routing players to it. A failing record is reported with its reason and never takes a verified domain off the server; one whose record stays wrong is revoked later by Pixly's hourly check. Returns check.verified, with a reason on failure, and the server.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected7043 ms44
Connected1720 ms44