Organizations

Organizations on the Moonlit platform pool usage across members and can create MCP keys for deployed services, backends, and agents that cannot complete a browser sign-in.

MCP keys

An MCP key authenticates an application. Members connecting a desktop client never need one; they sign in with their Moonlit account. Use an MCP key when the connection belongs to a workload: a chatbot, a pipeline, an internal tool, or an agent running on a server.

  • Keys are created and revoked by your organization's Owner or a member with the Developer role, under My organization, MCP keys in the Moonlit platform.
  • Calls made with an MCP key count against your organization's pooled monthly quota. In your organization settings you can manage keys and see your usage.
  • Send the key as a Bearer token on every request:
Authorization: Bearer <your MCP key>
Treat MCP keys like passwords. Keep them in environment variables or a secret manager, never in code or client-side configuration that leaves your control, and revoke a key immediately if it leaks.

In IDE and CLI clients

Clients that support custom headers can use an MCP key instead of the sign-in flow. This is useful for shared team configuration. The header shape is the same everywhere:

{
  "mcpServers": {
    "moonlit": {
      "url": "https://mcp.moonlit.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${MOONLIT_MCP_KEY}"
      }
    }
  }
}

The same headers block works in Cursor, VS Code, Gemini CLI, Windsurf, and Zed configurations (adjust the URL key name per client, see How to connect). In Claude Code: claude mcp add --transport http moonlit https://mcp.moonlit.ai/mcp --header "Authorization: Bearer $MOONLIT_MCP_KEY".

Deployed services

Any MCP SDK can hold the connection. With the Python SDK over streamable HTTP:

from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

import os

async def main():
    async with streamablehttp_client(
        "https://mcp.moonlit.ai/mcp",
        headers={"Authorization": f"Bearer {os.environ['MOONLIT_MCP_KEY']}"},
    ) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([t.name for t in tools.tools])

Anthropic API

The Anthropic API connects to remote MCP servers directly through the mcp_servers parameter, so Claude can use Moonlit tools inside your own product without you hosting an MCP client:

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-11-20" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 2048,
    "messages": [
      {"role": "user", "content": "Which documents cite GDPR Article 22?"}
    ],
    "mcp_servers": [{
      "type": "url",
      "url": "https://mcp.moonlit.ai/mcp",
      "name": "moonlit",
      "authorization_token": "YOUR_MCP_KEY"
    }],
    "tools": [{"type": "mcp_toolset", "mcp_server_name": "moonlit"}]
  }'

OpenAI API

The OpenAI Responses API does the same through the remote MCP tool type:

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "gpt-5",
    "input": "Which documents cite GDPR Article 22?",
    "tools": [{
      "type": "mcp",
      "server_label": "moonlit",
      "server_url": "https://mcp.moonlit.ai/mcp",
      "authorization": "YOUR_MCP_KEY"
    }]
  }'

Quota and monitoring

Every connection, keyed or signed in, can call get_account_status to read the plan and the remaining monthly quota. The call is free, which makes it safe to use as a health check in deployed services. Searches, document retrievals, and filter lookups count as one call each; get_account_status and convert_to_celex never count.

For enterprise agreements, including pooled quotas and service levels beyond the self-serve tiers, get in touch. Terms agreed there take precedence over the published MCP Terms.

esc
↑↓ navigateenter openesc close