ReferenceHTTP APIAgents

The remote MCP servers, from the file and the console

GET
/v1/installation/settings/mcp-servers

The operator (installation.settings.manage, the workspace owner), signed in; an API key is 403 whatever its scopes. The database's rows, disabled ones included, by id. A credential is shown as stored with its last4, or as the name of the env or Secrets Manager reference; never a value. state: needs_value (stored, no value yet), unresolved (the credential did not resolve on the replica that answered), disabled, else active. Changes nothing. A server's tools are named mcp__<id>__<tool> and are known only once a session reaches it.

Auth: cookie session only; no scope.

Authorization

cookieSession
cookie__Host-werft_session<token>

For the web console: the browser session cookie set by POST /v1/auth/login. It holds the scopes of the user's workspace role (owner: all; admin and member: all but sessions:recover). Requests other than GET must also send X-Requested-With: werft-web.

Response Body

Every remote MCP server, by id.

application/json
  1. response
items*array<>
Example Request
curl -X GET 'https://example.com/v1/installation/settings/mcp-servers'
Example Response
{  "items": [    {      "id": "docs",      "origin": "console",      "state": "active",      "url": "https://mcp.example.com/mcp",      "credential_ref": "docs_mcp",      "workspaces": [        "acme"      ],      "credential": {        "source": "stored",        "last4": "b3Rq"      },      "created_at": "2026-11-04T03:00:00.000Z",      "disabled_at": null    }  ]}