envy-mcp-hello

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.

Category
Visit Server

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

  1. Create a Modal token in the modal-labs workspace.

  2. In this GitHub repository, add these Actions secrets under Settings → Secrets and variables → Actions:

    • MODAL_TOKEN_ID
    • MODAL_TOKEN_SECRET
    • ENVY_MODAL_APP_NAME
    • ENVY_MODAL_ENDPOINT_LABEL
  3. Create a Modal Secret named envy-github containing GITHUB_TOKEN. Use a fine-grained token restricted to this repository with only the contents and pull-request permissions required for publishing.

  4. 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:

  1. create_sandbox with environment: "hello"
  2. write /tmp/hello/message.txt with hello from MCP
  3. read, edit, bash, glob, or grep against that file
  4. read /tmp/hello/README.md or run /tmp/hello/hello.py
  5. Stage and commit a branch inside the sandbox.
  6. Call publish_pull_request to push the committed branch and open the PR.
  7. kill_sandbox when 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured