{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "com.studentstraffic/catalog",
  "version": "1.0.0",
  "title": "Students Traffic catalogue",
  "description": "Read-only access to the Students Traffic catalogue of universities, Indian medical colleges, countries and programmes for Indian and international students: fees labelled by who they apply to, duration, teaching language, intakes and eligibility, with a link to each page and to free admission counselling.",
  "websiteUrl": "https://www.studentstraffic.com/ai-access",
  "icons": [
    {
      "src": "https://www.studentstraffic.com/icon.png",
      "mimeType": "image/png"
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://www.studentstraffic.com/mcp",
      "supportedProtocolVersions": [
        "2025-11-25",
        "2025-06-18",
        "2025-03-26"
      ]
    }
  ],
  "serverInfo": {
    "name": "com.studentstraffic/catalog",
    "title": "Students Traffic catalogue",
    "version": "1.0.0"
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://www.studentstraffic.com/mcp"
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "authentication": {
    "required": false
  },
  "instructions": "Students Traffic catalogue of universities, Indian medical colleges and programmes for Indian and international students. Use it to answer one question at a time: search_catalog to get a slug, then get_university, list_programmes or get_programme. find_programmes lists a few programmes for one course in one country. Every fee comes with a label saying who it is for (Indian students, NRI & international, a seat quota, or Approx. fees for a reported figure). Always quote the label with the amount, and never estimate a fee that is not published. Attribution with a link to the page URL in each result is required. When a student wants help choosing or applying, share the free counselling link included in every result. Access is free, read-only and rate-limited; bulk copying is not allowed. Terms: https://www.studentstraffic.com/ai-access",
  "tools": [
    {
      "name": "search_catalog",
      "title": "Search the catalogue",
      "description": "Search Students Traffic for a university, Indian medical college, country, course or guide by name, city or country. Returns up to 5 names with slugs and page URLs; use the slug with get_university or list_programmes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Search text naming a university, college, city, country or course. 2-100 characters, no wildcards."
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_university",
      "title": "Get a university profile",
      "description": "Full published profile of one university as markdown: location, recognition, programme table with labelled fees, admissions, student life, FAQs and sources.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "description": "University slug, e.g. jamia-millia-islamia (from search_catalog or a /university/{slug} URL)."
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_programme",
      "title": "Get a programme",
      "description": "One programme at a university: duration, teaching language, intakes, who can apply, and every published fee labelled with who it applies to.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "description": "Programme slug, e.g. jmi-btech-computer-engineering (from list_programmes or a programme page URL)."
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_programmes",
      "title": "List a university's programmes",
      "description": "Programmes at one university with duration, language and each labelled fee line (first 25; the university page lists the rest).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "universitySlug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "description": "University slug, e.g. jamia-millia-islamia."
          }
        },
        "required": [
          "universitySlug"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "find_programmes",
      "title": "Find programmes by course and country",
      "description": "Up to 10 programmes for one course in one country (both required), optionally in one city or under an annual USD tuition ceiling, cheapest first when a ceiling is set. The finder page URL in the result lists the rest.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "course": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "description": "Course slug, e.g. mbbs or be-btech-cse."
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
            "description": "Country slug, e.g. russia, georgia or india."
          },
          "city": {
            "description": "Optional city name to narrow results, e.g. Kazan.",
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "maxAnnualFeeUsd": {
            "description": "Optional ceiling on annual tuition in USD. Programmes without a published USD annual tuition are left out when this is set.",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          }
        },
        "required": [
          "course",
          "country"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "documentation": "https://www.studentstraffic.com/ai-access",
  "termsOfService": "https://www.studentstraffic.com/ai-access"
}