Agents · MCP

Let your AI agent build the breakdown.

Connect Claude Code, Codex, Cursor or your own agent to BJJ Vision. It can do what you do with your videos, Analyzer annotations, Studio breakdowns and Composer projects, through a personal key you control.

Endpoint
https://api.bjj-vision.com/mcp
Transport
Streamable HTTP
Header
Authorization: Bearer YOUR_API_KEY
YOUR AGENTCLAUDECODEXCURSORYOUR OWNBEARER KEYHTTPSMCP endpointapi.bjj-vision.com/mcpYOUR ACCOUNT · AGENT PLANMedia Hubyour videosStudiobreakdownsComposerone video
Numbers match the steps below.

How it works

  1. Be on the Agent plan

    Agent access comes with the Agent plan. An access code works too: redeem it on Plan & usage.

  2. Create a key

    On Profile → Agent access, pick Full access (or custom permissions) and when it expires. The full key is shown once.

  3. Add BJJ Vision to your agent

    Paste the setup for your agent below. It connects over Streamable HTTP with the key as a bearer token.

Add it to your agent

Replace YOUR_API_KEY with your key. On Profile → Agent access, a new key comes with these same lines already filled in.

Claude Code

Run in your terminal.

claude mcp add --transport http --scope user bjj-vision https://api.bjj-vision.com/mcp --header 'Authorization: Bearer YOUR_API_KEY'

Codex CLI

Run in your terminal. Codex reads the key from the environment variable.

export BJJ_VISION_API_KEY='YOUR_API_KEY'
codex mcp add bjj-vision --url https://api.bjj-vision.com/mcp --bearer-token-env-var BJJ_VISION_API_KEY

Gemini CLI

Run in your terminal.

gemini mcp add --transport http bjj-vision https://api.bjj-vision.com/mcp --header 'Authorization: Bearer YOUR_API_KEY'

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).

{
  "mcpServers": {
    "bjj-vision": {
      "url": "https://api.bjj-vision.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

VS Code (Copilot agent mode)

Run in your terminal; VS Code adds the server to your user settings.

code --add-mcp '{"name":"bjj-vision","type":"http","url":"https://api.bjj-vision.com/mcp","headers":{"Authorization":"Bearer YOUR_API_KEY"}}'

Claude Desktop

Add to claude_desktop_config.json, then restart Claude Desktop. Needs Node.js for the mcp-remote bridge.

{
  "mcpServers": {
    "bjj-vision": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.bjj-vision.com/mcp",
        "--header",
        "Authorization:${BJJ_VISION_AUTH}"
      ],
      "env": {
        "BJJ_VISION_AUTH": "Bearer YOUR_API_KEY"
      }
    }
  }
}

OpenAI Agents SDK (Python)

pip install openai-agents, set the environment variable, then run.

# export BJJ_VISION_API_KEY='YOUR_API_KEY'
import asyncio, os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="BJJ Vision",
        params={"url": "https://api.bjj-vision.com/mcp",
                "headers": {"Authorization": f"Bearer {os.environ['BJJ_VISION_API_KEY']}"}},
    ) as bjj_vision:
        agent = Agent(name="Coach", instructions="Use BJJ Vision to work with my media and Studio projects.",
                      mcp_servers=[bjj_vision])
        result = await Runner.run(agent, "List my most recent media in BJJ Vision.")
        print(result.final_output)

asyncio.run(main())

LangChain / LangGraph (Python)

pip install langchain-mcp-adapters, set the environment variable, then load the tools into your agent.

# export BJJ_VISION_API_KEY='YOUR_API_KEY'
import asyncio, os
from langchain_mcp_adapters.client import MultiServerMCPClient

async def main():
    client = MultiServerMCPClient({"bjj-vision": {
        "transport": "streamable_http",
        "url": "https://api.bjj-vision.com/mcp",
        "headers": {"Authorization": f"Bearer {os.environ['BJJ_VISION_API_KEY']}"},
    }})
    tools = await client.get_tools()  # pass these to your LangChain or LangGraph agent
    print([tool.name for tool in tools])

asyncio.run(main())

Any other MCP client

Most clients take this JSON. The curl line checks your key before you wire anything up.

{
  "mcpServers": {
    "bjj-vision": {
      "type": "http",
      "url": "https://api.bjj-vision.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

# Check the key: a working key answers with serverInfo "BJJ Vision Studio".
curl -s https://api.bjj-vision.com/mcp -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

What your agent can do

Videos
List, search and open your videos; edit titles, categories, tags, players and results; archive, restore or delete; upload a file or import a link; get a private playback link.
Frames anywhere in a match
See the exact frame on screen at any moment of a full-length video, scan a time range as evenly spaced stills, then zoom in, or replay up to five seconds.
Analyzer
Read and edit positions and techniques, review AI suggestions, set the two match players (or add a guest opponent) and read match statistics. Every edit keeps a receipt and history.
Media
List your Media Hub videos, read their details and storage, look at frames, and (if allowed) upload or download sources.
Studio breakdowns
Create Studio projects from your media and add arrows, text, circles, paths, markers, joint outlines, brush strokes and freeze frames. Every save keeps history you can restore.
Previews
Render selected frames of a saved project so the agent can check its own marks before you look.
Composer
Create, read and save Composer projects that place exported Studio clips in one video, with history.
Private exports
Export a Composer project and get a private download link.

Good to know

  • The key acts as you, within the permissions you chose. Keep it out of chats, screenshots and shared repositories.
  • Up to five active keys per account. Each expires after 7, 30 or 90 days, and you can revoke one at any time.
  • A Full access key picks up new tools as they ship, so you never need a new key or setup for an upgrade. You can change any key’s permissions later without replacing it.
  • Agents get up to 60 tool calls a minute.
  • Agent access follows your plan: if the Agent plan ends, keys stop working until it is back.
  • Deleting a video is permanent and needs its own permission; archiving hides a video without deleting it.
  • Starting a new AI analysis run is done in the Analyzer; agents can review the suggestions it saves.

Questions

Which agents work?
Any client that speaks MCP over Streamable HTTP and can send an Authorization header. Claude Desktop connects through the mcp-remote bridge.
Can the agent see other people’s videos?
No. Every call is limited to the account that created the key.
Can the agent watch my match?
It looks at frames: any moment you name, a scan across a time range, or a short silent replay. Your agent needs a model that can read images to understand them.
What if a key leaks?
Revoke it on Profile → Agent access. Agents using it lose access immediately; create a new key for them.