yixiaowang2001/nga-mcp-server
3.3
If you are the rightful owner of nga-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
NGA MCP Server is a Playwright-based server for the NGA gaming forum, focusing on data retrieval and supporting operations like post content crawling, board post fetching, and board browsing.
Tools
4
Resources
0
Prompts
0
NGA MCP Server
基于Playwright的NGA游戏论坛MCP Server,专注于数据获取,支持帖子内容爬取、板块帖子获取和板块浏览等操作。
Demo with Cursor
工具列表
- crawl_post: 爬取帖子完整内容,包括标题、正文和所有回复评论
- list_posts: 抓取板块/板面/合集列表页的帖子,获取热门讨论话题
- get_board_structure: 获取NGA论坛板块分类结构,了解整体布局
- get_board_links: 根据板块名称或类别名称返回板块信息,支持模糊匹配
自动处理多页帖子、跳过中间页面、智能去重排序,确保数据完整性。
环境要求
- Python 3.8+
- pip 包管理器
使用方法
- clone 本项目
git clone <repository-url>
cd nga-mcp-server
- 使用 pip 安装依赖
pip install -r requirements.txt
playwright install chromium
- 生成或更新板块索引(首次使用)
python boards_index_tool.py
- 在任意 mcp client 中配置本 Server
{
"mcpServers": {
"nga": {
"command": "python",
"args": ["/your-project-path/nga-mcp-server/nga_mcp_server.py"]
}
}
}
- 在 client 中使用
快速测试
使用 MCP Inspector 进行测试:
# 安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector
# 启动测试
mcp-inspector -- python nga_mcp_server.py
使用示例
获取板块结构
{}
查找板块
{
"name": "魔兽世界",
"topk": 3
}
获取帖子列表
{
"url": "https://bbs.nga.cn/thread.php?fid=178",
"topk": 20
}
爬取帖子内容
{
"url": "https://bbs.nga.cn/read.php?tid=12345678",
"topk": 50
}
配置Cookies
如果需要访问需要登录的板块,需要配置用户cookies:
python cookies_tool.py
按照提示在浏览器中登录,然后回到终端按回车即可自动保存cookies。
环境变量
HEADLESS
: 是否无头模式,默认为true
,可设为false
观察浏览器行为NGA_INDEX_PATH
: 板块索引文件路径,默认为boards_index.json
NGA_COOKIES_PATH
: Cookies文件路径,默认为nga_cookies.json
注意事项
- 板块索引: 首次使用前需运行
boards_index_tool.py
生成板块索引 - Cookies: 访问需要登录的板块需要有效的用户cookies
- 网络环境: 确保网络连接稳定,大型帖子可能需要较长处理时间
- 请求频率: 已添加请求延迟,避免触发反爬机制
故障排除
-
索引文件不存在: 板块查询失败
- 解决方案:运行
python boards_index_tool.py
生成索引
- 解决方案:运行
-
访问权限不足: 某些板块需要登录
- 解决方案:运行
python cookies_tool.py
保存登录状态
- 解决方案:运行
-
Playwright错误: 浏览器启动失败
- 解决方案:运行
playwright install chromium
安装浏览器
- 解决方案:运行
-
帖子抓取超时: 大型帖子处理时间过长
- 解决方案:设置环境变量调整超时时间或减少topk数量
项目结构
nga-mcp-server/
├── nga_mcp_server.py # MCP服务器主文件
├── nga_client.py # NGA爬虫客户端
├── boards_index_tool.py # 板块索引构建工具
├── cookies_tool.py # Cookies管理工具
├── boards_index.json # 板块索引文件
├── nga_cookies.json # 用户cookies配置
├── requirements.txt # 依赖包
└── README.md # 项目说明