Deploy & operate
Deploy, version, share, observe, recover, and retire an MCP server on Noodle Seed Cloud.
First deploy
Local development needs no account. When your server is ready to share, sign in and deploy from the project directory:
noodle login
noodle deployA first deploy creates the hosted target and starts at version 1. The result includes its deployment ID,
both MCP endpoint styles, dashboard, current access mode, and useful next commands:
deploymentId: support-4f9c1a2b
Version: 1
Endpoint: https://acme.cloud.noodleseed.dev/support/v1/mcp
Default: https://acme.cloud.noodleseed.dev/support/mcp
Dashboard: https://cloud.noodleseed.dev/projects/acme/support
Access: owner-only
Next: noodle logs --tail --org acme --app support --env prod
Next: noodle smoke --org acme --app support --env prod
Next: noodle connect claude-code --endpoint https://acme.cloud.noodleseed.dev/support/v1/mcpGive clients the version-pinned endpoint when you want a stable contract. The unversioned endpoint is the follow-latest endpoint. See the deploy command reference for every flag.
Target resolution
Bare noodle deploy resolves one org > app > env target. It uses your signed-in default organization, the
project name as the app name, and prod as the environment. Inspect the effective values and where each came
from before deploying:
noodle target showFor a one-off target, pass flags directly:
noodle deploy --org acme --app support --env stagingTo save that selection for the project, use noodle link. Linking is optional and creates no hosted state:
noodle link --org acme --app support --env stagingTarget precedence is command flag, project link, saved target, then the local default. See the target, link, and deploy references for complete options.
Deploy transaction
noodle deploy owns one safe transaction:
- It compiles and validates
server.tslocally. - It runs a read-only preflight for identity, organization access, target availability, the compiled
surface, and every required managed variable and secret. Missing apps and environments are reported as
will-create, not created yet. - It collects missing managed configuration, then reruns preflight.
- Once preflight is ready, it creates the app or environment when needed, uploads missing hosted assets, records the deployment, activates it, and verifies hosted readiness.
If a network or readiness step fails, rerun the unchanged command. The saved idempotency key resumes the unfinished deploy without duplicating the app, environment, or deployment. After a successful readiness check, a later intentional deploy creates normal history.
Managed configuration
Declare hosted configuration in TypeScript with variable("NAME") and secret("NAME"). An interactive
deploy can offer to copy matching names from the project-root .env; the prompt names the exact target and
defaults to No, and values stay hidden. JSON, CI, plugin, and other non-interactive deploys never import
.env. They return one value-free checklist so you can set each value explicitly:
noodle variables set REGION --scope env --from-env REGION
noodle secrets set WEATHER_API_KEY --scope env --from-env WEATHER_API_KEY
noodle deploySecrets are encrypted at rest and never appear in manifests, logs, artifacts, preflight responses, or deploy retry state. See the variables and secrets references for scopes and input options.
Versioning
New apps start at version 1. On an existing target, a bare deploy reuses the version resolved from this
project's saved deployment metadata or the hosted app's single active version. Deploy never auto-increments.
Publishing a new contract is explicit:
noodle deploy --version 2Redeploying the same version creates a history record and repoints only that version's pinned endpoint. It does not change another version-pinned endpoint. The unversioned endpoint follows the highest active numeric version.
| Target | Endpoint | Behavior |
|---|---|---|
| Production, version 1 | https://acme.cloud.noodleseed.dev/support/v1/mcp | Pinned to version 1 |
| Production, default | https://acme.cloud.noodleseed.dev/support/mcp | Follows the highest active version |
| Staging, version 1 | https://acme.cloud.noodleseed.dev/support/env/staging/v1/mcp | Pinned to staging version 1 |
| Staging, default | https://acme.cloud.noodleseed.dev/support/env/staging/mcp | Follows staging's highest active version |
Access
Every deployment has an access mode. New manual deploys default to owner-only.
| Mode | Who can call it |
|---|---|
owner-only | Only the recorded deployer. |
org-members | Members of the platform organization. |
authenticated | Any signed-in Noodle Seed platform identity. |
public | Anyone, without authentication. |
mixed | Anonymous callers, plus optional signed-in platform identity. |
customers | Users authenticated by your app's configured identity provider. Alpha |
For unattended backend workers, scheduled jobs, and CI automation, use an organization service principal instead of a human login. Follow Machine-to-machine MCP authentication to grant one workload access to an exact app and environment without changing or redeploying the app.
Set access during deploy or change an active version later:
noodle deploy --access org-members
noodle access set org-members --version 1Only organization owners can mutate access. The service rejects public when the compiled server requires
${user}. A mixed server must define behavior that is safe without caller identity, while still accepting
verified optional identity. customers requires compiled customer authentication; follow the
customer auth guide before sharing it.
public and the anonymous path of mixed expose tools without sign-in. Review tool effects, data access,
rate limits, and anonymous behavior before enabling either mode.
See the access command reference for exact targeting options.
Verify and connect
These commands answer different questions:
| Command | Use it for |
|---|---|
noodle status | Compact active-target, endpoint, access, and health status. |
noodle inspect | Safe hosted metadata, including the compiled MCP and widget surface, without secret material. |
noodle smoke | Readiness diagnostics and exact external MCP Inspector and mcpjam commands. |
noodle open | Open or print the latest linked deployment URL, or open its dashboard. |
noodle connect <client> | Print or write client-specific connection setup for a deployed endpoint. |
noodle status
noodle inspect
noodle smoke
noodle open --dashboard
noodle connect claude-codeSee the status, inspect, smoke, open, and connect references for exhaustive flags and supported clients.
Observe and recover
Tail tenant-safe application logs, summarize MCP health, and inspect the request-event stream:
noodle logs --tail
noodle metrics
noodle eventsUse deployment history to select the exact record you want to inspect or restore:
noodle deployments list --org acme --app support --env prod
noodle deployments inspect support-4f9c1a2b --org acme
noodle rollback support-4f9c1a2b --org acme --app support --env prod \
--reason "restore the last healthy deployment"Rollback requires an organization owner and reactivates the stored deployment in that deployment's version scope. It does not redeploy source, delete later history, or change the stable endpoint URL.
See the logs, metrics, events, deployment history, and rollback references for filters and machine-readable output.
Retire safely
noodle archive retires the whole app, including every environment and version. There is no
environment-scoped archive. Its endpoints return 410 Gone, and normal deployment-history lists hide its
records:
noodle archive --org acme --app support
noodle deployments list --org acme --app support --archivedAn organization owner can restore the app within the configured retention window:
noodle restore --org acme --app supportAfter the retention window, the archived app is hard-deleted and cannot be restored. See the archive and restore references for the full confirmation and targeting contract.
Export
As an optional eject path, compile the authored TypeScript locally and write its portable manifest:
noodle export manifest --output manifest.jsonThis command needs no account or hosted service. See the export reference for the complete portable-output options.
Machine-to-machine MCP authentication
Let scheduled jobs, backend agents, and CI automation call a deployed MCP server with a least-privilege service principal.
Self-host the engine
Run the Noodle Seed engine yourself — local development with no account, the standalone service, and the portability guarantee.