Penguin Statistics MCP Server
For AI agents: this page is at https://mcp.penguin-stats.io/index.md?lang=en as Markdown, and the setup steps for agents are at https://mcp.penguin-stats.io/llms.txt.
Arknights drop rates for your AI assistant. Penguin Statistics (penguin-stats.io) counts the drops players report for every stage on the CN, US, JP and KR servers. Connect this server and Claude, ChatGPT, Cursor, VS Code, Cherry Studio and other AI apps can look the numbers up for you.
MCP (Model Context Protocol) is the standard way AI apps connect to outside tools.
Free · No account · No API key · Read-only
Server URL https://mcp.penguin-stats.io/mcp
| Transport | Streamable HTTP (not SSE) |
|---|---|
| Authentication | None. If your app asks, choose "No authentication" or "No sign in". |
| Suggested name | penguin-stats |
Use the URL exactly as shown, ending in /mcp. This page (https://mcp.penguin-stats.io/) is the guide, not the server.
One click: Add to Claude Add to Cursor Add to VS Code Add to Cherry Studio
These open your app with the server filled in. You still review and confirm.
Let your agent set it up
Paste this into Claude Code, Codex, Cursor or another coding agent:
Add the Penguin Statistics MCP server to this agent: URL https://mcp.penguin-stats.io/mcp, transport Streamable HTTP, no authentication. Follow the steps for this client in https://mcp.penguin-stats.io/llms.txt, add it at user (global) scope, then list its tools to confirm it works.
Install
Chat apps
Claude (claude.ai, Claude Desktop, Claude mobile)
- Open Add to Claude, or go to Customize → Connectors → + Add → Add custom connector.
- Name:
Penguin Statistics. Remote MCP server URL:https://mcp.penguin-stats.io/mcp. Click Continue. - Under Authentication choose No sign in, then Add.
- In a chat, click + → Connectors and turn on Penguin Statistics.
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. Claude Code signed in with the same account can use it too.
Docs: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp
ChatGPT (web)
- Go to https://chatgpt.com/plugins, click +, then Add custom MCP server.
- Name
Penguin Statistics, Server URLhttps://mcp.penguin-stats.io/mcp. - Authentication: No authentication. Read the warning, click I understand and want to continue, then Create as a plugin.
- Install the plugin. In a chat, type @ and choose Penguin Statistics.
Availability depends on your plan and workspace settings. The ChatGPT desktop app uses the Codex settings: see Codex below.
Docs: https://developers.openai.com/api/docs/guides/custom-mcp-server
Cherry Studio
One click: Add to Cherry Studio. It needs a recent version, and the server arrives switched off: review it, then turn it on. If nothing happens, add it by hand.
By hand: Settings → MCP → MCP Servers → Add → Import from JSON, and paste:
{"mcpServers":{"penguin-stats":{"type":"streamableHttp","url":"https://mcp.penguin-stats.io/mcp"}}}
Keep "type": "streamableHttp". Without it Cherry Studio uses the old SSE transport, and the connection fails.
Then enable the server for your agent (Work → Agent → Edit → MCP; the menus may differ in your version).
Docs: https://docs.cherryai.com.cn/advanced-basic/extensions/mcp
Coding tools
Claude Code
Recommended: the plugin, which adds the server and the skill (see Plugin and skill below):
claude plugin marketplace add penguin-statistics/agent-skills
claude plugin install penguin-stats@penguin-statistics
Or the server alone:
claude mcp add --transport http --scope user penguin-stats https://mcp.penguin-stats.io/mcp
Check with claude mcp list or /mcp. In a project .mcp.json, keep "type": "http":
{"mcpServers":{"penguin-stats":{"type":"http","url":"https://mcp.penguin-stats.io/mcp"}}}
Cursor
Add to Cursor, or add this to ~/.cursor/mcp.json:
{"mcpServers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}}
VS Code (GitHub Copilot)
Add to VS Code · VS Code Insiders
Or run MCP: Add Server from the Command Palette, choose HTTP (HTTP or Server-Sent Events), paste the URL, enter penguin-stats as the server ID, then select Global and, when prompted, Copilot Global. This saves the server in ~/.copilot/mcp-config.json ($COPILOT_HOME/mcp-config.json if COPILOT_HOME is set), which you can also edit by hand. Its top-level key is mcpServers:
{"mcpServers":{"penguin-stats":{"type":"http","url":"https://mcp.penguin-stats.io/mcp"}}}
Or run this, which adds the server to your user-profile mcp.json:
code --add-mcp '{"name":"penguin-stats","type":"http","url":"https://mcp.penguin-stats.io/mcp"}'
.vscode/mcp.json and the user-profile mcp.json, kept for compatibility, use the VS Code format: the top-level key is servers, not mcpServers:
{"servers":{"penguin-stats":{"type":"http","url":"https://mcp.penguin-stats.io/mcp"}}}
Docs: https://code.visualstudio.com/docs/agent-customization/mcp-servers
Codex (CLI, IDE extension, ChatGPT desktop app)
codex mcp add penguin-stats --url https://mcp.penguin-stats.io/mcp
Or add to ~/.codex/config.toml:
[mcp_servers.penguin-stats]
url = "https://mcp.penguin-stats.io/mcp"
The IDE extension and the ChatGPT desktop app share this file. In their UI: Settings → MCP servers → Add server → Streamable HTTP, paste the URL, Save, then Restart.
Gemini CLI
gemini mcp add --transport http -s user penguin-stats https://mcp.penguin-stats.io/mcp
Or in ~/.gemini/settings.json use httpUrl (in Gemini, url means the old SSE transport):
{"mcpServers":{"penguin-stats":{"httpUrl":"https://mcp.penguin-stats.io/mcp"}}}
Trae
Settings → MCP → Add → Create Manually, paste the following, then Confirm:
{"mcpServers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}}
Cline
MCP Servers → Remote Servers: name penguin-stats, the URL, Transport Type Streamable HTTP → Add Server. In cline_mcp_settings.json set the type explicitly (the default is SSE):
{"mcpServers":{"penguin-stats":{"type":"streamableHttp","url":"https://mcp.penguin-stats.io/mcp"}}}
CLI: cline mcp add penguin-stats https://mcp.penguin-stats.io/mcp --transport http --yes
Other apps
| App | Where | What to add |
|---|---|---|
| GitHub Copilot CLI | shell | copilot mcp add --transport http penguin-stats https://mcp.penguin-stats.io/mcp |
| Windsurf / Devin Desktop (Cascade agent) | mcp_config.json | {"mcpServers":{"penguin-stats":{"serverUrl":"https://mcp.penguin-stats.io/mcp"}}} (serverUrl or url) |
| Devin CLI, Devin Desktop (Devin Local agent) | shell | devin mcp add -s user penguin-stats https://mcp.penguin-stats.io/mcp |
| Zed | settings.json | {"context_servers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}} |
| JetBrains AI Assistant | Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add → HTTP | {"mcpServers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}} |
| LM Studio 0.3.17+ | Add to LM Studio, or Program → Install → Edit mcp.json | {"mcpServers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}} |
| opencode | opencode.json | {"mcp":{"penguin-stats":{"type":"remote","url":"https://mcp.penguin-stats.io/mcp","enabled":true}}} |
| Kiro | ~/.kiro/settings/mcp.json | {"mcpServers":{"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}}} |
| Goose | Add to Goose, or goose configure → Remote Extension (Streamable HTTP) | the URL |
| Warp | Settings → Agents → MCP servers → + Add | {"penguin-stats":{"url":"https://mcp.penguin-stats.io/mcp"}} |
| Raycast (Pro) | "Install MCP Server" command → Transport HTTP | the URL |
| Several apps at once (Node.js) | shell | npx -y add-mcp https://mcp.penguin-stats.io/mcp --name penguin-stats -g |
| Anything else | Remote MCP server, Streamable HTTP, the URL, no authentication | |
| Apps that only run local (stdio) servers | config | {"mcpServers":{"penguin-stats":{"command":"npx","args":["-y","mcp-remote","https://mcp.penguin-stats.io/mcp","--transport","http-only"]}}} (needs Node.js) |
Try it
Ask in any language: 中文, English, 日本語, 한국어. Names, nicknames and pinyin all work.
- Where should I farm Orirock Cube on the US (global) server? Top 3 stages by sanity per item.
- What does 1-7 drop on CN, and at what rates?
- Which events are open on CN right now, and what do their stages drop?
- Compare the best stages for Device on CN and US.
- When was the JP data last updated?
- Write a Python script that prints the 3 CN stages with the highest Orirock Cube drop rate, with the data time and the credit line.
Check that it works: ask "Using Penguin Statistics, where is Orirock Cube cheapest to farm on CN?" A good answer names the server, says when the data is from, and credits Penguin Statistics. If the assistant answers without calling a tool, say "use the Penguin Statistics tools".
Plugin and skill (optional)
The MCP server gives your assistant the data. The penguin-stats-api skill teaches it to use the data well: name the server, prefer large samples, give the data time and the credit, and write correct code against the REST API. The plugin installs both.
- Claude Code:
/plugin marketplace add penguin-statistics/agent-skills, then/plugin install penguin-stats@penguin-statistics - Claude (web, desktop): Customize → Plugins → Add → Add marketplace →
penguin-statistics/agent-skills, select Penguin Statistics and click Add, then on the plugin's Connectors tab add the server and connect it (no sign-in; on Team and Enterprise plans an Owner adds the connector) - Codex:
codex plugin marketplace add penguin-statistics/agent-skills, thencodex plugin add penguin-stats@penguin-statistics - Gemini CLI:
gemini extensions install https://github.com/penguin-statistics/agent-skills - VS Code: Chat: Install Plugin From Source →
https://github.com/penguin-statistics/agent-skills(withchat.plugins.enabledon) - Skill only, any agent:
npx skills add penguin-statistics/agent-skills
If you added the server by hand before: Claude and Claude Code treat it and the plugin's server as one, so keep it. In the other apps, remove the entry you added, or the tools may load twice. Source: https://github.com/penguin-statistics/agent-skills
Tools
All tools are read-only. They cannot change anything or submit drop reports.
| Tool | What it does |
|---|---|
search_items | Finds items by name in zh, en, ja or ko, by nickname (狗粮, 石头), pinyin or ID |
search_stages | Finds stages by code (1-7, S2-12), stage ID, or chapter or event name |
get_item_drop_rates | Where to farm an item on a server: runs, drop rate, sanity per item |
get_stage_drops | What a stage drops, with each item's rate |
list_events | Events open or upcoming on a server, with their stages |
get_dataset_info | What the numbers mean, how fresh each server's data is, caveats, license and credit |
Data and license
- Players report their drops. The numbers are counted per server: CN, US (the global English server), JP and KR. Each answer includes when the data was calculated.
- Drop rate = quantity ÷ runs. It can exceed 100%. Rates from fewer than 100 runs are noisy.
- License: CC BY-NC 4.0, for non-commercial use with credit:
Data: Penguin Statistics (penguin-stats.io), CC BY-NC 4.0. The server asks assistants to include it.
Limits
- 120 requests per minute per IP address (IPv6: per /64). A question usually takes 2 to 4 requests.
- Over the limit, the server answers "rate limited, retry after N s". Wait that long and retry.
- Claude.ai and ChatGPT connect from their companies' servers, so their users may share a limit. If you see this message there, wait a minute.
Privacy
- No account, no key, no cookies. This page loads no scripts from other sites and has no analytics.
- The server only receives what your assistant sends it: the tool name and its arguments, such as an item name. It never sees your conversation.
- For each request we log the time, the IP address (with the country, city and network it belongs to), the User-Agent, the MCP client's name and version, the method and tool name, the result and how long it took. We do not log tool arguments, but when a call fails, the logged error message can quote the argument that was wrong, such as an unknown item name.
- Logs are kept for 15 days by our monitoring provider (Datadog), then deleted. We use them only to run the service, stop abuse and count which tools and clients are used. Nothing is sold or shared for advertising.
- 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 and Cline,httpUrlin Gemini CLI. In these apps aurlalone means SSE. - The server doesn't appear in VS Code: the top-level key is
mcpServersin~/.copilot/mcp-config.jsonand a workspace.mcp.json, butserversin.vscode/mcp.jsonand the user-profilemcp.json. - The app asks you to sign in: no sign-in is needed. Choose "No sign in" or "No authentication".
- Opening
/mcpin a browser brings you here: that's expected. The endpoint only takes POST requests from AI apps. - "rate limited": see Limits.
- The tools are added but not used: turn the connector on in the chat (Claude: + → Connectors; ChatGPT: type @; Cherry Studio: enable MCP for the agent) and say "use Penguin Statistics".
- The numbers differ from the website: check the server (CN is the default) and the time range, and ask the assistant which server and data time it used.
- From mainland China: there is no .cn mirror of this server yet. Local apps may be slow or fail to connect; Claude and ChatGPT connect from their own servers and are not affected.
Test without an AI: run npx @modelcontextprotocol/inspector, choose Streamable HTTP, enter the URL, Connect, List Tools. Or:
curl -s https://mcp.penguin-stats.io/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://penguin-stats.io
- REST API docs: https://developer.penguin-stats.io/public-api · OpenAPI: https://penguin-stats.io/swagger/doc.json
- This guide as Markdown: https://mcp.penguin-stats.io/index.md?lang=en · for agents: https://mcp.penguin-stats.io/llms.txt · site guide: https://penguin-stats.io/llms.txt
- Server card: https://mcp.penguin-stats.io/mcp/server-card
- Source code: https://github.com/penguin-statistics/backend-next (internal/controller/mcp)
- Report a problem: https://github.com/penguin-statistics/backend-next/issues