{
  "markdown": "# modrinth-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that wraps the [Modrinth](https://modrinth.com) 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.\n\n## Tools\n\n| Tool | Auth | What it does |\n| --- | --- | --- |\n| `modrinth_whoami` | ✅ | Verify your token; return the authenticated user. |\n| `modrinth_search_projects` | – | Search public Modrinth projects. |\n| `modrinth_get_project` | – | Get a project's metadata by slug or id. |\n| `modrinth_list_project_versions` | – | List a project's published versions. |\n| `modrinth_create_version` | ✅ | Publish a **new version** by uploading one or more jars. |\n| `modrinth_create_project` | ✅ | Create a **new project** (as a draft). |\n| `modrinth_modify_version` | ✅ | Edit metadata of an existing version. |\n\nRead-only tools work without a token. Anything that writes needs a Modrinth **Personal Access Token**.\n\n## Getting a token\n\nCreate a PAT at <https://modrinth.com/settings/pats> with these scopes:\n\n- Read projects\n- Read versions\n- Create versions\n- Write versions\n\nSet it as the `MODRINTH_TOKEN` environment variable.\n\n## Install\n\n### As a Claude Code plugin\n\n```bash\n/plugin marketplace add justinscott12/modrinth-mcp\n/plugin install modrinth-mcp@justinscott12\n```\n\nIt runs the published npm package under the hood via `npx`. Claude Code\nplugins have no token-entry UI, so the server reads its token from the\n`MODRINTH_TOKEN` **environment variable** in the environment Claude Code\nruns in. Set it before launching Claude Code, e.g.:\n\n```bash\n# macOS/Linux (add to your shell profile to persist)\nexport MODRINTH_TOKEN=your-modrinth-pat\n\n# Windows PowerShell (persist for your user)\nsetx MODRINTH_TOKEN \"your-modrinth-pat\"\n```\n\nThen restart Claude Code and run `modrinth_whoami` to confirm. Read-only\ntools (search, get project/versions) work without a token.\n\n### As an MCP server (any client)\n\nAdd to your MCP client config (e.g. Claude Desktop `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"modrinth\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@justinscott12/modrinth-mcp\"],\n      \"env\": {\n        \"MODRINTH_TOKEN\": \"your-modrinth-pat\"\n      }\n    }\n  }\n}\n```\n\nOr in Claude Code directly:\n\n```bash\nclaude mcp add modrinth --env MODRINTH_TOKEN=your-modrinth-pat -- npx -y @justinscott12/modrinth-mcp\n```\n\n## Environment variables\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `MODRINTH_TOKEN` | – | Modrinth Personal Access Token. Required for write actions. |\n| `MODRINTH_STAGING` | unset | Set to `1` to hit `https://staging-api.modrinth.com` for safe testing. |\n| `MODRINTH_USER_AGENT` | `modrinth-mcp/<version> …` | Override the User-Agent sent to Modrinth. |\n\n## Example flow\n\n1. `modrinth_whoami` — confirm auth works.\n2. `modrinth_create_project` — create the project page (created as a draft).\n3. `modrinth_create_version` — upload your built jar(s) with the target `game_versions` and `loaders`.\n4. Submit the project for review on the Modrinth site when ready.\n\n> **Note:** `create_version` and `create_project` publish public content. Only call them when you actually intend to publish.\n\n## Development\n\n```bash\nnpm install\nMODRINTH_STAGING=1 MODRINTH_TOKEN=your-staging-pat npm start\n```\n\nThe server speaks MCP over stdio. `stdout` is reserved for the protocol; logs go to `stderr`.\n\n## License\n\n[MIT](./LICENSE)\n",
  "bytes": 3480,
  "sha": "3d22080f1f131d9679fa0b8a4ce86cba0b9669ac30b961d67726550c7c1d9c44",
  "repo_slug": "justinscott12/modrinth-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_justinscott12_modrinth_mcp_2eb07062/readme"
}