Frisky Dev Cloud

MCP Integration Hub

One accelerated builder ecosystem for turning ideas into running Frisky tools: MCP clients, GPT Actions, REST automations, Codex configs, Telegram, and agent runners.

MCP Clients

Codex, Cursor, Antigravity, and ChatGPT all point at the same remote MCP endpoint.

Codex

MCP server JSON

Install the repo plugin at plugins/frisky-dev-mcp, or copy this config into MCP-capable clients that accept remote server URLs.

{
  "mcpServers": {
    "frisky-dev-mcp": {
      "type": "http",
      "url": "https://mcp.friskydev.com/mcp"
    }
  }
}
Cursor

Cursor MCP config

Use the same remote MCP bridge for coding sessions, reviews, and specialist planning inside Cursor.

https://mcp.friskydev.com/cursor.mcp.json
Antigravity

Antigravity MCP config

Use Frisky MCP as the Antigravity cloud tool surface for product, infrastructure, launch, and execution routing.

https://mcp.friskydev.com/antigravity.mcp.json
No Infisical

Temporary GitHub token path

If vault access is blocked, set the GitHub token directly in the gated server runtime. For local testing, use the already authenticated GitHub CLI token without writing it into repo files.

export FRISKY_GITHUB_TOKEN="$(gh auth token)"
export FRISKY_GITHUB_REPOS="FriskyDevelopments/frisky-dev-mcp-plugin"
npm run smoke

Actions + REST

GPTs, bots, and services can call the same specialist action without embedding secrets in prompts.

GPT Actions

OpenAPI import

Import this schema in GPT Builder. Configure API Key authentication as Bearer using your Frisky bot token.

https://mcp.friskydev.com/openapi.json

CLI

A tiny shell runner for local machines, CI, Coolify dev containers, and ops scripts.

Examples

Packet and live call

Packet mode needs no machine token. Live consults use a Frisky OAuth access token or server bot token.

./frisky-mcp packet frisky-codex-engineer "Review deployment risk"

FRISKY_ACCESS_TOKEN=... ./frisky-mcp consult frisky-director "Prioritize beta work"
FRISKY_BOT_API_TOKEN=... ./frisky-mcp consult frisky-director "Prioritize beta work"

Backend Integrations

Database and edge runtimes call specialists from server-side code only.

Neon

Database agents

Neon-backed agents can call Frisky Data Model, SaaS Infrastructure, or Codex Engineer through the REST action endpoint.

POST https://mcp.friskydev.com/consult_specialist
Authorization: Bearer $FRISKY_BOT_API_TOKEN

{
  "slug": "frisky-data-model",
  "request": "Review this schema migration.",
  "live_call": true
}
Supabase

Edge Function call

Supabase Edge Functions can call the same live specialist endpoint with bearer auth stored as a project secret.

await fetch("https://mcp.friskydev.com/consult_specialist", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${Deno.env.get("FRISKY_BOT_API_TOKEN")}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    slug: "frisky-trust-safety",
    request: "Review this auth policy.",
    live_call: true
  })
})

Secrets + Dev Runtime

Use the vault you can reach: 1Password for operators, Cloudflare secrets for Workers, and Google Cloud Secret Manager for Cloud Run. Browsers and GPT instructions get placeholders only.

Cloudflare

Worker secrets

Use Cloudflare secrets for Workers that proxy, gate, or call Frisky MCP. Secret values stay hidden after upload.

npx wrangler secret put FRISKY_GITHUB_TOKEN
npx wrangler secret put FRISKY_BOT_API_TOKEN
npx wrangler deploy --secrets-file .env.production
Infisical Later

Recover vault path

When Infisical access returns, move temporary runtime values back into the canonical vault and rotate any broad temporary token.

1Password / GitHub CLI
  -> Cloudflare or Google runtime
  -> Infisical when access returns
Security rule: never place service-role keys, database credentials, model API keys, or machine tokens in browser clients, public MCP configs, GPT instructions, or screenshots. Use bearer placeholders in docs and inject real secrets server-side only. If Infisical is unavailable, use a temporary host environment variable or GitHub CLI token for the gated runtime, then move the value back into Infisical when access returns.