A real running application
Flex checks out the registered source, starts its configured runtime, and gives the agent a live application—not just a diff to describe.
From Codex, Cursor, or Claude Code, Flex opens an isolated workspace for your real application, runs the stack, implements the change, and returns a live preview. Keep iterating in the same conversation, then create a pull request when you are satisfied.
Agent activity
Acme Dashboard
Workspace ready
Real source · isolated runtime
Application running
Preview stays live as files change
Files changed
Filter, query, and focused tests
Waiting for approval
Nothing sent for review yet
Billing operations
Account health
Accounts
1,284
Overdue
38
Healthy
96%
Northstar Labs
Enterprise · £12,400 ARR
Acorn Systems
Growth · £5,800 ARR
Daybreak Studio
Starter · £1,200 ARR
0
local files changed
1
stable preview URL
Real stack
running in isolation
Your approval
before pull request
Why Flex
Your coding agent remains the familiar control surface. Flex supplies the environment, the implementation runtime, the live application, and the safe path to review.
Flex checks out the registered source, starts its configured runtime, and gives the agent a live application—not just a diff to describe.
Follow-up requests return to the same remote workspace and update the same preview URL, so the conversation and the result stay together.
See changed files, failures, and preview state first. GitHub work becomes a pull request only after you explicitly ask Flex to send it for review.
The development loop
No local dependency setup. No background branch management. No guessing whether the application still runs. Flex makes the working result visible early and keeps it reviewable throughout the change.
Ask naturally from Codex, Cursor, or Claude Code. The agent finds only sources registered to your Flex tenant.
A resident runtime agent implements the request inside an isolated environment while your checkout remains untouched.
Open the stable preview URL early. Ask for follow-up changes and watch that same application update in place.
When the result is ready, explicitly ask Flex to create or return the GitHub pull request. Until then, it remains draft work.
Built for real product work
Flex joins the parts that normally break the flow: tenant-safe source discovery, runtime configuration, live preview routing, contextual follow-up work, secrets, and the final review boundary.
01 · Source-aware
Agents see registered repositories and ready Hosted Apps for the authenticated tenant—not arbitrary clone URLs.
02 · Runtime-aware
Flex uses the configured command, port, language runtime, resource profile, setup instructions, and agent notes.
03 · Secret-safe
For a missing repository secret, the agent prepares a single-use upload command. You enter the value directly into your terminal.
04 · Review-aware
Preview and iterate first. GitHub pull-request creation is a separate, explicit action rather than an automatic side effect.
Connect
One remote MCP endpoint gives Codex, Cursor, or Claude Code the same tenant-scoped Flex development loop.
First, create your Flex MCP access token.
The one-click default follows your current tenant role. Open Advanced permissions to reduce it—for example,
select only ManageWorkspaces for a workspace-only token. Add ManageRepositories,
SubmitReviews, or PrepareSecrets only when the agent needs those capabilities.
A token can never receive permissions above its creator's current role.
Codex
~/.codex/config.toml
export FLEX_API_KEY="..."
[mcp_servers.flex]
url = "https://flexenv.com/mcp/agents"
bearer_token_env_var = "FLEX_API_KEY"
default_tools_approval_mode = "writes"
Read the Codex MCP documentation →
Cursor
~/.cursor/mcp.json
export FLEX_API_KEY="..."
{
"mcpServers": {
"flex": {
"url": "https://flexenv.com/mcp/agents",
"headers": { "Authorization": "Bearer ${env:FLEX_API_KEY}" }
}
}
}
Read the Cursor MCP documentation →
Claude Code
.mcp.json
export FLEX_API_KEY="..."
{
"mcpServers": {
"flex": {
"type": "http",
"url": "https://flexenv.com/mcp/agents",
"headers": { "Authorization": "Bearer ${FLEX_API_KEY}" }
}
}
}
Read the Claude Code MCP documentation →
Agent guidance
Flex advertises remote-first guidance when the MCP connection starts. You can reinforce it in your repository and let the agent configure the registered runtime without exposing secret values.
Repository instructions
AGENTS.md, CLAUDE.md, or a Cursor project rule
## Flex development
When the user asks for a live preview or asks to work in Flex:
- Inspect this checkout read-only for context; do not edit it.
- Use the Flex MCP tools to find the registered source.
- Use detailed, evidence-based product and repository descriptions to make source
discovery and preview-product selection reliable.
- Start one remote workspace and return its preview URL early.
- Make follow-up changes in that same workspace.
- If startup fails or stalls, inspect the failure reason and bounded workspace
logs before retrying. Never repeat credential-like diagnostic content.
- If a repository secret is missing, prepare a one-time upload command.
Never ask the user to paste the secret into chat or run the command.
- Send GitHub work for pull-request review only after an explicit request.
Source and product configuration
Descriptions, runtime, resources, setup, and agent notes
With ManageRepositories, the agent can update product and repository descriptions as well as a registered repository's preview command, port, verified language runtime, compute resource profile, setup instructions, and agent notes. Descriptions should be detailed and grounded in the source: include purpose, users, owned capabilities, relevant stack, and boundaries so Flex can discover the right source and choose the right preview product. Verified runtime aliases are auto, node, dotnet, python, php, and vibecore. Secret values are never accepted by these tools.
Configure Acme Dashboard for Flex:
- repository description: Customer-facing React dashboard for account setup,
billing, and usage insights; backed by the dashboard API
- product description: Self-service account platform for operations teams,
covering onboarding, billing administration, and usage review
- preview command: npm run dev -- --host 0.0.0.0
- preview port: 5173
- runtime profile: node
- setup instructions: npm ci
- agent notes: run focused UI tests before returning the preview
Secrets without chat
When a registered GitHub repository needs a missing environment variable, Flex returns a single-use terminal command that expires after ten minutes. The value streams directly to Flex over HTTPS with terminal echo disabled.
Your terminal
Direct to Flex$ # Paste the one-time command returned by Flex
Value for DATABASE_URL: ********
{"configured":true}
The command contains a short-lived upload capability, but never the secret value. Treat it as sensitive until it expires.
Current beta coverage
GitHub repository workspaces can create pull requests. Ready Hosted Apps use tenant-private Forgejo source, and Hosted App branches remain in that private source. Repository onboarding, tenant connections, Hosted App secrets, and data-source selection remain in the authenticated Flex UI.