Build Configuration
Alpic automatically detects your MCP framework, build commands, and transport type from your repository. You can customize build settings if needed.Alpic detects configuration from your project source code. Most projects work out of the box without additional
configuration.
Configuration hierarchy
- alpic.json: Branch-specific configuration located in your project’s repository root directory.
- Project settings: Set in the Alpic UI and applied to all environments.
- Default configuration: Automatically detected by Alpic.
Configuring projects with alpic.json
This file should be created in your project’s root directory and allows you to set:Schema Autocomplete
To enable autocompletion, type checking, and schema validation to your alpic.json file, add the following to the top of your file:buildCommand
Type:string
Use buildCommand to override the Build Command in the Project Settings dashboard.
buildOutputDir
Type:string
Use buildOutputDir to override the Output Directory in the Project Settings dashboard.
installCommand
Type:string
Use installCommand to override the Install Command in the Project Settings dashboard.
startCommand
Type:string
Use startCommand to override the Start Command in the Project Settings dashboard.
Transport Sourcing During Deployment
Alpic automatically detects which transport type your MCP server uses by analyzing your project source code. Detection follows a priority order, using the first match found:xmcp.config.ts configuration file (highest priority)
Ifxmcp.config.ts exists:
http:→ streamablehttpstdio:→ stdio
TypeScript imports
Searches for imports from@modelcontextprotocol/sdk/server/:
stdio→ stdiosse→ ssestreamableHttp→ streamablehttp
Python mcp.run() or mcp.http_app() calls
Searches for explicit transport parameters:transport="stdio"→ stdiotransport="sse"→ ssetransport="streamable-http"→ streamable-httptransport="http"→ http
Python mcp.run() fallback (lowest priority)
Ifmcp.run() is found without an explicit transport → defaults to stdio
Python Project Setup
Alpic uses uv as the default Python package manager. By default, Alpic expects your Python project to use a uv project structure with apyproject.toml file. If your project follows this convention, no additional configuration is needed — Alpic will automatically detect and install your dependencies.
Using requirements.txt instead of pyproject.toml
If your project uses a simple main.py file with a requirements.txt for dependencies, you need to override the install command either in your Project Settings or in your alpic.json:
uv run main.py) works as-is, so you don’t need to override startCommand.
Troubleshooting
Build Fails: “No MCP transport found”
If Alpic cannot detect a transport type, the build will fail. To resolve:- Create an
xmcp.config.tsfile with your transport type - Ensure you’re importing from the correct MCP SDK path (TypeScript)
- Add an explicit transport parameter to
mcp.run()(Python)