osu! MCP

io.github.Osyanne由 GitHub 帳號 Osyanne 發布v0.1.4更新於 Oct 24, 2026

MCP server exposing the osu! API v2: player stats, scores, beatmap search, rankings.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

一個本機 MCP 伺服器,封裝 osu! API v2,讓助理以自然語言查詢玩家資料、成績、圖譜、排名與新聞。

可以做什麼
查詢玩家個人資料與統計數據,並針對 2 至 5 名玩家在準確率、pp 等指標上並排比較。列出玩家的最佳、最近或首次成績,並取得某筆成績的完整屬性。依模式、狀態、難度、長度與 BPM 搜尋圖譜集,取得圖譜或圖譜集的完整資訊,包括 AR/OD/CS/HP、BPM 與最大連擊。查看某張圖譜上的最高成績,可依 mod 篩選。瀏覽全球或依國家劃分的 pp、分數與圖表排名,並列出某國的頂尖玩家。讀取最近的 osu! 新聞與目前季節性背景。
適用情境
適合想詢問 osu! 玩家狀況、比較玩家表現、依 BPM 或難度等條件尋找圖譜,或在聊天用戶端內直接查看排名與新聞的情境。
執行需求
以 Python 套件(osu-mcp)透過 uv 或 pip 安裝於本機,需在 Claude Desktop 等桌面 MCP 用戶端中使用。需要 osu! OAuth 應用程式的 Client ID 與 Client Secret,透過 OSU_CLIENT_ID 與 OSU_CLIENT_SECRET 環境變數或本機設定檔提供。需要連線至 osu! API 的網路存取。
安裝前請注意
需要 osu! OAuth 的 Client Secret(OSU_CLIENT_SECRET);README 建議放入環境變數或明文設定檔,應避免寫入共用設定或提交至版本控制。僅對公開的 osu! 資料進行唯讀查詢,不涉及寫入、付款或錢包私鑰。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 osu! MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

osu-mcp

[PyPI] [Tests] [Coverage] [License: MIT]

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.

Quickstart

1. Install

bash
uv tool install osu-mcp# orpip install osu-mcp

2. Get osu! API credentials

  1. Go to https://osu.ppy.sh/home/account/edit
  2. Scroll to OAuth, click New OAuth Application
  3. Name: anything (e.g., "Claude Desktop"); Callback URL: leave blank.
  4. Copy the Client ID and Client Secret.

3. Configure credentials

Option A — environment variables (recommended):

bash
export OSU_CLIENT_ID=12345export 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):

toml
client_id = 12345client_secret = "your-client-secret"

4. Wire up Claude Desktop

Add to claude_desktop_config.json:

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.

Available tools (12)

ToolDescription
get_user_summaryProfile + stats; optionally embed recent/best/firsts scores
compare_usersSide-by-side comparison of 2-5 users
get_user_scoresList a user's best/recent/firsts scores
get_score_detailsFull attributes of a specific score
search_beatmapsSearch beatmapsets with filters (mode, status, difficulty, length, BPM)
get_beatmap_detailsFull attributes of a beatmap (AR/OD/CS/HP, BPM, max combo)
get_beatmap_scoresTop scores on a beatmap, filterable by mods
get_beatmapsetFull beatmapset with all difficulties
get_rankingspp/score/charts rankings, global or by country
get_country_topTop N players of a country in pp ranking
get_news_postsRecent osu! news posts
get_seasonal_backgroundsActive seasonal backgrounds

Full reference: docs/tools.md.

Examples

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"

Development

bash
git clone https://github.com/Osyanne/osu-mcp.gitcd osu-mcpuv syncuv run pytest                      # unit + smokeuv run pytest -m integration       # integration (needs real creds)uv run ruff check .uv run mypy --strict src/

License

MIT — see LICENSE.

來源:README.md,提交 5ffcf1b

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分