Bunpro MCP Server

io.github.Alexxanddr由 GitHub 帳號 Alexxanddr 發布v0.3.0更新於 Oct 30, 2026

Read-only access to Bunpro profile, reviews, study statistics, vocabulary, and search.

已驗證STDIO僅桌面效率與工作流知識與記憶

概覽

AI 產生的概覽

唯讀 MCP 伺服器,讓助理查看你的 Bunpro 日語學習資料、複習佇列、預測、SRS 進度、單字與搜尋結果。

可以做什麼
  • 讀取個人檔案、假名標音設定、到期項目、複習佇列與唯讀測驗佇列
  • 查看學習統計、JLPT 進度、每日與每小時預測、SRS 總覽與等級明細、複習活動及上次工作階段正確率
  • 依學習次數與歷史正確率排序較弱的文法與單字
  • 依 slug 或 ID 查詢單字、其筆記與相鄰詞條,以及牌組學習內容和討論主題回覆
  • 以精簡結果搜尋 Bunpro 文法與單字
適用情境
適合用 Bunpro 學日語、希望助理彙整複習量、預測、SRS 等級、JLPT 進度與弱點,或直接查詢文法與單字細節而不必開啟網站的人。它為唯讀,無法送出複習或變更帳號。
執行需求
需要 Bunpro 帳號與目前的前端 bearer token,透過環境變數 BUNPRO_API_TOKEN 提供,且不含 Bearer 前綴。透過 npx 或原始碼執行時需 Node.js 22 或更新版本,以及支援本機 stdio 伺服器的 MCP 用戶端。另有選用的 BUNPRO_API_BASE_URL 覆寫設定,主要用於測試。
安裝前請注意
BUNPRO_API_TOKEN 等同密碼,需從瀏覽器請求標頭取得;不要寫入 shell 歷史、提交、issue 或截圖,建議使用用戶端的環境設定。此伺服器依賴 Bunpro 非官方、逆向工程的前端 API,可能隨時變更,且與 Bunpro 無隸屬關係。選用的 API 基礎位址覆寫設定會收到該 token,只應指向可信任位址。所有工具皆為唯讀。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Bunpro MCP

A read-only Model Context Protocol server that lets MCP clients work with your Bunpro profile, review queue, forecasts, SRS progress, vocabulary, learning content, and search.

[!WARNING] This project uses Bunpro's unofficial, reverse-engineered frontend API. It may change without notice. This project is not affiliated with or endorsed by Bunpro.

What you can do

  • Ask for your profile, due count, review queue, or current quiz questions.
  • Inspect JLPT progress, SRS levels, forecasts, activity, and last-session accuracy.
  • Search Bunpro grammar and vocabulary with compact results.
  • Retrieve vocabulary details and notes, deck learning content, or topic replies.

The server exposes no account-changing, review-submission, or deletion tools.

Requirements

  • A Bunpro account and a current frontend bearer token.
  • Node.js 22 or newer when running from source or through npx.
  • An MCP client that supports local stdio servers.

Get your Bunpro token

  1. Sign in to Bunpro in your browser.
  2. Open the browser developer tools and select Network.
  3. Select a request to https://api.bunpro.jp/api/frontend/....
  4. Copy the Authorization request header value without the Bearer prefix.

Treat this token like a password. Do not commit it, paste it into issues, or expose it in screenshots.

Configure an MCP client

Install and launch the published package directly from your MCP client:

json
{  "mcpServers": {    "bunpro": {      "command": "npx",      "args": ["-y", "bunpro-mcp-server"],      "env": { "BUNPRO_API_TOKEN": "your-token" }    }  }}

For local development, build the repository and configure the client with an absolute path:

json
{  "mcpServers": {    "bunpro": {      "command": "node",      "args": ["/absolute/path/to/bunpro-mcp-server/dist/index.js"],      "env": { "BUNPRO_API_TOKEN": "your-token" }    }  }}

Restart the MCP client after changing its configuration or rebuilding the server.

Run locally

bash
npm cinpm run buildBUNPRO_API_TOKEN='your-token' node dist/index.js

The last command starts an MCP stdio process and waits for protocol messages; it has no interactive prompt. Prefer the MCP client's environment configuration so the token does not enter shell history.

Example requests

  • “Show my Bunpro profile.”
  • “How many reviews are due?”
  • “Show my hourly review forecast.”
  • “Search Bunpro vocabulary for 日本語.”
  • “What was my last review-session accuracy?”

Available tools

