Unfortunately, Sprites Now Speak MCP

Published: (March 9, 2026 at 08:00 PM EDT)
6 min read

Source: Fly.io Blog

Author

Kurt Mackey

  • Name: Kurt Mackey
  • Twitter: @mrkurt

Fly whackamole
Image by Annie Ruygt

Sprites are disposable cloud computers. They appear instantly, always include durable filesystems, and cost practically nothing when idle. They’re the best and safest place on the Internet to run agents, and we want you to create dozens of them.

Sprites are a place to run agents; the first thing you should think to do with a new Sprite is to type claude (or gemini or codex). We’ve put a lot of effort into making sure coding agents feel safe and happy when they’re on Sprites, because, to (probably) quote John von Neumann, “happy agents are productive agents.”

What’s less obvious about Sprites is that they’re great tools for agents. Want three different versions of a new feature? A test environment? An ensemble of cooperating services? It’s super handy to be able to start your prompts, “On a new Sprite, do…”.

The Sprites API is simple, discoverable, and designed for this use case. It’s just a question of how you choose to give your agent access to it. And now there’s one more way: with MCP.

We Did This Because Your Agents Suck

This feature works, but we’re less than enthusiastic about it—not as product developers, mind you, but as aesthetes. It’s a good product; we just think there’s a better way.

The Problem with MCP

In 2026, MCP is the wrong way to extend an agent’s capabilities. The emerging “right way” is to use command‑line tools and discoverable APIs.

When we plug an MCP into an agent, we fill its context with tool descriptions—many of which will never be used. All an agent really needs is a short instruction such as:

Use this skill whenever users want to create a new VM to run a task on, or to manage the VMs already available.

The skill itself should handle the rest.

Why CLI‑Driven Skills Are Better

  • Progressive disclosure – Capabilities are revealed only when needed.
  • Subcommands & subpaths – You can expose functionality via commands like sprite checkpoint and sprite exec, or via API endpoints with clear hierarchies.
  • Fast learning – A good agent quickly figures out how to use these interfaces.

A Real‑World Example: Playwright

Playwright is the industry‑standard browser‑automation tool. If you ask Claude to install Playwright and Chrome, there’s a coin‑flip chance it will also set up an MCP server. When it doesn’t, Playwright still works because Claude simply writes small scripts to drive it.

The models already know how to generate these scripts without consuming a lot of context.

Context Bloat Is a Signal, Not a Feature

Cramming an agent’s context with many MCP tool descriptions signals to the model that all those tools are important. In reality, not every Sprite command matters in every setting. For example, if you’re not using network policies, you don’t need the gemini command to waste time setting them up.

  1. Expose functionality via CLI or API – Use clear, discoverable commands or endpoints.
  2. Give the agent a short, high‑level instruction – Let it decide when and how to invoke the tools.
  3. Allow the agent to run shell commands – This removes the need for MCP sessions in most cases.

If you’re stuck with an agent that cannot run commands, you may still need an MCP session, but most modern agents (Claude, Gemini, Codex, etc.) can handle the sprite CLI directly. Show them the CLI and let them impress you.

sprites.dev/mcp

Plug this URL into Claude Desktop (or any other agent tool that speaks MCP). After authenticating to one of your Fly.io organizations, your agent will be able to speak Sprites.

Example Prompts

  • Reproduce a bug

    On a new Sprite, take this repository and reproduce this bug from issues/913, capturing logs.
  • Benchmark a function

    On a new Sprite, benchmark this function across 1 000 runs and summarize the results.
  • Upgrade dependencies

    On a new Sprite, update all the dependencies on this project to their newest versions and test that everything works.
  • Compare query libraries

    On 3 new Sprites, change this service to use each of these 3 query libraries, and use HTTP to test latency.
  • Trace file access

    On a new Sprite, run this code with bpfwatch and show me what files it touches.
  • Load‑test an endpoint

    On a new Sprite, run a load generator against this endpoint for 60 seconds and report the results.
  • Explore a dataset

    On a new Sprite, download this dataset and give me a Jupyter notebook to explore it in.
  • Real‑time webhook reporting

    On a new Sprite, set up a webhook receiver and render a real‑time web report of all the payloads it receives.

Why Use Sprites?

Sometimes you need a clean, cheap, disposable computer (or five of them). Sprites give you exactly that—on‑demand, isolated environments that you can spin up with a single prompt. Think of the possibilities for your projects; you’ll soon wonder how you ever managed without them.

Safety & Guardrails

We understand the concern that “robots might ruin my life.” That’s why we’ve built in robust guardrails:

  • Scoped authentication – When you authenticate, you grant the agent access to one specific Fly.io organization only.
  • Session limits – You can cap the number of Sprites the MCP session may create.
  • Naming prefixes – Assign custom prefixes to Sprite names so you can easily identify, monitor, and terminate them.

These controls let you enjoy the power of Sprites while keeping full oversight of what they do.

Stateless Sandboxes

We’ll keep saying this until our faces turn blue: the industry is stuck on “sandboxes” as a way of letting agents run code, and sandboxes aren’t good enough anymore. What agents want is real computers, with real filesystems, connected to real networks, and there’s no technical reason not to give them some.

We designed Sprites so that you can fearlessly create whole bunches of them. They’re responsive enough to host web apps for your team, but they idle in a sleeping state where they cost virtually nothing. Everybody at Fly.io that uses them ends up with 20 or 30, just hanging around.

We think you’ll do better work when you can pull in as many computers as you need to solve problems. If it takes an MCP server for us to get you to do that, so be it.


Previous post
Litestream Writable VFS

0 views
Back to Blog

Related posts

Read more »

#1 – AWS Cloud Introduction

Introduction Amazon Web Services AWS started as an internal infrastructure used by Amazon. Over time, the company realized other organisations could benefit fr...

Welcome to Container Harbour! 🚢 Ep.1

Episode 1: Welcome to Container Harbour! 🚢 Listen. LISTEN. We Need to Talk About Your Apps. 🎤 You know what cracks me up? Every time someone asks “What IS Ku...