protogrid

Search / gg.pixly/mcp

Pixly

R0· no sign-in

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

v0.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust96of 100
Uptime, 30 days100%
Latency p50898 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pixly": {
      "type": "http",
      "url": "https://pixly.gg/api/mcp"
    }
  }
}
claude mcp add --transport http pixly https://pixly.gg/api/mcp
[mcp_servers.pixly]
url = "https://pixly.gg/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pixly": {
      "type": "remote",
      "url": "https://pixly.gg/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "pixly": {
      "type": "http",
      "url": "https://pixly.gg/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pixly&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcGl4bHkuZ2cvYXBpL21jcCJ9"
}
{
  "servers": {
    "pixly": {
      "type": "http",
      "url": "https://pixly.gg/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "pixly": {
      "httpUrl": "https://pixly.gg/api/mcp"
    }
  }
}
extensions:
  "pixly":
    enabled: true
    name: "pixly"
    type: streamable_http
    uri: "https://pixly.gg/api/mcp"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene94 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations44 of 44 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 16,473 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stability83 · weight 15
  • warn
    stability.changes13 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
  • pass
    stability.new_linksno tool change named a new site
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

44 tools, about 16,473 tokens to load them all · tool set efad43f09c2e · tools last changed 2026-11-12 · checked 2026-11-14 07:36 UTC

Tool changes

  • updateServerchangedinput schema
  • createServerchangedinput schema
  • startAssetUploadchangedinput schema
  • updateServerchangeddescription, input schema
    before

    Changes a server's name, size, settings, player lists, content, auto-start or custom domain. Omitted fields are kept, and a sent list replaces the stored one (uploaded files excepted). 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.

    after · 80% of words in common

    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.

  • createServerchangedinput schema
  • getMonthSpendingchangeddescription
    before

    Breaks this calendar month's spend so far down by server: cost, compute cost 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.

    after · 91% of words in common

    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.

  • listBillschangeddescription
    before

    Lists past calendar months' bills, newest first, each with its cost per server. 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.

    after · 80% of words in common

    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.

  • completeModpackUploadchangeddescription, input schema
    before

    Installs the .mrpack 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. Returns the server.

    after · 71% of words in common

    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.

  • startModpackUploadchangeddescription
    before

    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 (up to 1 GiB). Returns uploadId, key, fileName and parts (url valid one hour): PUT each piece, keep each ETag, then completeModpackUpload. Refused when a modpack is set: deleteModpack removes an uploaded one, updateServer a catalog one.

    after · 77% of words in common

    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.

  • updateServerchangedinput schema

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-15d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://pixly.gg/api/mcp streamable-httpnoneyes100%898 ms2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-11-14

Tools (44)

abortAssetUploadsdestructiveDiscards one or more (up to 50) unfinished or inspected uploads. Returns aborted and leftover. Installed files are removed with deleteAsset.
abortModpackUploaddestructiveCancels an unfinished, or checked but not yet installed, modpack upload and discards the file. An installed modpack is not affected; remove it with deleteModpack.
abortWorldUploaddestructiveCancels an unfinished world upload and discards the parts uploaded so far. The server's current world is not affected. Only before completeWorldUpload.
cancelBackupRestoreCancels 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.
completeAssetUploadsInstalls 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.
completeModpackUploaddestructiveInstalls 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.
completeWorldUploaddestructiveCall 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.
createBackupTakes 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.
createServerCreates 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.
deleteAssetdestructiveUninstalls 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.
deleteBackupdestructivePermanently 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.
deleteBackupExportdestructiveDeletes the downloadable archive made by startBackupExport. The backup itself is kept and can be exported again.
deleteModpackdestructiveUninstalls 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.
deleteServerdestructivePermanently 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.
dismissJoinAttemptdestructiveClears 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.
getBackupDownloadUrlread-onlyReturns 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.
getBalanceread-onlyShows 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.
getBedrockRangeread-onlyReturns 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.
getConsoleLogsread-onlyReturns 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.
getLoaderVersionsread-onlyLists 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.
getMonthSpendingread-onlyBreaks 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.
getPricingCatalogread-onlyReturns 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.
getServerMetricsread-onlyReturns 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.
getServerUsageread-onlyReturns 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.
inspectAssetUploadCompletes 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.
inspectModpackUploadCompletes a startModpackUpload and returns its version, loader and contents without installing. To install, call completeModpackUpload with the same arguments; abortModpackUpload discards it.
keepServerAwakedestructiveDelays 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.
listBackupsread-onlyLists 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.
listBillsread-onlyLists 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.
listServersread-onlyLists 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).
refreshWorldUploadPartsread-onlyReturns new one-hour links for pieces of a startWorldUpload whose links expired. Pass jobId, uploadId, key and the pieces still to upload.
resetServerdestructiveReplaces 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.
restartServerdestructiveReboots 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.
restartToApplySettingsdestructiveRestarts 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).
restoreBackupdestructiveReplaces 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.
setResourcePackdestructiveSets 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.
startAssetUploadOnly 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.
startBackupExportPackages 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.
startModpackUploadOnly 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.
startServerdestructiveWakes 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.
startWorldUploadOnly 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.
stopServerShuts 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.
updateServerdestructiveChanges 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.
verifyCustomDomainLooks 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "gg.pixly/mcp",
  "title": "Pixly",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://pixly.gg/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/Wroud/pixly-plugins",
    "source": "github"
  },
  "websiteUrl": "https://pixly.gg",
  "description": "Host and manage Minecraft servers, mods, worlds and backups on Pixly."
}