Koskamo

JKTJJ MCP Server

An MCP server providing AI agents with access to a global directory of Brazilian Jiu-Jitsu data, including gyms, coaches, events, and cities. It offers free tools for basic queries like listing cities and gyms, and premium tools via x402 USDC payments for advanced features like schedule searching and coach profiles.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

JKTJJ MCP Server logo, by JKTJJCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by JKTJJ
MCP endpoint (Streamable HTTP)
https://mcp.jktjj.com/mcp
Vendor documentation

What its tools do

13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

0 of 13 have a description · 0 of 13 declare behavior hints · 0 of 13 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • List supported cities and filter by country
  • Get full gym profiles and schedules
  • Search for open mat sessions by day
  • Find coaches and their affiliations

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
JKTJJ MCP Server 0.1.0
MCP protocol negotiated in check
2025-11-25
Tools
13 advertised
Resources
4 advertised
Resource templates
0 advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Tools

13 advertised

list_cities
Advertised by the server during the last successful anonymous check.
list_cities input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "country": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_city
Advertised by the server during the last successful anonymous check.
get_city input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug"
  ],
  "properties": {
    "citySlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
list_gyms
Advertised by the server during the last successful anonymous check.
list_gyms input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "hasGi": {
      "type": "boolean"
    },
    "limit": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "hasNogi": {
      "type": "boolean"
    },
    "citySlug": {
      "type": "string"
    },
    "hasOpenMat": {
      "type": "boolean"
    },
    "openMatDay": {
      "type": "string"
    },
    "affiliation": {
      "type": "string"
    },
    "instructorName": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_gym
Advertised by the server during the last successful anonymous check.
get_gym input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug",
    "gymSlug"
  ],
  "properties": {
    "gymSlug": {
      "type": "string",
      "minLength": 1
    },
    "citySlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
list_coaches
Advertised by the server during the last successful anonymous check.
list_coaches input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "citySlug": {
      "type": "string"
    },
    "affiliation": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_coach
Advertised by the server during the last successful anonymous check.
get_coach input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "coachSlug"
  ],
  "properties": {
    "coachSlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
list_events
Advertised by the server during the last successful anonymous check.
list_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "to": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "citySlug": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_event
Advertised by the server during the last successful anonymous check.
get_event input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "eventSlug"
  ],
  "properties": {
    "eventSlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
search_jktjj
Advertised by the server during the last successful anonymous check.
search_jktjj input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "scope": {
      "enum": [
        "cities",
        "gyms",
        "coaches",
        "events",
        "all"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
find_open_mats
Advertised by the server during the last successful anonymous check.
find_open_mats input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug"
  ],
  "properties": {
    "citySlug": {
      "type": "string",
      "minLength": 1
    },
    "dayOfWeek": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_schedule
Advertised by the server during the last successful anonymous check.
get_schedule input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug"
  ],
  "properties": {
    "gymSlug": {
      "type": "string"
    },
    "citySlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}
search_schedule
Advertised by the server during the last successful anonymous check.
search_schedule input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    },
    "citySlug": {
      "type": "string",
      "minLength": 1
    },
    "classType": {
      "type": "string"
    },
    "dayOfWeek": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "timeWindow": {
      "type": "object",
      "required": [
        "start",
        "end"
      ],
      "properties": {
        "end": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
bulk_export
Advertised by the server during the last successful anonymous check.
bulk_export input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "citySlug"
  ],
  "properties": {
    "citySlug": {
      "type": "string",
      "minLength": 1
    }
  },
  "additionalProperties": false
}

Prompts

3 advertised

plan_training_trip

Advertised by the server during the last successful anonymous check.

city
City slug or name to plan a trip around (required)
startDate
Start date in YYYY-MM-DD format (required)
endDate
End date in YYYY-MM-DD format (required)
focus
Training focus (e.g., gi, nogi, wrestling, competition)
find_open_mat

Advertised by the server during the last successful anonymous check.

city
City slug or name to search in (required)
dayOfWeek
Day of the week (e.g., Monday, Saturday) (required)
summarize_week_in_bjj

Advertised by the server during the last successful anonymous check.

weekOf
Week start date in YYYY-MM-DD format (required)

Resources

4 advertised

catalog

Advertised by the server during the last successful anonymous check.

JKTJJ MCP server catalog with endpoints, pricing, and gate annotations

catalog URI
jktjj://catalog
llms

Advertised by the server during the last successful anonymous check.

JKTJJ llms.txt with discovery hints for AI agents

llms URI
jktjj://llms.txt
snapshot

Advertised by the server during the last successful anonymous check.

Current JKTJJ data snapshot version and counts

snapshot URI
jktjj://snapshot
agent-guide

Advertised by the server during the last successful anonymous check.

JKTJJ agent routing guide with decision defaults, tool reference, and query examples

agent-guide URI
jktjj://agent-guide

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1279 ms
95th percentile latency
1279 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1279 ms · metadata changed · 13 tool(s), 4 resource(s), 0 resource template(s), 3 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http jktjj-mcp-server https://mcp.jktjj.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add jktjj-mcp-server --url https://mcp.jktjj.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable jktjj-mcp-server in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "jktjj-mcp-server": {
      "url": "https://mcp.jktjj.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "jktjj-mcp-server": {
      "type": "streamableHttp",
      "url": "https://mcp.jktjj.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start jktjj-mcp-server and inspect its tools.
VS Code configuration
{
  "servers": {
    "jktjj-mcp-server": {
      "type": "http",
      "url": "https://mcp.jktjj.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http jktjj-mcp-server https://mcp.jktjj.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.jktjj.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "jktjj-mcp-server": {
      "serverUrl": "https://mcp.jktjj.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like JKTJJ MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.