---
title: "Create a new MCP server"
method: POST
path: "/api/v3.1/mcp/servers"
tags: ["MCP", "Servers"]
---

# Create a new MCP server

`POST /api/v3.1/mcp/servers`

Creates a new Model Control Protocol (MCP) server instance for the authenticated project. An MCP server provides a connection point for AI assistants to access your applications and services. The server is configured with specific authentication and tool permissions that determine what actions the connected assistants can perform.

## Request body

- object — Request parameters for creating a new MCP server with specific authentication configuration
  - `name` string, required — Human-readable name to identify this MCP server instance (4-30 characters, alphanumeric, spaces, and hyphens only)
  - `auth_config_ids` string[], required — ID references to existing authentication configurations
  - `no_auth_apps` string[] — List of NO_AUTH apps to enable for this MCP server
  - `allowed_tools` string[] — List of tool slugs that should be allowed for this server. If not provided, all available tools for the authentication configuration will be enabled.
  - `managed_auth_via_composio` boolean — Whether the MCP server is managed by Composio

## Response `201`

MCP server created successfully. Returns the complete server configuration including connection details and command instructions.

- object — MCP server configuration and connection details
  - `id` string, required — UUID of the MCP server instance
  - `name` string, required — User-defined descriptive name for this MCP server
  - `auth_config_ids` string[], required — ID references to the auth configurations used by this server
  - `allowed_tools` string[], required — Array of tool slugs that this MCP server is allowed to use
  - `mcp_url` string, required — [DEPRECATED] Please use the URL with user_id or connected_account_id query param
  - `toolkits` string[], required — Array of toolkit slugs that this MCP server is allowed to use
  - `toolkit_icons` object, required — Object mapping each toolkit slug to its icon/logo URL for display purposes
  - `commands` object, required — Set of command line instructions for connecting various clients to this MCP server
    - `cursor` string, required — Command line instruction for Cursor client setup
    - `claude` string, required — Command line instruction for Claude client setup
    - `windsurf` string, required — Command line instruction for Windsurf client setup
  - `updated_at` string, required — Date and time when this server configuration was last modified
  - `created_at` string, required — Date and time when this server was initially created
  - `server_instance_count` number, required — Total count of active user instances connected to this server
  - `managed_auth_via_composio` boolean, required — Whether the MCP server is managed by Composio

## Other responses

- `400` — Bad request. The request body may be invalid, missing required parameters, or the auth_config_id may not exist.
- `401` — Unauthorized. Authentication is required or the provided credentials are invalid.
- `403` — Forbidden. The authenticated user does not have permission to create MCP servers for this project.
- `404` — Not Found. The specified auth_config_id does not exist or is not accessible to the authenticated user.
- `409` — Conflict. An MCP server with the specified name already exists in this project.
- `500` — Internal server error. An unexpected error occurred while processing the request.

---

[API](https://skmtc.net/composiohq/apis/composio-platform-api-v3-1.md) · [All operations](https://skmtc.net/composiohq/apis/composio-platform-api-v3-1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/composiohq/composio-platform-api-v3-1/versions/4239836857f8/schema)
