POST /api/mcp/presets/install Bearer

Install MCP Preset

Install an MCP server from a preset template with a single API call. The preset provides pre-configured command, arguments, and environment variables for popular MCP servers.

Overview

Installs an MCP server from a preset template. Automatically configures the server with the correct command, args, and transport. Optionally tests the connection after installation.

Request Body

Body Parameters

preset_id required
string

The preset identifier to install (from the presets list).

env
object

Environment variables required by the preset (e.g., API keys).

extra_args
array

Additional command-line arguments to append to the preset defaults.

Response

status string
"ok" on success
connected boolean
Whether the server connected successfully after installation
tools array
Tools discovered from the newly installed server
Terminal window
curl -X POST "http://localhost:8000/api/mcp/presets/install" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"preset_id": "github",
"env": {"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"}
}'
const response = await fetch("http://localhost:8000/api/mcp/presets/install", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
preset_id: "github",
env: { GITHUB_TOKEN: "ghp_xxxxxxxxxxxx" }
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"http://localhost:8000/api/mcp/presets/install",
headers={"Authorization": "Bearer <token>"},
json={
"preset_id": "github",
"env": {"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"}
}
)
print(response.json())
{
"status": "ok",
"connected": true,
"tools": ["create_issue", "list_repos", "create_pull_request", "search_code"]
}
Request
curl -X POST "http://localhost:8000/api/mcp/presets/install" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>"
const response = await fetch("http://localhost:8000/api/mcp/presets/install", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <token>"
},
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    "http://localhost:8000/api/mcp/presets/install",
    headers={'Content-Type':'application/json','Authorization':'Bearer <token>'},
)

print(response.json())
package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {
    req, _ := http.NewRequest("POST", "http://localhost:8000/api/mcp/presets/install", nil)
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer <token>")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
Response
Send a request to see the response