> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowra.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new MCP server

> Register a new MCP (Model Context Protocol) server by URL and optional headers. Once registered, its tools can be used in workflows and agents. MCP is a standard for exposing tools to AI applications.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/mcp_manager
openapi: 3.0.0
info:
  title: Flowra API (API Key Endpoints)
  description: >-
    **Flowra** is an AI-powered platform for building agents, workflows, and
    integrations.


    ### Capabilities

    - **Tools & Toolkits** – Define and group tools for agents and workflows.

    - **Workflows** – Orchestrate steps and automate processes.

    - **Triggers** – Schedule or event-based execution.

    - **Auth & Connections** – OAuth, API keys, and connected accounts.

    - **MCP** – Model Context Protocol server integration.

    - **Knowledge / RAG** – Add files and URLs for retrieval-augmented
    generation.


    ### Authentication

    Use the **x-api-key** header with a project API key to access endpoints that
    support API Key auth. Create and manage API keys in the dashboard under your
    project settings.


    Only endpoints that support API Key authentication via the @ApiKeyEnabled()
    decorator.


    Send x-api-key (required). On multi-tenant endpoints, optionally send
    x-username to act as an external user.


    Only endpoints that support API Key authentication via the @ApiKeyEnabled()
    decorator.


    Send x-api-key (required). On multi-tenant endpoints, optionally send
    x-username (defaults to the project’s default external user).
  version: '1.0'
  contact:
    name: Flowra
    url: https://flowra.dev
servers:
  - url: https://flowra.dev
    description: Flowra API
security: []
tags:
  - name: Users
    description: User profile
  - name: External Users
    description: End-user identities inside a project (x-username)
  - name: Auth Configs
    description: OAuth and API key configs for toolkits
  - name: Connected Accounts
    description: OAuth connected accounts and link creation
  - name: Toolkits
    description: List and search toolkits
  - name: Tools
    description: List, execute, and manage tools
  - name: Skills
    description: Browse, create, import, and install skills
  - name: Workflow & Agent
    description: Create, run, and inspect workflows and agents
  - name: Triggers
    description: Schedule and event-based trigger instances
  - name: Chat
    description: Threads and streaming agent runs
  - name: File
    description: Upload, list, and download files
  - name: Knowledge
    description: RAG knowledge collections
  - name: Table
    description: Collections and documents
  - name: Sandbox
    description: Ephemeral and durable code sandboxes
  - name: Browser
    description: Live browser sessions and view
  - name: LLM
    description: List AI models and generate completions
  - name: MCP
    description: MCP server management
paths:
  /api/v1/mcp_manager:
    post:
      tags:
        - MCP
      summary: Create a new MCP server
      description: >-
        Register a new MCP (Model Context Protocol) server by URL and optional
        headers. Once registered, its tools can be used in workflows and agents.
        MCP is a standard for exposing tools to AI applications.
      operationId: McpManagerController_createMcpServer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMcpServerDto'
      responses:
        '201':
          description: MCP server created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponseDto'
      security:
        - x-api-key: []
components:
  schemas:
    CreateMcpServerDto:
      $ref: '#/components/schemas/CreateMcpServerDto'
      type: object
      properties:
        name:
          type: string
          pattern: SLUG_PATTERN
          description: >-
            Name (slug): lowercase letters, numbers, hyphens. Unique per
            project.
          example: my-mcp-server
        description:
          type: string
          description: Description of the MCP server
        mode:
          enum:
            - NORMAL
            - SMART
          type: string
          description: >-
            Mode of the MCP server: NORMAL (specific tools) or SMART (Meta tools
            only)
          default: SMART
        discoveryToolsWhitelist:
          type: boolean
          description: >-
            Meta (SMART) mode only: true = discovery limited to selected tools;
            false = exclude those tools from discovery.
          default: true
        selectedTools:
          description: 'Tool slugs: NORMAL = agent tool set; SMART = discovery filter list.'
          example:
            - tool_slug_1
            - tool_slug_2
          type: array
          items:
            type: string
        isPublic:
          type: boolean
          description: Whether the MCP server is public
          default: false
        config:
          type: object
          description: Configuration for the MCP server (endpoint, authToken, etc.)
        externalMcpConfigs:
          description: External MCP configs (name, url, headers?, tools), same as workflow.
          example:
            - name: my-mcp
              url: https://example.com/mcp
              tools:
                - tool_a
          type: array
          items:
            type: string
        connectionCallbackUrl:
          type: string
          maxLength: 2048
      required:
        - name
    SuccessResponseDto:
      $ref: '#/components/schemas/SuccessResponseDto'
      type: object
      properties:
        success:
          type: boolean
          description: Success status
          example: true
        message:
          type: string
          description: Success message
          example: Operation completed successfully
        data:
          type: object
          description: Response data
      required:
        - success
        - message
        - data
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Project API key. Create and manage keys in the dashboard under Project →
        API Keys. Send as header: x-api-key: <your-key>

````