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 分