
How to add Bilibili MCP to Windsurf
MCP server to search Bilibili videos and fetch trending lists, video details, UP-host info, and anime schedules. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 174★ · stdio · no auth
Windsurf config for Bilibili MCP
npx bilibili-mcp-js{
"mcpServers": {
"bilibili-mcp": {
"command": "npx",
"args": [
"bilibili-mcp-js"
]
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Bilibili MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Bilibili MCP's tools become available to Cascade.
Before you start
- Node.js >= 20.12.0
What Bilibili MCP can do in Windsurf
search-videoSearch Bilibili video content and return a list of video summaries.
get-trendingGet Bilibili trending content: overall hot, must-watch (入站必刷), rankings, and full-site music chart.
get-video-detailGet detailed information for a Bilibili video (supports BV number or AV number).
get-up-infoGet UP-host (creator) information such as basic profile, follower count, and following count.
get-anime-scheduleGet the anime broadcast schedule (timetable of airing anime within a time range).
Bilibili MCP + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Bilibili MCP config there under the "mcpServers" key and restart the client.
How do I run it without installing?
Use the npm package via npx: configure an mcpServers entry with command "npx" and args ["bilibili-mcp-js"]. The package was published by the community contributor HQHC.
Can I run it locally from source?
Yes. Run npm run build, then point the config args at your built file, e.g. command "node" and args ["d:\\your-path\\bilibili-mcp-js\\dist\\index.js"].
Does it support a remote/HTTP transport?
Yes. The server defaults to stdio, but you can start it in streamable HTTP mode with TRANSPORT=remote (optionally setting PORT), e.g. TRANSPORT=remote npm run start.