Use FlowCP in GitHub Actions
You can drive FlowCP from a GitHub Actions workflow with the flowcp CLI: re-import your OpenAPI spec when it changes, run the MCP capability test suite, publish a server, or sync skills, prompts, and widgets from your repo — all on every push or pull request.
Looking for the zero-config option? If you connect your app as a Git repository with the FlowCP GitHub App, FlowCP automatically re-imports your spec when a pull request merges — no workflow required. See Connect your API. Use the CLI approach below when you want CI to also test and publish, or to gate publishing on your own checks.
1. Create an API token
The browser device-code login (flowcp login) can't run on a CI runner, so authenticate with a long-lived API token instead. On your machine:
flowcp login # one time, interactive
flowcp token create --name "github-actions"Copy the token (flowcp_pat_…) — it's shown only once.
2. Store it as a repository secret
In your GitHub repo: Settings → Secrets and variables → Actions → New repository secret. Name it FLOWCP_TOKEN and paste the token.
3. Add a workflow
Use the bundled composite action:
# .github/workflows/flowcp.yml
name: FlowCP
on:
push:
branches: [main]
paths: ['openapi.yaml'] # run when your spec changes
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Re-import the OpenAPI spec
uses: inovastudio/mcp-builder/.github/actions/flowcp@main
with:
api-token: ${{ secrets.FLOWCP_TOKEN }}
args: import run --app app_123
- name: Run the MCP capability tests
uses: inovastudio/mcp-builder/.github/actions/flowcp@main
with:
api-token: ${{ secrets.FLOWCP_TOKEN }}
args: server test --server srv_123
- name: Publish
uses: inovastudio/mcp-builder/.github/actions/flowcp@main
with:
api-token: ${{ secrets.FLOWCP_TOKEN }}
args: server publish --server srv_123Action inputs
args
yes
—
Arguments passed to flowcp (e.g. import run --app app_123).
api-token
yes
—
Your FLOWCP_TOKEN secret.
api-url
no
https://api.flowcp.ai
FlowCP API base URL.
workspace-id
no
resolved from token
Workspace id, if you prefer to set it explicitly.
version
no
latest
The flowcp npm version to install.
Without the composite action
If you'd rather not depend on the action, install the CLI directly and use the environment variables:
FLOWCP_TOKEN authenticates every command; FLOWCP_API_URL and FLOWCP_WORKSPACE_ID are optional overrides.
Useful commands in CI
flowcp import run --app <id>
Re-import the OpenAPI document after a spec change
flowcp server test --server <id>
Run the MCP capability test suite (gate publishing on it)
flowcp server publish --server <id>
Make the MCP endpoint live
flowcp sync push --prune
Upload local skills, prompts, and widgets to the server
Add --json to any command for machine-readable output you can pipe into jq.
Security notes
Treat
FLOWCP_TOKENlike a password: keep it in GitHub Secrets, never in the workflow file. It is stored hashed on the server.A token is scoped to the workspace and user that created it.
Rotate or revoke at any time with
flowcp token list/flowcp token revoke <id>. Revocation takes effect immediately.Set an expiry with
flowcp token create --name ci --expires-in 90to force periodic rotation.
Last updated