# DXRating MCP Server

maimai DX for your AI assistant. Connect this server and Claude, ChatGPT, Cursor, VS Code, Cherry Studio and other AI apps can look up songs and charts from DXRating (dxrating.net) by any name or alias, read their internal levels (譜面定数) on the JP, international, USA and CN servers, and work out ratings and Best 50.

MCP (Model Context Protocol) is the standard way AI apps connect to outside tools.

**Free · No account · No API key · Read-only**

## Let your agent set it up

Paste this into Claude Code, Codex, Cursor or another coding agent:

```text
Add the DXRating MCP server to this agent: URL https://mcp.dxrating.net/mcp, transport Streamable HTTP, no authentication. Follow the steps for this client in https://mcp.dxrating.net/llms.txt, add it at user (global) scope, then list its tools to confirm it works.
```

## Install

| | |
|---|---|
| Server URL | `https://mcp.dxrating.net/mcp` |
| Transport | Streamable HTTP (not SSE) |
| Authentication | None. If your app asks, choose "No authentication" or "No sign in". |
| Suggested name | `dxrating` |

Use the URL exactly as shown, ending in `/mcp`. This page (https://mcp.dxrating.net/) is the guide, not the server.

**One click:** [Add to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=DXRating&connectorUrl=https%3A%2F%2Fmcp.dxrating.net%2Fmcp) · [Add to Cursor](https://cursor.com/en/install-mcp?name=dxrating&config=eyJ1cmwiOiJodHRwczovL21jcC5keHJhdGluZy5uZXQvbWNwIn0%3D) · [Add to VS Code](https://vscode.dev/redirect/mcp/install?name=dxrating&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.dxrating.net%2Fmcp%22%7D) · [Add to Cherry Studio](cherrystudio://mcp/install?servers=eyJtY3BTZXJ2ZXJzIjp7ImR4cmF0aW5nIjp7InR5cGUiOiJzdHJlYW1hYmxlSHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmR4cmF0aW5nLm5ldC9tY3AifX19)

These open your app with the server filled in. You still review and confirm.

### Chat apps

#### Claude (claude.ai, Claude Desktop, Claude mobile)

1. Open [Add to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=DXRating&connectorUrl=https%3A%2F%2Fmcp.dxrating.net%2Fmcp), or go to **Customize → Connectors → + Add → Add custom connector**.
2. Name: `DXRating`. Remote MCP server URL: `https://mcp.dxrating.net/mcp`. Click **Continue**.
3. Under **Authentication** choose **No sign in**, then **Add**.
4. In a chat, click **+ → Connectors** and turn on DXRating.

The Free plan allows one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**, then members click **Connect**. The mobile apps can't add connectors; add it on the web or desktop and it syncs.

Docs: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp

#### ChatGPT (web)

1. Go to https://chatgpt.com/plugins, click **+**, then **Add custom MCP server**.
2. Name `DXRating`, Server URL `https://mcp.dxrating.net/mcp`.
3. Authentication: **No authentication**. Read the warning, click **I understand and want to continue**, then **Create as a plugin**.
4. Install the plugin. In a chat, type **@** and choose DXRating.

Availability depends on your plan and workspace settings.

Docs: https://developers.openai.com/api/docs/guides/custom-mcp-server

#### Cherry Studio

One click: [Add to Cherry Studio](cherrystudio://mcp/install?servers=eyJtY3BTZXJ2ZXJzIjp7ImR4cmF0aW5nIjp7InR5cGUiOiJzdHJlYW1hYmxlSHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmR4cmF0aW5nLm5ldC9tY3AifX19). The server arrives switched off: review it, then turn it on. By hand: **Settings → MCP → MCP Servers → Add → Import from JSON**, and paste:

```json
{
  "mcpServers": {
    "dxrating": {
      "type": "streamableHttp",
      "url": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Keep `"type": "streamableHttp"`. Without it Cherry Studio uses the old SSE transport, and the connection fails.

Docs: https://docs.cherryai.com.cn/advanced-basic/extensions/mcp

### Coding tools

#### Claude Code

```sh
claude mcp add --transport http --scope user dxrating https://mcp.dxrating.net/mcp
```

Check with `claude mcp list` or `/mcp`. In a project `.mcp.json`, keep `"type": "http"`:

```json
{
  "mcpServers": {
    "dxrating": {
      "type": "http",
      "url": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Docs: https://code.claude.com/docs/en/mcp

#### Cursor

[Add to Cursor](https://cursor.com/en/install-mcp?name=dxrating&config=eyJ1cmwiOiJodHRwczovL21jcC5keHJhdGluZy5uZXQvbWNwIn0%3D), or add this to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "dxrating": {
      "url": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Docs: https://cursor.com/docs/mcp

#### VS Code (GitHub Copilot)

[Add to VS Code](https://vscode.dev/redirect/mcp/install?name=dxrating&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.dxrating.net%2Fmcp%22%7D), or run:

```sh
code --add-mcp '{"name":"dxrating","type":"http","url":"https://mcp.dxrating.net/mcp"}'
```

`.vscode/mcp.json` and the user-profile `mcp.json` use `servers`, not `mcpServers`:

```json
{
  "servers": {
    "dxrating": {
      "type": "http",
      "url": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Docs: https://code.visualstudio.com/docs/agent-customization/mcp-servers

#### Codex (CLI, IDE extension, ChatGPT desktop app)

```sh
codex mcp add dxrating --url https://mcp.dxrating.net/mcp
```

Or add to `~/.codex/config.toml`, which the IDE extension and the ChatGPT desktop app share:

```toml
[mcp_servers.dxrating]
url = "https://mcp.dxrating.net/mcp"
```

Docs: https://learn.chatgpt.com/docs/extend/mcp

#### Gemini CLI

```sh
gemini mcp add --transport http -s user dxrating https://mcp.dxrating.net/mcp
```

Or in `~/.gemini/settings.json` use `httpUrl` (in Gemini, `url` means the old SSE transport):

```json
{
  "mcpServers": {
    "dxrating": {
      "httpUrl": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Docs: https://geminicli.com/docs/tools/mcp-server/

### Other apps

Add a remote MCP server with the URL, Streamable HTTP and no authentication. Most apps (Trae, Kiro, LM Studio, Windsurf, the JetBrains AI Assistant) take this JSON:

```json
{
  "mcpServers": {
    "dxrating": {
      "url": "https://mcp.dxrating.net/mcp"
    }
  }
}
```

Apps that only run local (stdio) servers can reach it through `mcp-remote` (needs Node.js):

```json
{
  "mcpServers": {
    "dxrating": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.dxrating.net/mcp",
        "--transport",
        "http-only"
      ]
    }
  }
}
```

## Try it

Ask in any language: English, 日本語, 简体中文, 繁體中文. Titles, aliases and nicknames all work.

- Which song is "bbb"? List its charts with their levels.
- What is the internal level of PANDORA PARADOXXX's Re:MASTER on the JP, international and CN servers?
- Which charts of level 14 have the lowest internal level on the international server?
- What rating does 100.5% on the master chart of 系ぎて give, and what do I need for 300?
- Here are my best scores: … What is my Best 50 rating, and which charts should I improve first?
- Has the internal level of PANDORA PARADOXXX's master chart changed between versions?

**Check that it works:** ask "Using DXRating, what is the internal level of the master chart of 系ぎて?" A good answer names the server and the version, and credits DXRating. If the assistant answers without calling a tool, say "use the DXRating tools".

## Tools

All tools are read-only. They read the public song catalog and cannot see or change any account.

| Tool | What it does |
|---|---|
| `search_songs` | Finds songs by title, alias, nickname, romanization or artist, with the level of each chart |
| `get_sheet` | A song and its charts: internal level now and in past versions, notes, designer, servers, tags |
| `calculate_rating` | The rating of an achievement on a chart, the achievement a rating needs, the rating of each rank |
| `calculate_best50` | A rating from pasted scores: the new 15 and old 35, and the scores worth improving |

## Data and license

- The songs, charts, aliases and tags are those of DXRating (dxrating.net), updated with each game update. Internal levels can differ by server: jp (Japan), intl (international), usa and cn. The assistant asks yours or uses jp.
- Achievements are integers in 1/10000 of a percent, in what the tools take and return: 100.7543% is `1007543`. Your assistant converts them for you.
- Ratings follow the game: Best 50 is the 15 best charts of the current version plus the 35 best of older ones. AP and AP+ add 1 to a chart's rating.
- License: [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/), for non-commercial use with credit: `Data: DXRating (https://dxrating.net), CC BY-NC 4.0`. The server asks assistants to include it.

## Limits

- 300 requests per minute per IP address. A question usually takes 1 to 4 requests.
- Over the limit, the server answers "Too many requests. Retry in N seconds." Wait that long and retry.
- Claude.ai and ChatGPT connect from their companies' servers, so their users may share a limit.
- Best 50 takes up to 300 scores per request.

## Privacy

- No account, no key, no cookies. This page loads no third-party scripts and has no analytics.
- The server only receives what your assistant sends it: the tool name and its arguments, such as a song name or the scores you pasted. It never sees your conversation, and it does not store your scores.
- For each request we log the time, the path, the status, how long it took and the request headers, which include the IP address and the User-Agent, but not the body with the tool arguments. The logs go to our monitoring provider (Sentry) and are used only to run the service and stop abuse.
- Requests pass through Cloudflare, which processes them under its own terms.

## Troubleshooting

- **"Can't connect", an SSE error, or 405:** the app may be using the old SSE transport, which this server does not support. Choose Streamable HTTP: `"type": "streamableHttp"` in Cherry Studio, `httpUrl` in Gemini CLI.
- **The app asks you to sign in:** no sign-in is needed. Choose "No sign in" or "No authentication".
- **Opening `/mcp` in a browser brings you here:** that's expected. The endpoint only takes POST requests from AI apps.
- **"still loading its song catalog":** the server restarted. Retry in a minute.
- **The tools are added but not used:** turn the connector on in the chat and say "use DXRating".

**Test without an AI:** run `npx @modelcontextprotocol/inspector`, choose Streamable HTTP and enter the URL. Or:

```sh
curl -s https://mcp.dxrating.net/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -H 'Mcp-Protocol-Version: 2025-06-18' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

## Links

- Website: https://dxrating.net
- This guide as Markdown: https://mcp.dxrating.net/index.md?lang=en · for agents: https://mcp.dxrating.net/llms.txt
- Server card: https://mcp.dxrating.net/mcp/server-card
- Source code: https://github.com/gekichumai/dxrating (apps/backend/src/services/mcp)
- Report a problem: https://github.com/gekichumai/dxrating/issues

---

Steps checked against each app's documentation in October 2026. Apps change their menus often; if a step is out of date, please [open an issue](https://github.com/gekichumai/dxrating/issues).

Other languages: [English](https://mcp.dxrating.net/index.md?lang=en) · [日本語](https://mcp.dxrating.net/index.md?lang=ja) · [简体中文](https://mcp.dxrating.net/index.md?lang=zh-Hans) · [繁體中文](https://mcp.dxrating.net/index.md?lang=zh-Hant)
