Documentation
Last updated: August 13, 2026
Make It Real exposes an MCP (Model Context Protocol) server so tools like Claude Code, Claude Desktop, and Cursor can read and edit your projects directly. Those clients use your AI subscription — not the in-app token allowance.
The MCP tools match the on-platform agent: project files, data collections, and scheduling helpers, plus project discovery so the client can find the site to work on.
MCP server
Server URL:
https://makeitreal.env8.com/mcp
Enable access from Integrations after you sign in. Turning MCP off immediately rejects connected clients until you turn it back on.
Claude Code
Run this once in your terminal:
claude mcp add --transport http makeitreal https://makeitreal.env8.com/mcp
Claude Code will prompt for authorization the first time it connects. Complete the OAuth flow in the browser, then the tools appear in that session.
Cursor
Add an MCP server in Cursor settings and paste the server URL, or put this in your MCP config:
{
"mcpServers": {
"makeitreal": {
"url": "https://makeitreal.env8.com/mcp"
}
}
}
The first connection opens an OAuth prompt in your browser.
What's exposed
These are the same tools the in-app agent uses, plus
list_projects, get_project, and
preview_site so an external client can pick a site.
In Claude, project cards and a live site preview render inline in the chat.
-
list_scripts— List this project's backend scripts, draft/live version IDs and endpoints. -
read_script— Read a saved script version and permissions. Secret values are never returned. -
edit_script— Replace one exact, unique source fragment in the latest saved script. Creates an immutable draft, preserves permissions, never publishes. Read first; stale base versions and ambiguous matches are rejected. -
list_script_versions— List up to 50 saved versions of a project script, newest first, with test and publication state. Use read_script with version_id to inspect source; rollback requires explicit publication. -
list_script_executions— Inspect the latest 30 script executions and redacted console logs to debug errors. Stored inputs and response bodies are visible in the Scripts UI but are not returned by this tool. Secret values are never returned. -
save_script— Create/update an immutable draft. Never publishes. Read first and supply latest base_version_id. In managed staging, ties the version to the current preview for approval. -
test_script— Test an exact saved draft in the sandbox. Collection writes are simulated and external requests disabled. Does not publish. -
publish_script— Publish a successfully tested saved version. Only for live authoring; managed scripts publish with website approval. -
get_scripts_sdk_reference— Browser SDK and sandbox API for project backend scripts. Read before adding backend functionality. -
list_projects— List all projects accessible to the current user. -
get_project— Get details for a project including its site URL and deployment status. -
get_project_status— Get the current deployment status of a project. -
preview_site— Show a live preview of the project website in the chat. Call this after editing files so the user can see the updated site. -
list_files— List files in a project. Use path_prefix to scope to a folder; glob to filter (e.g. **/*.css). -
read_file— Read file text. Use start_line and end_line (1-based, inclusive) to read a slice. -
write_file— Create a new file, or fully overwrite a file only when a full rewrite is genuinely required. Prefer edit_file for small targeted changes to existing files. -
edit_file— Replace a small unique text chunk in an existing file. Prefer this over write_file. old_string must be unique unless replace_all is true — include a few lines of surrounding context; do not send the whole file. -
delete_file— Delete a file from a project. -
search_files— Search file contents. Returns paths, line numbers, and snippets. -
presign_file_put— Get a time-limited HTTPS URL to upload with PUT, then call finalize_file_put. -
finalize_file_put— After presign + PUT, finalize to inject analytics (HTML) and invalidate cache. -
list_collections— List data collections for a project with submission counts and field schema. -
list_submissions— List recent submissions in a collection (up to 100). -
create_collection— Register or update a collection before writing form or public read code. Optional fields JSON defines the form questions. -
get_data_sdk_reference— How mir-data.js and POST /api/data work for form submissions. -
get_data_read_reference— How public data reads work for dynamic project sites. -
list_project_scheduling_slots— List scheduling slots connected to a project plus connectable slots owned by the current user. -
connect_project_scheduling_slots— Connect selected scheduling slot IDs to a project for the public Scheduling API and mir-scheduling.js. -
get_scheduling_sdk_reference— How mir-scheduling.js and /api/schedule work for custom project scheduling UIs.