envy-mcp-hello
A tiny public MCP server backed by an Envy-managed Modal sandbox that exposes a hello environment with standard sandbox tools like create_sandbox, bash, read, write, edit, and grep for ephemeral file and command execution.
README
envy-mcp-hello
A tiny public MCP server backed by an Envy-managed Modal sandbox. It exposes
one hello environment and the standard Envy MCP tools:
create_sandbox · kill_sandbox · publish_pull_request · bash · read · write · edit · glob · grep
This example pins the current FastMCP 4 prerelease (4.0.0b3) so the public
deployment exercises the v4 server and client protocol.
Deploy it
-
Create a Modal token in the
modal-labsworkspace. -
In this GitHub repository, add these Actions secrets under Settings → Secrets and variables → Actions:
MODAL_TOKEN_IDMODAL_TOKEN_SECRETENVY_MODAL_APP_NAMEENVY_MODAL_ENDPOINT_LABEL
-
Create a Modal Secret named
envy-githubcontainingGITHUB_TOKEN. Use a fine-grained token restricted to this repository with only the contents and pull-request permissions required for publishing. -
Push to
main, or run Deploy MCP server manually from the Actions tab.
The workflow installs Envy from the public aaazzam/envy
repository with uv, runs the declaration tests, and deploys the modal_app
in devboxes.py to Modal.
The deployed MCP URL is shared out-of-band rather than committed here. The endpoint is intentionally public and does not use Modal proxy authentication; URL secrecy is not a security boundary. Do not put secrets or private source code in the hello sandbox.
ENVY_MODAL_APP_NAME and ENVY_MODAL_ENDPOINT_LABEL are stable, opaque
deployment values. Keep them out of the repository and reuse them across
redeploys so the same endpoint is updated instead of creating a new app.
Try it
Point an MCP client at the URL and call:
create_sandboxwithenvironment: "hello"write/tmp/hello/message.txtwithhello from MCPread,edit,bash,glob, orgrepagainst that fileread/tmp/hello/README.mdor run/tmp/hello/hello.py- Stage and commit a branch inside the sandbox.
- Call
publish_pull_requestto push the committed branch and open the PR. kill_sandboxwhen finished
The sandbox is ephemeral, uses /tmp/hello as its working directory, and is
backed by a Git checkout of this repository's main branch. GitSource
automatically adds Git to the sandbox image before the checkout.
Local validation
Install the locked environment and run the tests with uv:
uv sync --dev
uv run pytest
The package declaration lives in envy_mcp_hello/app.py; devboxes.py is a
small compatibility entry point for the Modal CLI, and hello.py is the code
that gets checked out into the sandbox.
The GitHub Action deploys the public control plane and rebakes the environment
image, while sandbox creation happens when an MCP client calls
create_sandbox.
Because this public example can publish to GitHub, protect the MCP endpoint or use a narrowly scoped, disposable GitHub token before exposing it beyond a trusted client.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.