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'Agents · MCP
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.
https://api.bjj-vision.com/mcpAuthorization: Bearer YOUR_API_KEYAgent access comes with the Agent plan. An access code works too: redeem it on Plan & usage.
On Profile → Agent access, pick Full access (or custom permissions) and when it expires. The full key is shown once.
Paste the setup for your agent below. It connects over Streamable HTTP with the key as a bearer token.
Replace YOUR_API_KEY with your key. On Profile → Agent access, a new key comes with these same lines already filled in.
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'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_KEYRun in your terminal.
gemini mcp add --transport http bjj-vision https://api.bjj-vision.com/mcp --header 'Authorization: Bearer YOUR_API_KEY'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"
}
}
}
}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"}}'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"
}
}
}
}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())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())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"}}}'