Deployment
Compile e implante seu MCP App
Este guia usa o template de MCP App no commit 3fc9bd15. Um MCP App é um servidor e uma interface HTML que você implanta e depois conecta ao Studio.
Build
bun run buildIsso executa duas etapas:
build:web— o Vite compila o app React em um bundle HTML de arquivo único (dist/client/index.html)build:server— o Bun empacotaapi/main.bun.tsemdist/server/main.js
Implante o servidor e dist/client/index.html juntos em um host que execute Bun. Na raiz do projeto, o servidor compilado pode ser iniciado com:
NODE_ENV=production PORT=3001 bun dist/server/main.jsConfigure a URL HTTPS pública e o ciclo de vida do processo no seu host. O template, por si só, não transforma um push no Git em deploy de produção.
Configuração do app.json
Atualize o app.json com os detalhes do seu app antes de publicar:
{
"scopeName": "your-org",
"name": "your-app",
"friendlyName": "Your App Name",
"description": "What your app does.",
"connection": {
"type": "HTTP",
"url": "https://mcp.example.com/api/mcp",
"configSchema": {
"type": "object",
"properties": {},
"required": []
}
}
}scopeName+name— identificador único na plataforma decoconnection.url— seu endpoint MCP implantado; o template serve/api/mcpconfigSchema— JSON Schema para as opções de configuração mostradas a quem instala seu app
Publicando no Deco Studio
- Faça o build e implante o app em um host HTTPS acessível.
- Abra o Studio e vá a Settings → Connections → Add connection → Custom Connection.
- Escolha HTTP, cole a URL implantada com
/api/mcpe configure as credenciais exigidas pelo servidor. - Em Settings do agente, associe a conexão e selecione suas ferramentas. Execute uma ferramenta para abrir a interface do MCP App vinculada.
app.json registra a identidade e os detalhes de conexão do app. Criar uma conexão customizada o disponibiliza na sua organização; publicar em um catálogo é um fluxo separado de distribuição. Veja Conexões.
CI/CD
GitHub Actions
O template inclui um workflow de CI (.github/workflows/ci.yml):
name: CI
on: [push, pull_request]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
restore-keys: ${{ runner.os }}-bun-
- run: bun install --frozen-lockfile
- run: bun run ci:check
- run: bun run check
- run: bun run buildIsso roda em todo push e pull request:
bun run ci:check— lint e checagem de formatação com Biomebun run check— checagem de tipos do TypeScriptbun run build— build de produção completo
Testando Após o Deploy
- Conecte o endpoint implantado no Studio seguindo as etapas acima.
- Chame
hello_worldcom um nome de teste e confira a saudação estruturada. - Verifique que o recurso vinculado serve
text/html;profile=mcp-appe que a UI renderiza o resultado da ferramenta. - Confira os logs do servidor e o Monitor para chamadas roteadas pela conexão.
Para testar localmente pelo Studio hospedado, use o fluxo de túnel HTTPS. Um client MCP local alcança diretamente http://localhost:3001/api/mcp; /mcp não é o endpoint público do template.