Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"osu": {
"env": {
"OSU_CLIENT_ID": "12345",
"OSU_CLIENT_SECRET": "your-client-secret"
},
"args": [
"osu-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
osu-mcp is a Model Context Protocol (MCP) server that exposes the osu! API v2 as tools for Claude Desktop and other MCP clients. Ask Claude about your osu! profile, compare players, search beatmaps, browse rankings — all in natural language.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'osu-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked osu-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
97% token reduction for AI coding sessions — zero deps, 21 languages, MCP server
Autonomous spec-to-product coding-agent CLI with an MCP server exposing 34 tools over stdio.
MCP Security Weekly
Get CVE alerts and security updates for io.github.Osyanne/osu-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
osu-mcp is a Model Context Protocol (MCP) server that exposes the osu! API v2 as tools for Claude Desktop and other MCP clients. Ask Claude about your osu! profile, compare players, search beatmaps, browse rankings — all in natural language.
uv tool install osu-mcp
# or
pip install osu-mcp
Option A — environment variables (recommended):
export OSU_CLIENT_ID=12345
export OSU_CLIENT_SECRET=your-client-secret
Option B — config file at ~/.config/osu-mcp/config.toml (Linux/Mac) or %APPDATA%\osu-mcp\config.toml (Windows):
client_id = 12345
client_secret = "your-client-secret"
Add to claude_desktop_config.json:
{
"mcpServers": {
"osu": {
"command": "uvx",
"args": ["osu-mcp"],
"env": {
"OSU_CLIENT_ID": "12345",
"OSU_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Restart Claude Desktop. You should see "osu" in the MCP servers list.
| Tool | Description |
|---|---|
get_user_summary | Profile + stats; optionally embed recent/best/firsts scores |
compare_users | Side-by-side comparison of 2-5 users |
get_user_scores | List a user's best/recent/firsts scores |
get_score_details | Full attributes of a specific score |
search_beatmaps | Search beatmapsets with filters (mode, status, difficulty, length, BPM) |
get_beatmap_details | Full attributes of a beatmap (AR/OD/CS/HP, BPM, max combo) |
get_beatmap_scores | Top scores on a beatmap, filterable by mods |
get_beatmapset | Full beatmapset with all difficulties |
get_rankings | pp/score/charts rankings, global or by country |
get_country_top | Top N players of a country in pp ranking |
get_news_posts | Recent osu! news posts |
get_seasonal_backgrounds | Active seasonal backgrounds |
Full reference: docs/tools.md.
In Claude Desktop, try:
"Show me peppy's osu! stats"
"Compare Cookiezi and WhiteCat on accuracy and pp"
"What are the top 10 osu! players from Ecuador?"
"Find me some 200 BPM streamy ranked maps"
git clone https://github.com/Osyanne/osu-mcp.git
cd osu-mcp
uv sync
uv run pytest # unit + smoke
uv run pytest -m integration # integration (needs real creds)
uv run ruff check .
uv run mypy --strict src/
MIT — see LICENSE.