Skip to main content
Glama
modrinth-mcp

modrinth-mcp

modrinth-mcp

Modrinth MCP server

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

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.

Related MCP server: mc-pack-builder-mcp

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

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_TIMEOUT_MS

60000

Per-request timeout. A stalled request returns a tool error instead of hanging.

MODRINTH_API_URL

–

Override the API base URL (for a proxy or tests). Takes precedence over MODRINTH_STAGING.

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.

npm test runs the server over stdio against a local stub (no Modrinth calls).

The server ignores SIGINT/SIGBREAK and exits when the client closes stdin. A console Ctrl+C or Ctrl+Break reaches every process on the console, and on Windows npx runs the server through a .cmd shim: if node exited, cmd.exe would keep the pipe open at a Terminate batch job (Y/N)? prompt and every later tool call would hang. Node can't simulate that on Windows, so check it by hand there: send GenerateConsoleCtrlEvent to a shim-launched server and confirm tools/list still answers.

License

MIT

Available Tools

7 tools
modrinth_create_projectA

Create a NEW Modrinth project (the initial project page). Created as a DRAFT — nothing is public until you submit it for review on the site or set requested_status. This is a write action; only call it when the user explicitly asks to create a new project. After it exists, publish jars with modrinth_create_version.

Inputs: slug (required), title (required), description (required), body, +11 more.

modrinth_create_versionA

Publish a NEW version to an existing Modrinth project by uploading one or more built jar files. This is a write action that publishes public content — only call it when the user has explicitly asked to publish. The project must already exist on Modrinth.

Inputs: file_paths (required), project_id (required), game_versions (required), version_number (required), +6 more.

modrinth_get_projectA
Read-only

Get a Modrinth project's metadata by slug or id (title, type, loaders, game_versions, published version ids, status).

Inputs: id_or_slug (required).

modrinth_list_project_versionsA
Read-only

List a project's published versions (version_number, id, type, loaders, game_versions, download url of primary file).

Inputs: id_or_slug (required).

modrinth_modify_versionA

Edit metadata of an EXISTING published version (name, changelog, version_type, loaders, game_versions, featured). Does not upload files.

Inputs: version_id (required), name, loaders, featured, +3 more.

modrinth_search_projectsA
Read-only

Search public Modrinth projects. Returns a compact list of hits (slug, title, project_type, downloads, description).

Inputs: query (required), limit, facets.

modrinth_whoamiA
Read-only

Verify the configured Modrinth token and return the authenticated user (username, id, email, role). Use this first to confirm auth works.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct action and resource: authentication (whoami), search, fetch, list versions, create project, create version, and modify version. No two tools appear to perform the same operation; even search and get are clearly differentiated by result granularity.

    Naming Consistency5/5

    All tools follow the consistent modrinth_<verb>_<object> pattern (e.g., modrinth_search_projects, modrinth_create_version). The naming is predictable and grammatically uniform, making it easy for an agent to infer the action and target.

    Tool Count5/5

    Seven tools is well within the ideal 3–15 range. Each tool serves a clear, non-redundant purpose in the domain of Modrinth project and version management, covering authentication, discovery, publishing, and editing without bloat.

    Completeness4/5

    The toolset covers core workflows: authenticate, search, inspect, publish, and update. It lacks project-level updates (e.g., changing project metadata) or deletion, but those are less critical for the common publish-and-iterate cycle. The missing operations are non-blocking for most agent tasks.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to search, browse, and manage mods across Nexus Mods, mod.io, Thunderstore, and Modrinth, as well as perform local diagnostics like detecting games and parsing crash logs.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables creating Minecraft modpack structures, searching Modrinth mods, resolving dependencies, and checking compatibility.
      8
      48 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients to search a catalogue of 648,000+ coding-agent mods with measured metrics such as token cost, security grade, and originality, and to fetch full details for any mod directly from Claude Desktop or any MCP client.
      11 npm
      MIT