Skip to content

API Keys

API keys unlock 10x higher rate limits on the Fizzy MCP hosted service. This page explains what API keys are, how to get one, and how to configure them in your workflow.

API keys are special tokens that identify your application or integration with the Fizzy MCP hosted service. They’re separate from your Fizzy Personal Access Token and serve a different purpose:

Token TypePrefixPurposeRate Limit Effect
Fizzy PATfz_Authenticates with Fizzy APIIdentifies your account
API Keyfmcp_Identifies your integrationUpgrades to Authenticated tier

10x Rate Limits

Upgrade from 100 to 1,000 writes/day and from 1,000 to 10,000 reads/day.

Usage Analytics

Track your integration’s usage patterns and optimize your workflows.

Priority Support

API key holders get priority support for integration issues.

Future Features

Early access to new hosted service features and capabilities.

TierWrites/DayReads/DayRequirements
Anonymous1001,000Fizzy PAT only
Authenticated1,00010,000Fizzy PAT + API Key

API keys follow a specific format for easy identification:

fmcp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Prefix: Always starts with fmcp_ (Fizzy MCP)
  • Body: 32+ character alphanumeric string
  • Total length: ~37 characters
  1. Request Access

    API keys are currently available by request. Contact us through one of these channels:

  2. Describe Your Use Case

    Include information about:

    • How you’re using Fizzy MCP (AI agent, automation, etc.)
    • Expected daily usage volume
    • Your Fizzy account email
  3. Receive Your API Key

    Once approved, you’ll receive your API key via secure channel. The key is active immediately upon receipt.

  4. Configure Your Integration

    Add the X-API-Key header to your MCP client configuration (see below).

Add the X-API-Key header alongside your Fizzy token:

Terminal window
curl -X POST https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Fizzy-Token: fz_your_fizzy_token" \
-H "X-API-Key: fmcp_your_api_key" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'

Add both headers to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
"mcpServers": {
"fizzy": {
"transport": "http",
"url": "https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp",
"headers": {
"X-Fizzy-Token": "fz_your_fizzy_token",
"X-API-Key": "fmcp_your_api_key"
}
}
}
}

The Fizzy MCP CLI supports API key configuration:

Terminal window
npx @fizzy-mcp/server auth --api-key fmcp_your_api_key

This stores the API key in your local config file alongside your Fizzy token:

{
"accessToken": "fz_your_fizzy_token",
"accountSlug": "/your-org",
"apiKey": "fmcp_your_api_key"
}

When you run fizzy-mcp configure, the CLI will include the API key in the generated agent configurations.

For CI/CD, Docker, or server deployments, use an environment variable:

Terminal window
export FIZZY_MCP_API_KEY=fmcp_your_api_key

The hosted service checks for this variable in the X-API-Key header. Your deployment script or container should inject it:

jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Call Fizzy MCP
env:
FIZZY_ACCESS_TOKEN: ${{ secrets.FIZZY_TOKEN }}
FIZZY_MCP_API_KEY: ${{ secrets.FIZZY_MCP_API_KEY }}
run: |
curl -X POST https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Fizzy-Token: $FIZZY_ACCESS_TOKEN" \
-H "X-API-Key: $FIZZY_MCP_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

After configuration, verify your API key is working:

Terminal window
curl -I -X POST https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Fizzy-Token: fz_your_fizzy_token" \
-H "X-API-Key: fmcp_your_api_key" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Check the response headers:

X-User-Tier: authenticated
X-RateLimit-Limit: 1000

If you see X-User-Tier: authenticated and X-RateLimit-Limit: 1000, your API key is active.

Use Environment Variables

Store API keys in environment variables or secrets managers, never in code.

Rotate Periodically

Request a new API key every 90 days and revoke old ones.

Use Separate Keys

Use different API keys for development, staging, and production.

Monitor Usage

Check rate limit headers regularly to detect unusual patterns.

  1. Immediately contact support to revoke the compromised key

  2. Request a new API key through normal channels

  3. Update all configurations with the new key

  4. Review access logs for suspicious activity

  5. Rotate your Fizzy PAT as well if it may have been exposed

Currently, each user/organization receives one API key. If you need separate keys for different environments (dev/staging/prod), contact support.

API keys don’t expire by default. However, they can be revoked manually. If your key stops working, contact support.

Can I use an API key without a Fizzy token?

Section titled “Can I use an API key without a Fizzy token?”

No. The API key upgrades your rate limits, but you still need a valid Fizzy Personal Access Token (X-Fizzy-Token) to authenticate with the Fizzy API.

API keys are only for the hosted service. Local mode (npx @fizzy-mcp/server) has no rate limits and doesn’t need API keys.

Check the X-RateLimit-Remaining header in any response:

Terminal window
curl -I -X POST https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Fizzy-Token: fz_xxx" \
-H "X-API-Key: fmcp_xxx" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Can I upgrade from Anonymous to Authenticated mid-day?

Section titled “Can I upgrade from Anonymous to Authenticated mid-day?”

Yes! As soon as you add a valid X-API-Key header, your requests will use Authenticated tier limits. The new higher limits apply immediately.

  • Verify the key starts with fmcp_
  • Check for extra whitespace when copying
  • Ensure the key hasn’t been revoked
  • Contact support if the issue persists
  • Verify the X-API-Key header is being sent
  • Check header casing (X-API-Key not x-api-key, though HTTP headers are case-insensitive)
  • Ensure the key is valid and not expired
  • The key may have been revoked
  • There may be a typo in the key
  • Contact support to verify key status