Skip to content

Streamable HTTP

Streamable HTTP exposes the MCP endpoint at /mcp, plus process checks at GET /healthz and GET /readyz. For a same-machine source build, the local Compose file is the documented path because Docker publishes the host port to loopback by default.

macOS/Linux — source-built HTTP on Docker loopback
git clone https://github.com/enthouan/trello-mcp.git
cd trello-mcp
cp .env.example .env
# Set TRELLO_API_KEY and TRELLO_TOKEN in .env
${EDITOR:-vi} .env
grep -Eq '^TRELLO_API_KEY=.+$' .env && ! grep -Eq '^TRELLO_API_KEY=replace-me$' .env || { echo 'Set TRELLO_API_KEY to a non-placeholder value in .env before starting.' >&2; exit 1; }
grep -Eq '^TRELLO_TOKEN=.+$' .env && ! grep -Eq '^TRELLO_TOKEN=replace-me$' .env || { echo 'Set TRELLO_TOKEN to a non-placeholder value in .env before starting.' >&2; exit 1; }
docker compose -f docker-compose.local.yml up --build -d --wait --wait-timeout 120
curl -fsS http://127.0.0.1:3000/healthz
curl -fsS http://127.0.0.1:3000/readyz

Connect to http://127.0.0.1:3000/mcp. The local Compose file builds the checkout and keeps the host publication on loopback by default.

  1. Start with a loopback publication. Keep Compose’s default TRELLO_MCP_HOST_BIND_IP=127.0.0.1 for same-machine access.

  2. Verify the process. Request http://127.0.0.1:3000/healthz and http://127.0.0.1:3000/readyz.

  3. Register the MCP endpoint. Point a Streamable HTTP client at http://127.0.0.1:3000/mcp.

  4. Add authorization when configured. Send Authorization: Bearer <token> on every MCP request whenever the server sets MCP_AUTH_TOKEN.

Windows PowerShell
git clone https://github.com/enthouan/trello-mcp.git
Set-Location trello-mcp
Copy-Item .env.example .env
# Set TRELLO_API_KEY and TRELLO_TOKEN in .env
notepad .env
if (-not (Select-String -Path .env -Pattern '^TRELLO_API_KEY=(?!replace-me$).+$' -Quiet)) {
throw 'Set TRELLO_API_KEY to a non-placeholder value in .env before starting.'
}
if (-not (Select-String -Path .env -Pattern '^TRELLO_TOKEN=(?!replace-me$).+$' -Quiet)) {
throw 'Set TRELLO_TOKEN to a non-placeholder value in .env before starting.'
}
docker compose -f docker-compose.local.yml up --build -d --wait --wait-timeout 120
Invoke-RestMethod http://127.0.0.1:3000/healthz
Invoke-RestMethod http://127.0.0.1:3000/readyz
EndpointPurposeContacts Trello
/healthzConfirms that the HTTP process is running.No
/readyzConfirms that the server is still accepting requests.No
/mcpInitializes MCP sessions, discovers tools, and runs approved tools.Only when a selected tool calls Trello

MCP_AUTH_TOKEN is a shared-secret guardrail for /mcp; it does not replace HTTPS, prevent every network client from reaching health checks, or change the Trello credentials stored on the server.

Health and readiness do not exercise MCP discovery or Trello. After registering /mcp in a client, verify the complete read-only path.

Verify it works

After the client discovers the server, review and approve only this named read-only call:

Read-only verification prompt
Which Trello account is connected? Use auth_whoami and do not change anything.