{
  "markdown": "# JKTJJ MCP Server\n\n[![Smithery](https://img.shields.io/badge/Smithery-jktjj--com%2Fjktjj--mcp-blue)](https://smithery.ai/server/jktjj-com/jktjj-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nMCP server for AI agent access to JKTJJ's structured BJJ data — gyms, coaches, events, and cities worldwide.\n\n## Install\n\n### opencode\n\nAdd to your `opencode.json`:\n```json\n{\n  \"mcp\": {\n    \"jktjj\": {\n      \"type\": \"remote\",\n      \"url\": \"https://mcp.jktjj.com/mcp\",\n      \"enabled\": true\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"jktjj\": {\n      \"type\": \"url\",\n      \"url\": \"https://mcp.jktjj.com/mcp\"\n    }\n  }\n}\n```\n\n### Cursor\n\nSettings → MCP Servers → Add:\n- Name: `jktjj`\n- Type: `url`\n- URL: `https://mcp.jktjj.com/mcp`\n\n### Smithery\n\n```bash\nnpx @smithery/cli mcp add jktjj-com/jktjj-mcp\n```\n\n### MCP Inspector\n\n```bash\nnpx @modelcontextprotocol/inspector\n```\nThen connect to `https://mcp.jktjj.com/mcp`.\n\n## Remote URL\n\n```\nhttps://mcp.jktjj.com/mcp\n```\n\n## Tools\n\n### Free Tools (no auth required)\n\n| Tool | Description |\n|---|---|\n| `list_cities` | List supported cities, filterable by country |\n| `get_city` | Full city details by slug |\n| `list_gyms` | Filtered gym list (city, gi/nogi, open mat, affiliation, instructor) |\n| `get_gym` | Full gym profile by city + gym slug |\n| `list_events` | Filtered event list (city, date range, type) |\n| `get_event` | Full event details by slug |\n\n### Premium Tools (x402 USDC — $0.005–$0.02/call)\n\n| Tool | Description | Price |\n|---|---|---|\n| `search_schedule` | Search schedules by day, time, class type across a city | $0.02 |\n| `find_open_mats` | Open mat sessions by city and day | $0.005 |\n| `search_jktjj` | Cross-index text search (cities, gyms, coaches, events) | $0.005 |\n| `list_coaches` | Filtered coach list (city, affiliation) | $0.005 |\n| `get_coach` | Full coach profile by slug | $0.005 |\n| `get_schedule` | Weekly schedule for a gym or all gyms in a city | $0.005 |\n| `bulk_export` | City-level data export (gyms, events, coaches) | $0.005 |\n\n## Resources\n\n| URI | Description |\n|---|---|\n| `jktjj://catalog` | API catalog with endpoints, pricing, and optimization hints |\n| `jktjj://agent-guide` | Routing instructions, decision defaults, and query examples |\n| `jktjj://llms.txt` | JKTJJ llms.txt content |\n| `jktjj://snapshot` | Current snapshot version and counts |\n\n## Prompts\n\n| Prompt | Description |\n|---|---|\n| `plan_training_trip` | Build a training itinerary for a city and date range |\n| `find_open_mat` | Find open mat sessions in a city on a specific day |\n| `summarize_week_in_bjj` | Get a weekly summary of BJJ events |\n\n## Agent Discovery\n\nExternal agents and bots can discover how to use the MCP server through these public surfaces:\n\n| Surface | URL | Format |\n|---|---|---|\n| Well-known skill | `https://jktjj.com/.well-known/jktjj/SKILL.md` | Markdown |\n| MCP resource | `jktjj://agent-guide` | Markdown (after connecting) |\n| llms.txt | `https://jktjj.com/llms.txt` | Plain text |\n| Catalog (HTTP) | `https://jktjj.com/api/x402/v1/catalog` | JSON |\n| For Developers | `https://jktjj.com/for-developers` | HTML |\n\nThe well-known SKILL.md contains routing instructions, decision defaults, and query examples. Agents can fetch it via HTTP GET without connecting to the MCP server.\n\n## Registries\n\n| Registry | Status | URL |\n|---|---|---|\n| MCP Registry | Pending | https://registry.modelcontextprotocol.io |\n| Smithery | Published | https://smithery.ai/server/jktjj-com/jktjj-mcp |\n| Cline Marketplace | Submitted | https://github.com/cline/mcp-marketplace/issues |\n| MCP.Directory | Submitted | https://mcp.directory |\n| MCP.so | Submitted | https://mcp.so |\n\n## Development\n\n### Prerequisites\n\n- Node.js\n- Cloudflare account with Workers enabled\n- Domain `mcp.jktjj.com` configured in Cloudflare DNS\n\n### Quick Start\n\n```bash\nnpm install\nnpm run dev\n```\n\nThe server starts on `http://localhost:8787`.\n\n### Deploy\n\n```bash\nnpm run deploy\n```\n\n### Tests\n\n```bash\nnpm test\n```\n\n## Architecture\n\nThe MCP server fetches a data snapshot from `jktjj.com/api/x402/data-snapshot` on boot and refreshes it every 5 minutes. All tools query from this in-memory snapshot — no direct data file access at runtime.\n\n```text\njktjj.com/data/*  →  /api/x402/data-snapshot  →  mcp Worker (in-memory cache)  →  MCP tools\n```\n\n## License\n\nMIT\n",
  "bytes": 4439,
  "sha": "fbba963462ed680e14ad8cbd0a4aba5ffa06e1f4f0e4696ebdb0874e9c114a47",
  "repo_slug": "jktjj/jktjj-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jktjj_jktjj_mcp_40af7ec4/readme"
}