This guide explains how to add MCP servers by defining their configuration in JSON format. Each MCP server entry is stored in the database and supports different transport types:
stdio,SSE, andStreamableHTTP.
You can add new MCP servers effortlessly through the UI — no need to restart the app. Each tool is available instantly and can be tested independently outside of chat. This is perfect for quick debugging and reliable development workflows.
Used for locally executed tools that run via a command-line interface.
Example:
{
"command": "npx",
"args": ["@playwright/mcp@latest"]
}command: Required. The CLI command to launch the server.args: Optional. A list of arguments to pass to the command.
Used for remote servers that communicate via HTTP (SSE or streaming).
Example:
{
"url": "https://api.example.com",
"headers": {
"Authorization": "Bearer sk-..."
}
}url: Required. The endpoint to connect to.headers: Optional. HTTP headers such as authorization tokens.
You don't need to specify the transport type manually — it is inferred based on the structure:
- If
commandis present → it's astdioconfig - If
urlis present → it's aSSEorStreamableHTTPconfig
By default, MCP server configs are stored in the database. However, for local development, you can also use a file-based approach by enabling the following setting:
# Whether to use file-based MCP config (default: false)
FILE_BASED_MCP_CONFIG=trueThen, create a .mcp-config.json file in the project root and define your servers there. Example:
Simply paste your configuration in the MCP Configuration form (or .mcp-config.json) to register a new tool.