ToolPurpose
get_userGet the current user profile.
get_user_furiganaGet furigana settings.
get_dueGet items currently due.
get_queueGet the current review queue.
get_quiz_questionsGet the current read-only quiz queue.
get_base_statsGet base study statistics.
get_jlpt_progressGet mixed JLPT progress.
get_daily_forecastGet the daily review forecast.
get_hourly_forecastGet the hourly review forecast.
get_srs_overviewGet the SRS level overview.
get_review_activityGet daily or hourly review activity.
get_last_sessionGet last-session accuracy.
get_weak_itemsRank weak grammar and vocabulary using study count and accuracy.
get_vocabGet vocabulary by slug or ID.
get_vocab_notesGet notes for vocabulary.
get_vocab_neighborsGet adjacent vocabulary in a deck.
get_learning_contentGet learning content for a deck.
get_topic_repliesGet replies for a Bunpro discussion topic.
get_srs_level_detailsGet paginated SRS-level details.
get_self_study_srs_detailsGet paginated self-study SRS details.
get_ghost_srs_detailsGet ghost-review SRS details.
searchSearch grammar and vocabulary with compact results.

Exact inputs, outputs, defaults, and errors are in MCP contracts.

Configuration

VariableRequiredDescription
BUNPRO_API_TOKENYesFrontend bearer token without the Bearer prefix.
BUNPRO_API_BASE_URLNoAPI override mainly for tests. It receives the token; use only a trusted URL.

Development

bash
npm cinpm run check

Authenticated live checks are separate:

bash
cp .env.example .env# Edit .env locally, then:npm run test:live

The live suite is read-only and .env is ignored. See Testing and Contributing.

Troubleshooting

  • BUNPRO_API_TOKEN is required: provide it in the MCP client configuration and restart the client.
  • Bunpro API 401 or 403: obtain a fresh token and omit the Bearer prefix.
  • Tool list did not change after rebuilding: restart the MCP client.
  • 404 or 5xx from Bunpro: the unofficial endpoint may have changed; run live tests and open a sanitized issue.
  • No output when launched in a terminal: expected; stdio is waiting for an MCP host.

Architecture and limitations

The server is a local stdio package using the official TypeScript MCP SDK. Most outputs pass through Bunpro's JSON, so upstream shape changes are possible. It currently provides tools only—no resources, prompts, hosted HTTP endpoint, browser login, or OAuth flow.

Read Architecture, Technical security, and the community API reference.

Releases and distribution

The npm package is published as bunpro-mcp-server and can be launched with npx -y bunpro-mcp-server. Release metadata is also prepared for the official MCP Registry through server.json.

Releases use Semantic Versioning and GitHub Releases. The release tag must match v<package version>; GitHub Actions then tests, publishes through tokenless npm Trusted Publishing, and registers the same version in the official MCP Registry. See Publishing.

A future hosted streamable-HTTP server could reduce installation friction, but it first needs secure per-user authentication and token storage. Local stdio keeps the current bearer token on the user's machine.

Security, contributions, and license

Read SECURITY.md before reporting a vulnerability. Contributions follow CONTRIBUTING.md. Never include credentials or personal Bunpro responses in a report.

Licensed under the existing MIT License. Downstream users must also comply with Bunpro's applicable terms and policies.

來源:README.md,提交 52f0818

工具

22

get_user

Get the current Bunpro user profile

無需輸入參數。

get_user_furigana

Get the current furigana settings

無需輸入參數。

get_due

Get items currently due for review

無需輸入參數。

get_queue

Get the current review queue

無需輸入參數。

get_base_stats

Get base study statistics

無需輸入參數。

get_jlpt_progress

Get JLPT progress

無需輸入參數。

get_daily_forecast

Get the daily review forecast

無需輸入參數。

get_hourly_forecast

Get the hourly review forecast

無需輸入參數。

get_srs_overview

Get the SRS level overview

無需輸入參數。

get_quiz_questions

Get the current read-only Bunpro quiz queue

無需輸入參數。

get_review_activity

Get daily or hourly review activity statistics

輸入參數period

get_last_session

Get the accuracy percentage from the last review session

無需輸入參數。

get_weak_items

Rank weak grammar and vocabulary using study count and historical accuracy

輸入參數limit

get_vocab

Get a vocabulary item by slug or ID

輸入參數vocab必填

get_vocab_notes

Get notes for a vocabulary item by slug or ID

輸入參數vocab必填

get_vocab_neighbors

Get the previous and next vocabulary items in a deck

輸入參數deck_id必填vocab_id必填

get_learning_content

Get learning content for a Bunpro deck

輸入參數deck_id必填

get_topic_replies

Get replies for a Bunpro discourse topic

輸入參數id必填page

get_srs_level_details

Get paginated details for an SRS level and reviewable type

輸入參數pagelevel必填reviewable_type必填

get_self_study_srs_details

Get paginated self-study SRS details

輸入參數pagereviewable_type必填

get_ghost_srs_details

Get ghost-review SRS details

輸入參數reviewable_type必填

版本歷史

1
  1. v0.3.0最新Oct 22, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分