nwafu-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nwafu-mcp总结一下最近一周校园频道有什么热门活动"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
nwafu-mcp · Northwest A&F University Campus Information MCP Toolkit
Provides Agents deployed on any agent platform with a set of tools compliant with the MCP protocol, covering three core capabilities:
Campus channel hot summary: Fetches recent hot posts from the official QQ channel of Northwest A&F University (pd.qq.com/g/inwafu1934), ranks them by interaction count, and automatically categorizes them into "Activities / Competitions / Notices / Recommendations / Tips / Help" and other categories; every important item is accompanied by the source post title and link, ensuring traceability.
Official website quick query: Quickly looks up recent activities, competitions, notices, and recruitment information through the full-text indexes of the official website (www.nwafu.edu.cn) and the news network; keywords such as "College of Plant Protection" or "Academic Affairs Office" can be passed in to narrow the search scope.
Cross-site custom search: Automatically splits the user's question into search terms, searches both the official website full-text index and recent campus channel posts, then merges and outputs the results; all results are formatted as readable Markdown with links to the original sources.
Features
Standard MCP implementation: Based on the official
mcpPython SDK (FastMCP) with stdio transport, ready to connect directly to Claude Desktop, Cursor, Windsurf, and any MCP-compatible agent platform.Traceable information: Every conclusion item carries the source title and original link; important information is given a dedicated "Key Reminder / Timeliness Reminder" section.
Smart categorization: The rule engine automatically classifies channel posts into "Recommendations / Tips / Activities / Competitions / Notices / Help" and other categories, sorted within each group by popularity (likes + weighted comments).
Precise keyword search: Official website queries support any keyword to narrow the scope (e.g., college name, department name, or item name).
Robust fault tolerance: Request timeouts, retries, randomized rate-limit delays, and Cookie expiry warnings are built in; a failure of one tool does not affect other tools.
Privacy compliance: Only publicly visible content is fetched, without bypassing login/permission checks; Cookies are injected via environment variables and never written into the code repository.
Related MCP server: NanoSearchMCP
Tool List
Tool | Purpose | Key Parameters |
| Smart summary of recent hot posts on the campus QQ channel (hot ranking + categorization + key information) |
|
| Quick query and summary of recent notices/activities/competitions/recruitment on the official website |
|
| Full-text search of the official website (custom keywords) |
|
| Cross-site custom question search over "official website + campus channel" |
|
All tools output Markdown text with the structure: data source, fetch time, query conditions, result list (title / date / source / summary / link), and key reminders.
How It Works
Campus QQ Channel
The Tencent Channel web client is purely front-end rendered; its public data comes from a protobuf-over-JSON gateway:
POST https://pd.qq.com/qunng/guild/gotrpc/noauth/trpc.qchannel.commreader.ComReader/<Method>
x-oidb: {"uint32_service_type": 11 时间线 | 5 评论}Public content is anonymously readable, but the gateway requires a browser-level session Cookie
(p_uin + uuid + EO-Bot-Js-Token). This tool:
By default, pulls the latest N posts (by publish time) from the "Post Square" sub-channel (
670126629);Estimates popularity with
点赞数 + 2 × 评论数and picks the hottest posts within the window;Automatically categorizes posts with a rule engine and separately highlights important information (notices/announcements/registration/deadlines/exams, etc.);
Optionally fetches hot comments for hot-ranking posts (
GetFeedComments).
Note: The "hot sort" endpoint of
GetGuildFeedsreturned empty data in real-world testing, so the hot ranking uses the "recent posts × interaction count" approach, which better matches the meaning of "recently hot".
University Official Website
The university's main site and news network use 通元 CMS full-text search:
GET https://www.nwsuaf.edu.cn/cms/web/search/index.jsp
?query=<关键词>&siteID=<站点ID>&searchScope=0&channelID=&matchType=0
&sortField=publishDate&order=1&date=<3|6|12>&page=<页码>siteID=32e6d9be...is the main-site index (covering all colleges/departments of the university);Search terms are generated by category (notices/announcements, activities/lectures/forums, competitions/contests, recruitment, etc.), merged with user keywords, and fetched page by page, parsing title, date, source, summary, and original link;
The default time range is the recent 90 days (mapped to the index's 3/6/12-month filters).
Quick Start (Local Run)
cd nwafu-mcp
uv sync --extra dev1. Configure the Channel Cookie (Optional, Only Needed for Channel Tools)
uv run nwafu-export-cookies --out cookies.jsonThe script opens the channel page in your local Edge/Chrome to establish a session and exports the Cookie. Then
write the cookie_header from cookies.json into an environment variable:
$env:PDQQ_COOKIES = "p_uin=xxx; uuid=xxx; EO-Bot-Js-Token=xxx"
# 或
$env:NWAFU_COOKIE_FILE = "F:\path\to\cookies.json"Cookies expire (the anti-crawler token is bound to the browser instance); for cloud deployment, refresh them regularly.
2. Test the Tool Functions Directly (Without an MCP Client)
uv run python -c "
import os
os.environ['NWAFU_COOKIE_FILE'] = 'cookies.json'
from nwafu_mcp.server import official_site_recent
print(official_site_recent(category='通知', keyword='植保学院'))
"3. Run as an MCP Server
uv run nwafu-mcpConnecting to MCP Clients
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"nwafu-campus": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/unielevotor/nwafu-AgentPlatformMCP",
"nwafu-mcp"
],
"env": {
"PDQQ_COOKIES": "p_uin=xxx; uuid=xxx; EO-Bot-Js-Token=xxx"
}
}
}
}Cursor / Windsurf / General Platforms (JSON Form)
{
"mcpServers": {
"nwafu-campus": {
"command": "uvx",
"args": ["--from", "git+https://github.com/unielevotor/nwafu-AgentPlatformMCP", "nwafu-mcp"],
"env": {
"PDQQ_COOKIES": "p_uin=xxx; uuid=xxx; EO-Bot-Js-Token=xxx",
"PDQQ_GUILD_ID": "inwafu1934",
"PDQQ_CHANNEL_ID": "670126629"
}
}
}
}It can also be installed with pip install git+https://github.com/unielevotor/nwafu-AgentPlatformMCP and then
started directly with the nwafu-mcp command.
GitHub Deployment Steps
Push to the GitHub repository (
unielevotor/nwafu-AgentPlatformMCP):
git remote add origin https://github.com/unielevotor/nwafu-AgentPlatformMCP.git
git push -u origin mainMake sure the repository is Public (for a private repository, the target agent platform must be able to access GitHub credentials).
In the agent platform's MCP configuration, fill in the
uvx --from git+...startup command above and inject environment variables such asPDQQ_COOKIES.
Environment Variables
Variable | Required | Description |
| Required for channel tools | QQ channel browser session Cookie |
| Required for channel tools | Points to the JSON exported by |
| No | Channel identifier, default |
| No | Sub-channel ID, default |
| No | Channel request interval (seconds), default 0.3–0.8 |
| No | Per-request timeout (seconds), default 30 |
See .env.example.
Sample Output (Excerpt)
# 🎓 西农校园频道 · 近期热门总结
> 数据来源:西北农林科技大学官方 QQ 频道 | 时间窗口:近 72 小时 | 帖子数:48
## 🔥 热度榜
1. **中元节鬼是真的多啊…**(👍7 · 💬1 · 08-27)
来源:[中元节鬼是真的多啊](https://pd.qq.com/g/inwafu1934/post/...)
## 🏆 竞赛(2)
- **关于举办2026年创新创业大赛的通知**(👍5 · 💬2 · 08-26)
来源:[…](https://pd.qq.com/g/inwafu1934/post/...)
## ⚠️ 重点信息(建议优先查看)
- [关于选课时间安排的通知](https://pd.qq.com/g/inwafu1934/post/...)# 📢 西北农林科技大学官网 · 近期信息查询
> 查询条件:分类=通知 | 关键词=植保学院 | 时间范围:近 90 天 | 结果数:12
1. **关于举办2026年植保论坛系列学术报告会(十七)的通知**(2026-08-26 · 植物保护学院)
[查看原文](https://ppc.nwafu.edu.cn/xzbg/...)Compliance and Usage Recommendations
Only fetch publicly visible content; never bypass login, paywall, or permission checks.
Random UA, random delays, and failure retries are built in. Do not reduce the delays for high-frequency scraping when deploying, and comply with the target platform's terms of service and applicable regulations such as the Personal Information Protection Law.
For important information (registration deadlines, exam arrangements, etc.), always refer to the official source; tool output is for quick reference only.
Channel Cookies contain session identifiers; never commit them to a public repository — always inject them via environment variables.
FAQ
Symptom | Resolution |
Channel tool reports "Cookie not configured" | Run |
Channel tool reports | Cookie expired or anti-crawler token missing; re-export them |
Official website query returns empty results | Widen |
No Edge/Chrome in the cloud | Install |
Directory Structure
src/nwafu_mcp/
server.py MCP 服务器与四个工具定义
qq_channel.py QQ 频道数据层(时间线/热评)
official_site.py 官网全文检索数据层
classify.py 帖子分类与热度评分
format.py Markdown 报告排版
config.py 环境变量与默认配置
export_cookies.py 本地导出频道 Cookie 的 CLI
tests/ 单元测试
scripts/mcp_smoke.py 端到端 MCP 冒烟测试(连接 stdio server 并调用全部工具)Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenancecc98-mcp enables AI assistants to search, read, and aggregate posts from the Zhejiang University campus forum CC98, using official read-only API tools.101MIT
- FlicenseNot gradedqualityCmaintenanceProvides web search, page fetching, and A-stock data access (financial reports, announcements, research reports, penalties, IR meetings) via MCP tools.1
- FlicenseNot gradedqualityBmaintenanceMCP server that aggregates department notices and provides structured answers to queries about courses, schedules, and academic dates via tool calling.
- FlicenseAqualityCmaintenanceEnables interaction with Zhejiang University's learning platform (学在浙大 / 智云课堂) via MCP tools, allowing natural language commands to check todos, view schedules, fetch lecture transcripts, and submit homework.73
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Search Hacker News, Bluesky, and Substack from a single MCP interface
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/unielevotor/nwafu-AgentPlatformMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server