Back to Directory/Developer Tools

io.github.justinscott12/modrinth-mcp

Search Modrinth and publish Minecraft mods (create projects, upload versions) via the Modrinth API.

Developer ToolsJavaScriptv0.1.1

modrinth-mcp

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.

Tools

ToolAuthWhat 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.

Getting a token

Create a PAT at https://modrinth.com/settings/pats with these scopes:

  • Read projects
  • Read versions
  • Create versions
  • Write versions

Set it as the MODRINTH_TOKEN environment variable.

Install

As a Claude Code plugin

/plugin marketplace add justinscott12/modrinth-mcp
/plugin install modrinth-mcp@justinscott12

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.:

# macOS/Linux (add to your shell profile to persist)
export MODRINTH_TOKEN=your-modrinth-pat

# Windows PowerShell (persist for your user)
setx MODRINTH_TOKEN "your-modrinth-pat"

Then restart Claude Code and run modrinth_whoami to confirm. Read-only tools (search, get project/versions) work without a token.

As an MCP server (any client)

Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "modrinth": {
      "command": "npx",
      "args": ["-y", "@justinscott12/modrinth-mcp"],
      "env": {
        "MODRINTH_TOKEN": "your-modrinth-pat"
      }
    }
  }
}

Or in Claude Code directly:

claude mcp add modrinth --env MODRINTH_TOKEN=your-modrinth-pat -- npx -y @justinscott12/modrinth-mcp

Environment variables

VariableDefaultPurpose
MODRINTH_TOKEN–Modrinth Personal Access Token. Required for write actions.
MODRINTH_STAGINGunsetSet to 1 to hit https://staging-api.modrinth.com for safe testing.
MODRINTH_USER_AGENTmodrinth-mcp/<version> …Override the User-Agent sent to Modrinth.

Example flow

  1. modrinth_whoami — confirm auth works.
  2. modrinth_create_project — create the project page (created as a draft).
  3. modrinth_create_version — upload your built jar(s) with the target game_versions and loaders.
  4. Submit the project for review on the Modrinth site when ready.

Note: create_version and create_project publish public content. Only call them when you actually intend to publish.

Development

npm install
MODRINTH_STAGING=1 MODRINTH_TOKEN=your-staging-pat npm start

The server speaks MCP over stdio. stdout is reserved for the protocol; logs go to stderr.

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @justinscott12/modrinth-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-justinscott12-modrinth-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@justinscott12/modrinth-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@justinscott12/modrinth-mcpnpm

Compatible MCP Clients

io.github.justinscott12/modrinth-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More