Bilt
AI agents autonomously build and deploy mobile apps through natural language workflows
Open source Repository Open in the app JSON README (API)
About
AI agents autonomously build and deploy mobile apps through natural language workflows
Details
- Kind
- MCP servers
- Topic
- Cloud & DevOps
- Publisher
- buildingapplications
- Origin
- official
- Category
- ferramentas
- Transport
- sse
- Version
- 1.0.0
- Stars
- 1
- Last push
- 2026-09-01T18:53:29Z
- Repository state
- ativo
- License
- NOASSERTION
- Added
- 2026-08-29 03:02:33
- Updated
- 2026-08-29 03:02:33
- Origin id
io.github.buildingapplications/mcp
README
# Bilt MCP Server
Connect an MCP-compatible AI client to Bilt to create and manage mobile app projects.
## Connection details
| Setting | Value |
| --- | --- |
| URL | `https://mcp.bilt.me/mcp` |
| Transport | Streamable HTTP |
| Authentication | `Authorization: Bearer <Bilt API token>` |
Create an API token at [Bilt API keys](https://bilt.me/settings/api-keys). The legacy `/mcp/sse` endpoint is no longer available.
## Client setup
### Claude Desktop
Claude Desktop launches local MCP commands from `claude_desktop_config.json`. Use [`mcp-remote`](https://github.com/punkpeye/mcp-remote) to bridge stdio to Bilt and attach the API-key header:
```json
{
"mcpServers": {
"bilt": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.bilt.me/mcp",
"--transport",
"http-only",
"--body-timeout",
"0",
"--header",
"Authorization:${BILT_AUTH_HEADER}"
],
"env": {
"BILT_AUTH_HEADER": "Bearer bilt_live_YOUR_TOKEN_HERE"
}
}
}
}
```
Keep `Authorization:${BILT_AUTH_HEADER}` as one argument, without a space after the colon. On Windows, if Claude resolves `npx` through a broken `Program Files` path, set `command` to the absolute `npx.cmd` path or its 8.3 short-path equivalent.
Do not add Bilt through Claude's custom connector UI unless it supports a static Authorization header. Without that header, it may attempt OAuth, which Bilt does not currently support.
### Cursor
Add this to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"bilt": {
"url": "https://mcp.bilt.me/mcp",
"headers": {
"Authorization": "Bearer bilt_live_YOUR_TOKEN_HERE"
}
}
}
}
```
### OpenClaw
Add this to `~/.openclaw/openclaw.json`:
```json
{
"mcp": {
"servers": {
"bilt": {
"url": "https://mcp.bilt.me/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer bilt_live_YOUR_TOKEN_HERE"
}
}
}
}
}
```
Restart the OpenClaw gateway after changing the configuration.
For another client, use native Streamable HTTP only if the client supports custom Authorization headers. Otherwise, use the same `mcp-remote` stdio bridge shown for Claude Desktop. Client configuration field names are not universal.
## Available tools
Bilt exposes seven tools:
| Tool | Purpose |
| --- | --- |
| `bilt_list_projects` | List projects owned by the authenticated user |
| `bilt_get_project` | Get one project by `projectId` |
| `bilt_create_project` | Create a project from a `name` and optional `description` |
| `bilt_get_session` | Get session and workflow state for a `projectId` |
| `bilt_send_message` | Send build instructions or answer paused workflow questions |
| `bilt_cancel_workflow` | Cancel the active workflow for a `projectId` |
| `bilt_get_messages` | Get conversation history for a `projectId` |
All public input fields use camelCase. `bilt_send_message` accepts a `projectId` and either a `message` or structured question `answers`. Question answers are passed as a JSON string and require the paused response's `workflowId`:
```json
{
"projectId": "project-id",
"workflowId": "workflow-id",
"answers": "[{\"questionIndex\":0,\"selectedOptions\":[\"Option A\"]}]"
}
```
There is no separate resume tool. If a workflow pauses for questions, answer them with `bilt_send_message`. If it pauses for secrets or a Supabase connection, open the returned `projectUrl`, complete the requested action there, and the workflow will resume automatically.
Queued workflows count as active. Before sending unrelated work, call `bilt_get_session` and wait until `hasActiveWorkflows` is false.
## Raw HTTP
MCP clients must send `Accept: application/json, text/event-stream`:
```bash
curl -N https://mcp.bilt.me/mcp \
-H 'Authorization: Bearer bilt_live_YOUR_TOKEN_HERE' \
-H 'Accept: application/json, text/event-stream' \
-H 'Content-Type: application/json' \
-H 'Mcp-Protocol-Version: 2025-03-26' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'
```
Use an MCP client for normal operation; the raw request is only a transport check.
## Migration from legacy SSE
Existing configurations must:
1. Change `https://mcp.bilt.me/mcp/sse` to `https://mcp.bilt.me/mcp`.
2. Select Streamable HTTP and disable SSE fallback.
3. Keep the Bearer token in the Authorization header.
4. Update stale tool calls to the seven-tool camelCase contract above.
## Documentation and support
- [Bilt MCP documentation](https://bilt.me/docs/quickstart-mcp)
- [Integration examples](examples/)
- [GitHub issues](https://github.com/buildingapplications/mcp/issues)
- [support@bilt.me](mailto:support@bilt.me)
The hosted Bilt MCP server is proprietary. This repository contains documentation, examples, and agent skill metadata under the terms in [LICENSE](LICENSE).