Skip to content

Environment Variables

Fizzy MCP can be configured using environment variables, which take precedence over the config file. Environment variables are particularly useful for CI/CD pipelines, Docker containers, and managing multiple configurations.

VariableRequiredDescriptionDefault
FIZZY_ACCESS_TOKENYes*Personal Access TokenFrom config file
FIZZY_ACCOUNT_SLUGNoAccount slug (e.g., /my-org)Auto-detect
FIZZY_BASE_URLNoAPI base URLhttps://app.fizzy.do
VariableRequiredDescriptionDefault
FIZZY_MCP_MODENoDeployment mode: remote or locallocal
FIZZY_MCP_URLNoCustom hosted MCP URL (for self-hosting)https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp
FIZZY_MCP_API_KEYNoAPI key for hosted service (prefix: fmcp_)None

Controls whether the MCP server runs locally or connects to the hosted service.

ValueDescription
remoteConnect to hosted Fizzy MCP service (recommended)
localRun MCP server locally (default)
Terminal window
# Use hosted service
export FIZZY_MCP_MODE=remote
# Use local server (default)
export FIZZY_MCP_MODE=local

API key for the hosted service. Provides higher rate limits for power users.

  • Prefix: fmcp_
  • Example: fmcp_abc123xyz789...
Terminal window
export FIZZY_MCP_API_KEY=fmcp_your_api_key_here

Custom URL for the hosted MCP service. Only needed if you’re self-hosting Fizzy MCP or using a custom deployment.

Terminal window
# Default hosted service
export FIZZY_MCP_URL=https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp
# Self-hosted instance
export FIZZY_MCP_URL=https://fizzy-mcp.mycompany.com/mcp

Your Fizzy personal access token. Get this from app.fizzy.do under Settings > Personal Access Tokens.

Terminal window
export FIZZY_ACCESS_TOKEN=fz_xxxxxxxxxxxxx

Specify which Fizzy account to use if you have access to multiple accounts.

Terminal window
export FIZZY_ACCOUNT_SLUG=/my-org

Custom Fizzy API base URL. Only needed for enterprise deployments with a custom Fizzy instance.

Terminal window
export FIZZY_BASE_URL=https://fizzy.mycompany.com
Terminal window
# Remote mode configuration
export FIZZY_MCP_MODE=remote
export FIZZY_ACCESS_TOKEN=fz_xxxxxxxxxxxxx
export FIZZY_ACCOUNT_SLUG=/my-org
export FIZZY_MCP_API_KEY=fmcp_your_api_key
# Local mode configuration
export FIZZY_MCP_MODE=local
export FIZZY_ACCESS_TOKEN=fz_xxxxxxxxxxxxx
export FIZZY_ACCOUNT_SLUG=/my-org

Most MCP clients support an env field for local mode servers:

{
"mcpServers": {
"fizzy": {
"command": "npx",
"args": ["-y", "fizzy-do-mcp@latest"],
"env": {
"FIZZY_ACCESS_TOKEN": "fz_xxxxxxxxxxxxx",
"FIZZY_ACCOUNT_SLUG": "/my-org",
"FIZZY_MCP_MODE": "local"
}
}
}
}

For local development, you can use a .env file in your project:

.env
# Mode selection
FIZZY_MCP_MODE=remote
# Authentication
FIZZY_ACCESS_TOKEN=fz_xxxxxxxxxxxxx
FIZZY_ACCOUNT_SLUG=/my-org
# Remote mode settings
FIZZY_MCP_API_KEY=fmcp_your_api_key
FIZZY_MCP_URL=https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp
# Custom Fizzy instance (enterprise)
# FIZZY_BASE_URL=https://fizzy.mycompany.com

Configuration is resolved in this order (highest priority first):

  1. Environment variables (highest priority)
  2. HTTP headers (for remote mode agent configs)
  3. Config file (~/.config/fizzy-mcp/config.json)
  4. Default values (lowest priority)

If you have:

  • FIZZY_ACCOUNT_SLUG=/env-org in environment
  • account_slug: "/config-org" in config file
  • X-Fizzy-Account-Slug: /header-org in agent headers

The environment variable wins: /env-org will be used.

For automated deployments, set environment variables in your CI system:

- name: Run with Fizzy (Remote)
env:
FIZZY_MCP_MODE: remote
FIZZY_ACCESS_TOKEN: ${{ secrets.FIZZY_TOKEN }}
FIZZY_ACCOUNT_SLUG: /my-org
FIZZY_MCP_API_KEY: ${{ secrets.FIZZY_MCP_API_KEY }}
run: |
npx fizzy-do-mcp status
variables:
FIZZY_MCP_MODE: remote
FIZZY_ACCOUNT_SLUG: /my-org
script:
- npx fizzy-do-mcp status

Use GitLab CI/CD variables for secrets:

  • FIZZY_ACCESS_TOKEN
  • FIZZY_MCP_API_KEY
FIZZY_MCP_MODE=remote ENV FIZZY_ACCOUNT_SLUG=/my-org # Pass secrets at runtime instead ```
</TabItem>
<TabItem label="Runtime">
```bash # Recommended: pass secrets at runtime docker run \ -e FIZZY_MCP_MODE=remote \ -e
FIZZY_ACCESS_TOKEN=fz_xxx \ -e FIZZY_MCP_API_KEY=fmcp_xxx \ -e FIZZY_ACCOUNT_SLUG=/my-org \
my-app ```
</TabItem>
<TabItem label="Docker Compose">
```yaml services: app: image: my-app environment: FIZZY_MCP_MODE: remote FIZZY_ACCOUNT_SLUG:
/my-org FIZZY_ACCESS_TOKEN: ${FIZZY_ACCESS_TOKEN}
FIZZY_MCP_API_KEY: ${FIZZY_MCP_API_KEY}

For organizations running their own Fizzy MCP hosted service:

Terminal window
# Point to your self-hosted instance
export FIZZY_MCP_URL=https://fizzy-mcp.internal.mycompany.com/mcp
export FIZZY_MCP_MODE=remote
export FIZZY_ACCESS_TOKEN=fz_xxxxxxxxxxxxx
# If also running a custom Fizzy instance
export FIZZY_BASE_URL=https://fizzy.internal.mycompany.com
  • Never log or print access tokens - they provide full access to your Fizzy account
  • Use secrets management in CI/CD - never hardcode tokens in pipeline files
  • Rotate tokens regularly - especially for production/CI environments
  • Prefer config file auth for local development - it’s more secure than environment variables
  • Keep API keys confidential - they may provide higher rate limits
  • Use separate tokens for CI/CD - easier to revoke if compromised
  1. For local development: Use fizzy-mcp auth to store credentials securely
  2. For CI/CD: Use your platform’s secrets management (GitHub Secrets, GitLab CI Variables, etc.)
  3. For Docker: Pass secrets at runtime, never bake them into images
  4. For teams: Consider using API keys with rate limiting for shared environments

To see which configuration values are being used:

Terminal window
npx fizzy-do-mcp status

This will show:

  • Current mode (remote/local)
  • Authentication status
  • Active account
  • API endpoint being used