nwafu-mcp
nwafu-mcp · MCP-Werkzeugsammlung für Campus-Informationen der Northwest A&F University
Die Werkzeugsammlung stellt für Agenten, die auf beliebigen Agentenplattformen bereitgestellt werden, eine Reihe von Werkzeugen bereit, die dem MCP-Protokoll entsprechen. Sie deckt drei Kernfähigkeiten ab:
Zusammenfassung beliebter Beiträge im Campus-Kanal: Ruft die aktuell beliebten Beiträge des offiziellen QQ-Kanals der Northwest A&F University (pd.qq.com/g/inwafu1934) ab, sortiert sie nach Interaktionsrate und klassifiziert sie automatisch in Kategorien wie „Aktivitäten / Wettbewerbe / Ankündigungen / Empfehlungen / Tipps / Hilfegesuche“. Jede wichtige Information enthält Titel und Link des Quellbeitrags und ist damit nachvollziehbar.
Schnelle Suche auf der offiziellen Website: Über die Volltextindizes der offiziellen Universitätswebsite (www.nwafu.edu.cn) und des Nachrichtennetzwerks lassen sich aktuelle Aktivitäten, Wettbewerbe, Ankündigungen und Stellenausschreibungen schnell abrufen; es können Schlüsselwörter wie „Pflanzenschutzkolleg“ oder „Dekanat für Studienangelegenheiten“ übergeben werden, um den Suchbereich einzugrenzen.
Plattformübergreifende benutzerdefinierte Suche: Zerlegt Nutzerfragen automatisch in Suchbegriffe, durchsucht gleichzeitig den Volltextindex der offiziellen Website und die aktuellen Beiträge des Campus-Kanals und führt die Ergebnisse zusammen. Alle Ergebnisse werden als gut lesbares Markdown formatiert und mit Links zu den Originaltexten versehen.
Funktionen und Merkmale
MCP-Standardimplementierung: Basierend auf dem offiziellen
mcpPython SDK (FastMCP) mit stdio-Übertragung; kann direkt in Claude Desktop, Cursor, Windsurf sowie in alle MCP-fähigen Agentenplattformen integriert werden.Nachvollziehbare Informationen: Alle Ergebnis-Einträge enthalten Quellentitel und Link zum Originaltext; wichtige Informationen erscheinen in separaten Abschnitten für „Wichtige Hinweise / Aktualitätshinweise“.
Intelligente Klassifizierung: Eine Regel-Engine ordnet Kanalbeiträge automatisch Kategorien wie „Empfehlungen / Tipps / Aktivitäten / Wettbewerbe / Ankündigungen / Hilfegesuche“ zu; innerhalb der Gruppen wird nach Beliebtheit (Likes + gewichtete Kommentare) sortiert.
Präzise Stichwortsuche: Die Suche auf der offiziellen Website unterstützt beliebige Schlüsselwörter zur Eingrenzung (z. B. Fakultätsname, Abteilungsname, Sachgebiet).
Robuste Fehlertoleranz: Anforderungs-Timeout, Wiederholungen, zufällige Verzögerungen zur Ratenbegrenzung, Hinweise auf abgelaufene Cookies; ein fehlgeschlagenes Tool beeinträchtigt andere Tools nicht.
Datenschutzkonformität: Es werden nur öffentlich sichtbare Inhalte abgerufen; Anmelde- oder Berechtigungsprüfungen werden nicht umgangen. Cookies werden über Umgebungsvariablen injiziert und nicht ins Repository geschrieben.
Related MCP server: NanoSearchMCP
Werkzeugliste
Werkzeug | Verwendung | Wichtige Parameter |
| Intelligente Zusammenfassung der aktuell beliebten Beiträge des Campus-QQ-Kanals (Beliebtheitsranking + Klassifizierung + wichtige Informationen) |
|
| Schnelle Suche und Zusammenfassung der neuesten Ankündigungen/Aktivitäten/Wettbewerbe/Stellenausschreibungen auf der offiziellen Website |
|
| Volltextsuche auf der offiziellen Website (benutzerdefinierte Schlüsselwörter) |
|
| Benutzerdefinierte Fragensuche über „offizielle Website + Campus-Kanal“ |
|
Alle Werkzeuge geben Markdown-Text aus; die Struktur umfasst: Datenquelle, Abrufzeitpunkt, Abfragebedingungen, Ergebnisliste (Titel / Datum / Quelle / Zusammenfassung / Link) und wichtige Hinweise.
Funktionsweise
Campus-QQ-Kanal
Die Webversion des Tencent-Kanals ist rein clientseitig gerendert; die öffentlichen Daten stammen von einem 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 评论}Die öffentlichen Inhalte sind anonym lesbar, aber das Gateway verlangt browserbezogene Sitzungs-Cookies (p_uin + uuid + EO-Bot-Js-Token). Dieses Werkzeug:
Ruft standardmäßig die letzten N Beiträge (sortiert nach Veröffentlichungszeit) aus dem Unterforum „Beitragsbereich“ (
670126629) ab;Schätzt die Beliebtheit anhand von
点赞数 + 2 × 评论数und wählt die beliebtesten Beiträge im Zeitfenster aus;Eine Regel-Engine klassifiziert automatisch; wichtige Informationen (Ankündigungen/Bekanntmachungen/Anmeldungen/Fristen/Prüfungen usw.) werden gesondert hervorgehoben;
Optional können für Beiträge im Beliebtheitsranking die Top-Kommentare abgerufen werden (
GetFeedComments).
Hinweis: Die Schnittstelle „Beliebtheitssortierung“ von
GetGuildFeedsliefert nachweislich leere Daten. Daher verwendet das Beliebtheitsranking das Schema „aktuelle Beiträge × Interaktionsrate“, was der Bedeutung von „aktuell beliebt“ besser entspricht.
Offizielle Universitätswebsite
Die Hauptwebsite und das Nachrichtennetzwerk der Universität verwenden die Volltextsuche von 通元 CMS:
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...ist der Index der Hauptwebsite (umfasst alle Fakultäten/Abteilungen der Universität);Generiert Suchbegriffe pro Kategorie (Ankündigungen/Bekanntmachungen, Aktivitäten/Vorträge/Foren, Wettbewerbe, Stellenausschreibungen usw.), ruft nach der Kombination mit Benutzerschlüsselwörtern seitenweise ab und extrahiert Titel, Datum, Quelle, Zusammenfassung und Link zum Originaltext;
Der Zeitraum ist standardmäßig auf die letzten 90 Tage festgelegt (abgebildet auf den 3/6/12-Monats-Filter des Index).
Schnellstart (lokale Ausführung)
cd nwafu-mcp
uv sync --extra dev1. Kanal-Cookie konfigurieren (optional, nur für Kanal-Werkzeuge erforderlich)
uv run nwafu-export-cookies --out cookies.jsonDas Skript öffnet die Kanalseite mit dem lokalen Edge/Chrome, erstellt eine Sitzung und exportiert das Cookie. Anschließend wird der cookie_header aus cookies.json in eine Umgebungsvariable geschrieben:
$env:PDQQ_COOKIES = "p_uin=xxx; uuid=xxx; EO-Bot-Js-Token=xxx"
# 或
$env:NWAFU_COOKIE_FILE = "F:\path\to\cookies.json"Cookies laufen ab (das Anti-Crawling-Token ist an die Browserinstanz gebunden). Bei einer Cloud-Bereitstellung wird empfohlen, sie regelmäßig zu aktualisieren.
2. Werkzeugfunktionen direkt testen (ohne 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. Als MCP-Server ausführen
uv run nwafu-mcpAnbindung an 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 / Allgemeine Plattformen (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"
}
}
}
}Alternativ kann das Paket über pip install git+https://github.com/unielevotor/nwafu-AgentPlatformMCP installiert und dann direkt mit dem Befehl nwafu-mcp gestartet werden.
GitHub-Bereitstellungsschritte
In das GitHub-Repository (
unielevotor/nwafu-AgentPlatformMCP) pushen:
git remote add origin https://github.com/unielevotor/nwafu-AgentPlatformMCP.git
git push -u origin mainSicherstellen, dass das Repository Public ist (bei einem privaten Repository muss die Ziel-Agentenplattform auf GitHub-Anmeldeinformationen zugreifen können).
Den obigen Startbefehl
uvx --from git+...in die MCP-Konfiguration der Agentenplattform eintragen und Umgebungsvariablen wiePDQQ_COOKIESinjizieren.
Umgebungsvariablen
Variable | Erforderlich | Beschreibung |
| Für Kanal-Werkzeuge erforderlich | Browser-Sitzungs-Cookie des QQ-Kanals |
| Für Kanal-Werkzeuge erforderlich | Verweist auf das von |
| Nein | Standard |
| Nein | Unterforum-ID, Standard |
| Nein | Abstand zwischen Kanalanfragen (Sekunden), Standard 0.3–0.8 |
| Nein | Timeout pro Anforderung (Sekunden), Standard 30 |
Siehe .env.example.
Beispielausgabe (Auszug)
# 🎓 西农校园频道 · 近期热门总结
> 数据来源:西北农林科技大学官方 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/...)Konformität und Nutzungsempfehlungen
Es werden nur öffentlich sichtbare Inhalte abgerufen; Anmelde-, Zahlungs- oder Berechtigungsprüfungen werden nicht umgangen.
Es sind bereits zufällige User-Agents, zufällige Verzögerungen und Wiederholungsversuche eingebaut. Verringern Sie bei der Bereitstellung die Verzögerungen nicht für hochfrequente Abrufe und beachten Sie die Nutzungsbedingungen der Zielplattform sowie geltende Gesetze wie das „Gesetz zum Schutz personenbezogener Informationen“.
Bitte verlassen Sie sich bei wichtigen Informationen (Anmeldefristen, Prüfungspläne usw.) auf die offiziellen Originaltexte; die Werkzeugausgabe dient nur der schnellen Übersicht.
Kanal-Cookies enthalten Sitzungskennungen. Committen Sie sie niemals in ein öffentliches Repository und injizieren Sie sie unbedingt über Umgebungsvariablen.
Häufige Fragen
Symptom | Lösung |
Kanal-Werkzeug meldet „Kein Cookie konfiguriert“ | Lokal |
Kanal-Werkzeug meldet | Cookie ist abgelaufen oder Anti-Crawling-Token fehlt; erneut exportieren |
Suche auf der offiziellen Website liefert keine Ergebnisse |
|
Kein Edge/Chrome in der Cloud |
|
Verzeichnisstruktur
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