Admin
Package installs for MCP servers, channel adapters and the code sandbox.
On this page
Installed MCP packages (npm and Python)
/admin/mcp/packagesResponses
| Status | Description | Body | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Packages | PackagesResponse | ||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Errors 401 · 403 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/admin/mcp/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Install an MCP npm package
/admin/mcp/packages/npmRequest bodyapplication/json · PackageInstallBody · required
| Field | Type | Description |
|---|---|---|
package | string | Package name (alias: name) |
name | string | |
version | string | Python and sandbox packages |
agentName | string | Sandbox: recorded as installedBy |
Responses
| Status | Description | Body | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Installed | PackageInstallResponse | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/admin/mcp/packages/npm" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"package":"@modelcontextprotocol/server-filesystem"}'Uninstall an MCP npm package
/admin/mcp/packages/npmQuery parameters
| Name | Type | Description |
|---|---|---|
packagerequired | string | Package name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Uninstalled | SuccessResponse | |||
| |||||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X DELETE "http://127.0.0.1:7385/admin/mcp/packages/npm?package=PACKAGE" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Install an MCP Python package (uvx)
/admin/mcp/packages/pythonRequest bodyapplication/json · PackageInstallBody · required
| Field | Type | Description |
|---|---|---|
package | string | Package name (alias: name) |
name | string | |
version | string | Python and sandbox packages |
agentName | string | Sandbox: recorded as installedBy |
Responses
| Status | Description | Body |
|---|---|---|
| 200 | Installed | PackageInstallResponse |
Fields as in PackageInstallResponse above. | ||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/admin/mcp/packages/python" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"package":"mcp-server-fetch"}'Uninstall an MCP Python package
/admin/mcp/packages/pythonQuery parameters
| Name | Type | Description |
|---|---|---|
packagerequired | string | Package name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Uninstalled | SuccessResponse | |||
| |||||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X DELETE "http://127.0.0.1:7385/admin/mcp/packages/python?package=PACKAGE" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Installed channel adapter packages
/admin/adapters/packagesResponses
| Status | Description | Body |
|---|---|---|
| 200 | Packages | PackagesResponse |
Fields as in PackagesResponse above. | ||
Errors 401 · 403 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/admin/adapters/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Install a channel adapter npm package
/admin/adapters/packagesRequest bodyapplication/json · PackageInstallBody · required
| Field | Type | Description |
|---|---|---|
package | string | Package name (alias: name) |
name | string | |
version | string | Python and sandbox packages |
agentName | string | Sandbox: recorded as installedBy |
Responses
| Status | Description | Body |
|---|---|---|
| 200 | Installed | PackageInstallResponse |
Fields as in PackageInstallResponse above. | ||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/admin/adapters/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"package":"@modelcontextprotocol/server-filesystem"}'Uninstall a channel adapter package
/admin/adapters/packagesQuery parameters
| Name | Type | Description |
|---|---|---|
packagerequired | string | Package name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Uninstalled | SuccessResponse | |||
| |||||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X DELETE "http://127.0.0.1:7385/admin/adapters/packages?package=PACKAGE" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Packages available to the code sandbox
/admin/sandbox/packagesResponses
| Status | Description | Body | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Packages | SandboxPackagesResponse | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Errors 401 · 403 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/admin/sandbox/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Install a sandbox package
/admin/sandbox/packagesRequest bodyapplication/json · PackageInstallBody · required
| Field | Type | Description |
|---|---|---|
package | string | Package name (alias: name) |
name | string | |
version | string | Python and sandbox packages |
agentName | string | Sandbox: recorded as installedBy |
Responses
| Status | Description | Body | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Installed | SandboxInstallResponse | |||||||||||||||||||||
| |||||||||||||||||||||||
Errors 400 · 401 · 403 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/admin/sandbox/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"package":"lodash","version":"4.17.21"}'Uninstall a sandbox package
/admin/sandbox/packagesQuery parameters
| Name | Type | Description |
|---|---|---|
name | string | Package name (alias: package) |
package | string | Alias of name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | success is false when it was not installed | SuccessResponse | |||
| |||||
Errors 400 · 401 · 403 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X DELETE "http://127.0.0.1:7385/admin/sandbox/packages" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Which of these packages are missing
/admin/sandbox/packages/checkRequest bodyapplication/json · SandboxCheckBody · required
| Field | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
packagesrequired | array<object> | |||||||
2 fields of | ||||||||
namerequired | string | |
versionrequired | string |
Responses
| Status | Description | Body | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Missing packages | SandboxCheckResponse | |||||||||||||||
| |||||||||||||||||
Errors 400 · 401 · 403 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/admin/sandbox/packages/check" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"packages":[{"name":"lodash","version":"4.17.21"}]}'