Save a server into a project
Creates a saved MCP server and responds 201 with its detail. This is the provisioning entry point: every eval, host and environment route addresses servers that were created here. Names are unique per workspace, so a clash responds 409 rather than silently returning the existing row. Secret-bearing fields (env, headers, clientSecret) are encrypted at rest and never returned by any read.
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
ID of the hosted project that contains the server.
Body
Creates a saved server in the project. Server names are unique per workspace — a clash responds 409. Scope comes from the path: projectId, serverId and workspaceId are rejected in the body.
1stdio, http stdio transport only.
Stored encrypted; never returned by any read.
http transport only.
Stored encrypted; never returned by any read.
Opaque MCP client capabilities bag.
mcpjam, own Stored encrypted; never returned. Reads expose only hasClientSecret.
Response
The server was created.
A saved MCP server, projected toward the hosted (HTTP) shape. STDIO command/args/env and raw headers are never exposed.
Endpoint for HTTP-transport servers; null for stdio.
Epoch milliseconds.

