Overview
MCP servers expose tools, resources, and prompts that the Creor agent can use during conversations. When you configure an MCP server, its tools appear alongside Creor's built-in tools and the agent can call them as needed.
Creor supports two types of MCP servers:
- Local servers — spawned as child processes, communicating via stdio
- Remote servers — accessed over HTTP, with optional OAuth authentication
MCP servers are configured in the mcp section of your creor.json or in a standalone mcp.json file.
Local MCP Servers
Local servers run as child processes on your machine. Creor spawns them with the specified command and communicates via stdin/stdout using the MCP stdio transport.
Local Server Config
| Field | Type | Description |
|---|---|---|
| type | "local" | Must be "local" for stdio-based servers |
| command | string[] | Command and arguments to spawn the server process |
| environment | Record<string, string> | Environment variables passed to the server process |
| enabled | boolean | Set to false to disable without removing (default: true) |
| timeout | number | Request timeout in milliseconds (default: 5000) |
The command array is executed directly — the first element is the binary and the rest are arguments. Common patterns:
Remote MCP Servers
Remote servers are accessed over HTTP using the Streamable HTTP transport. They can optionally require OAuth authentication.
Remote Server Config
| Field | Type | Description |
|---|---|---|
| type | "remote" | Must be "remote" for HTTP-based servers |
| url | string | URL of the remote MCP server endpoint |
| enabled | boolean | Set to false to disable without removing (default: true) |
| headers | Record<string, string> | Custom HTTP headers to include with requests |
| oauth | object | false | OAuth config, or false to disable OAuth auto-detection |
| timeout | number | Request timeout in milliseconds (default: 5000) |
OAuth Configuration
When a remote server requires OAuth, Creor handles the authorization flow automatically. It opens a browser for the user to authenticate, receives the callback, and stores tokens securely.
| Field | Type | Description |
|---|---|---|
| clientId | string | OAuth client ID. If omitted, dynamic client registration (RFC 7591) is attempted. |
| clientSecret | string | OAuth client secret (if required by the authorization server) |
| scope | string | OAuth scopes to request during authorization |
Set oauth: false to explicitly disable OAuth auto-detection for servers that don't require authentication:
Configuration
MCP servers can be configured in two places:
- The "mcp" section of creor.json or creor.jsonc
- A standalone mcp.json file in the .creor/ directory
Both global (~/.creor/) and project-level (.creor/) config directories are scanned. Project-level MCP config overrides global config for servers with the same name.
To disable a server that was configured at a higher level, use:
mcp.json File
Creor also supports a standalone mcp.json file in .creor/ directories. This follows the same format as the mcp section in creor.json and provides compatibility with other tools that use the same convention.
Servers defined in mcp.json override any servers with the same name from creor.json. The load order is:
- Global ~/.creor/mcp.json
- Project .creor/mcp.json (overrides global)
Server Status
Each MCP server has a status that Creor tracks and displays in the UI:
| Status | Description |
|---|---|
| connected | Server is running and tools are available |
| connecting | Server is being started or connection is in progress |
| disabled | Server is configured but disabled (enabled: false) |
| failed | Server failed to start or connection was lost |
| needs_auth | Remote server requires OAuth authentication |
| needs_client_registration | Dynamic client registration failed — manual client ID required |
MCP servers emit a ToolListChanged notification when their available tools change at runtime. Creor automatically picks up these changes without requiring a reconnection.
Marketplace
The Creor dashboard includes an MCP marketplace where you can browse and install community MCP servers. Installed servers from the marketplace are synced to your configuration and can be managed alongside manually configured servers.
Marketplace servers appear in the MCP panel in the IDE with an indicator badge. You can enable, disable, or remove them from the settings UI or by editing your config directly.
Tip
Examples
GitHub MCP Server
Access GitHub repositories, issues, pull requests, and more through the official GitHub MCP server:
Slack MCP Server
Read and send messages in Slack channels:
SQLite Database Server
Query and modify a local SQLite database:
Filesystem Server
Give the agent access to specific directories through a sandboxed filesystem server:
Remote Server with Custom Headers
Connect to a private MCP server using API key authentication:
Remote Server with OAuth
Connect to a remote MCP server that uses OAuth for authentication:
Full Configuration Example
A production setup with multiple MCP servers: