The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Modrinth MCP listing page.
An MCP server that wraps the Modrinth API so an AI agent (Claude Code, Claude Desktop, Cursor, …) can search projects, read project/version metadata, and publish Minecraft mods — create projects and upload built jars as new versions.
| Tool | Auth | What it does |
|---|---|---|
modrinth_whoami | ✅ | Verify your token; return the authenticated user. |
modrinth_search_projects | – | Search public Modrinth projects. |
modrinth_get_project | – | Get a project's metadata by slug or id. |
modrinth_list_project_versions | – | List a project's published versions. |
modrinth_create_version | ✅ | Publish a new version by uploading one or more jars. |
modrinth_create_project | ✅ | Create a new project (as a draft). |
modrinth_modify_version | ✅ | Edit metadata of an existing version. |
Read-only tools work without a token. Anything that writes needs a Modrinth Personal Access Token.
Create a PAT at https://modrinth.com/settings/pats with these scopes:
Set it as the MODRINTH_TOKEN environment variable.
It runs the published npm package under the hood via npx. Claude Code
plugins have no token-entry UI, so the server reads its token from the
MODRINTH_TOKEN environment variable in the environment Claude Code
runs in. Set it before launching Claude Code, e.g.:
Then restart Claude Code and run modrinth_whoami to confirm. Read-only
tools (search, get project/versions) work without a token.
Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
Or in Claude Code directly:
| Variable | Default | Purpose |
|---|---|---|
MODRINTH_TOKEN | – | Modrinth Personal Access Token. Required for write actions. |
MODRINTH_STAGING | unset | Set to 1 to hit https://staging-api.modrinth.com for safe testing. |
MODRINTH_USER_AGENT | modrinth-mcp/<version> … | Override the User-Agent sent to Modrinth. |
modrinth_whoami — confirm auth works.modrinth_create_project — create the project page (created as a draft).modrinth_create_version — upload your built jar(s) with the target game_versions and loaders.Note:
create_versionandcreate_projectpublish public content. Only call them when you actually intend to publish.
The server speaks MCP over stdio. stdout is reserved for the protocol; logs go to stderr.