{"openapi":"3.1.0","info":{"title":"Modrinth Reference (BYOK) API","version":"0.1.0","description":"Modrinth Reference (BYOK) lets an AI assistant read your own Modrinth Reference data through the Modrinth Reference API with a key you supply (Modrinth personal access token). Read-only: 11 tools (list_categories, list_loaders, list_game_versions, list_donation_platforms, get_license_text, list_random_projects, get_projects_by_ids, get_project_dependencies, get_versions_by_ids,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-modrinth-reference.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-modrinth-reference/docs"},"termsOfService":"https://connectorbay.com/byok-modrinth-reference/terms"},"servers":[{"url":"https://byok-modrinth-reference.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-modrinth-reference/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_categories":{"post":{"operationId":"list_categories","summary":"List Modrinth project categories with the project type each applies to (for example optimization for mods). Use for \"Whi","description":"List Modrinth project categories with the project type each applies to (for example optimization for mods). Use for \"Which categories exist on Modrinth\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_loaders":{"post":{"operationId":"list_loaders","summary":"List mod loaders (fabric, forge, neoforge, quilt, paper and others) with the project types each supports. Use for \"Which","description":"List mod loaders (fabric, forge, neoforge, quilt, paper and others) with the project types each supports. Use for \"Which mod loaders does Modrinth support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_loadersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_game_versions":{"post":{"operationId":"list_game_versions","summary":"List Minecraft game versions known to Modrinth with release type, date and whether it is a major version. Use for \"Which","description":"List Minecraft game versions known to Modrinth with release type, date and whether it is a major version. Use for \"Which Minecraft versions can I filter Modrinth projects by\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_game_versionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_donation_platforms":{"post":{"operationId":"list_donation_platforms","summary":"List the donation platforms Modrinth projects can link to (short id and name). Use for \"Which donation platforms does Mo","description":"List the donation platforms Modrinth projects can link to (short id and name). Use for \"Which donation platforms does Modrinth support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_donation_platformsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_license_text":{"post":{"operationId":"get_license_text","summary":"Get the title and full text of a licence by SPDX id, as Modrinth stores it. Use for \"Show the text of the LGPL-3.0-or-la","description":"Get the title and full text of a licence by SPDX id, as Modrinth stores it. Use for \"Show the text of the LGPL-3.0-or-later licence on Modrinth\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"license_id":{"description":"SPDX licence id, for example 'LGPL-3.0-or-later' or 'MIT'.","maxLength":60,"title":"License Id","type":"string"}},"required":["license_id"],"title":"get_license_textArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_random_projects":{"post":{"operationId":"list_random_projects","summary":"Get random Modrinth projects (a way to discover mods) with title, type, downloads and supported loaders. Use for \"Show m","description":"Get random Modrinth projects (a way to discover mods) with title, type, downloads and supported loaders. Use for \"Show me 5 random Modrinth projects\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"description":"How many random projects to return (1 to 100).","maximum":100,"minimum":1,"title":"Count","type":"integer"}},"required":["count"],"title":"list_random_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_projects_by_ids":{"post":{"operationId":"get_projects_by_ids","summary":"Get several projects at once by ids or slugs. Use for \"Compare the download counts of Sodium and Lithium on Modrinth\".","description":"Get several projects at once by ids or slugs. Use for \"Compare the download counts of Sodium and Lithium on Modrinth\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ids":{"description":"JSON array of project ids as text, for example [\"AABBCCDD\",\"EEFFGGHH\"].","maxLength":1500,"title":"Ids","type":"string"}},"required":["ids"],"title":"get_projects_by_idsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_project_dependencies":{"post":{"operationId":"get_project_dependencies","summary":"List the projects another project depends on (name, type, downloads, loaders). Use for \"What does the Modrinth project f","description":"List the projects another project depends on (name, type, downloads, loaders). Use for \"What does the Modrinth project fabric-api depend on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id or slug, for example 'sodium' or 'AANobbMI'.","maxLength":64,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_project_dependenciesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_versions_by_ids":{"post":{"operationId":"get_versions_by_ids","summary":"Get several project versions at once by version ids. Use for \"Show Modrinth versions IIJJKKLL and MMNNOOPP\".","description":"Get several project versions at once by version ids. Use for \"Show Modrinth versions IIJJKKLL and MMNNOOPP\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ids":{"description":"JSON array of version ids as text, for example [\"AABBCCDD\",\"EEFFGGHH\"].","maxLength":1500,"title":"Ids","type":"string"}},"required":["ids"],"title":"get_versions_by_idsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_version_by_file_hash":{"post":{"operationId":"get_version_by_file_hash","summary":"Identify a mod file by its hash: returns the Modrinth version (name, number, type, loaders, game versions, project id) t","description":"Identify a mod file by its hash: returns the Modrinth version (name, number, type, loaders, game versions, project id) that contains this file. Use for \"Which Modrinth version has the file with this SHA-1 hash\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"file_hash":{"description":"Hexadecimal hash of the file's bytes, for example a SHA-1 of 40 characters.","maxLength":140,"title":"File Hash","type":"string"},"algorithm":{"description":"Hash algorithm: sha1 (default) or sha512.","enum":["sha1","sha512"],"title":"Algorithm","type":"string"},"multiple":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to return every version that contains the file.","title":"Multiple"}},"required":["file_hash","algorithm"],"title":"get_version_by_file_hashArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/check_project":{"post":{"operationId":"check_project","summary":"Check whether a project id or slug exists and get its id. Use for \"Does a Modrinth project called sodium exist\".","description":"Check whether a project id or slug exists and get its id. Use for \"Does a Modrinth project called sodium exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id or slug, for example 'sodium' or 'AANobbMI'.","maxLength":64,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"check_projectArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}