An MCP server to interact with Piazza courses, analyze posts, and extract attachments for AI agents.
Project description
Piazza MCP 服务器 (Piazza MCP Server)
这是一个基于模型上下文协议 (Model Context Protocol, MCP) 的服务器,它使用非官方的 piazza-api Python 库与 Piazza 进行集成。该服务器允许 AI 助手(如 Claude、Cursor 和 VS Code 扩展)安全地访问你的 Piazza 课程数据并进行交互。
功能特性
该服务器向 AI 助手暴露了以下 MCP 工具:
get_user_profile(): 获取当前 Piazza 用户的个人资料信息。get_user_classes(): 获取当前用户加入的所有课程及其课程网络 ID。get_post(network_id, post_id): 通过帖子 ID (CID) 检索指定课程网络 (network_id) 中的特定帖子,并自动将其内容(包含老师和学生的答案、跟进讨论)整理总结为结构化并且脱去庞杂 HTML 标签的整洁 Markdown。read_attachment(url): 利用服务器当前的认证会话直接抓取帖子中的链接地址,自动下载提取课件文件 (PDF, PPTX, DOCX, TXT) 内的结构化正文文本,方便直接审阅。search_posts(network_id, query): 使用文本查询在指定课程网络 (network_id) 中搜索帖子。get_users(network_id, user_ids): 通过用户 ID 查找指定课程网络 (network_id) 中的用户资料。get_all_users(network_id): 检索指定课程网络 (network_id) 中的所有用户/花名册列表。
配置与使用
服务器需要以下环境变量来与 Piazza 进行身份验证:
PIAZZA_EMAIL: 你的 Piazza 登录邮箱。PIAZZA_PASSWORD: 你的 Piazza 登录密码。
为 MCP 客户端进行配置 (如 Claude Desktop)
要将此服务器用于支持 MCP 的客户端(例如 Claude Desktop),你可以使用 uvx 直接从项目目录运行:
{
"mcpServers": {
"piazza-mcp": {
"command": "uvx",
"args": [
"--from",
"/path/to/piazza-mcp",
"piazza-mcp"
],
"env": {
"PIAZZA_EMAIL": "your_email@example.com",
"PIAZZA_PASSWORD": "your_password"
}
}
}
}
免责声明
这是一个非官方的集成项目。它不是由 Piazza Technologies Inc. 提供、支持或以任何方式建立附属关系的。请自行承担使用风险。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file piazza_mcp_server-0.1.1.tar.gz.
File metadata
- Download URL: piazza_mcp_server-0.1.1.tar.gz
- Upload date:
- Size: 60.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b703a1183ddc69f58eb4a36cb1f539564b19dbf085d5359f6afbb250b50d04ff
|
|
| MD5 |
4f09b460ff7a22e1a42972435c9cd11e
|
|
| BLAKE2b-256 |
213c155c0246615bdc5e3d2463a663e87d3583ce3b351d8d1b4a0928d0e7128c
|
Provenance
The following attestation bundles were made for piazza_mcp_server-0.1.1.tar.gz:
Publisher:
publish.yml on Ergo042/piazza-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piazza_mcp_server-0.1.1.tar.gz -
Subject digest:
b703a1183ddc69f58eb4a36cb1f539564b19dbf085d5359f6afbb250b50d04ff - Sigstore transparency entry: 1370456062
- Sigstore integration time:
-
Permalink:
Ergo042/piazza-mcp-server@e1096fc94693240d76e9572b90cb201d9893edd9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Ergo042
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e1096fc94693240d76e9572b90cb201d9893edd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file piazza_mcp_server-0.1.1-py3-none-any.whl.
File metadata
- Download URL: piazza_mcp_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75c389849e85c842b176fdd2df4ae76af37af21f967b56401ab6549b277f54e3
|
|
| MD5 |
b85c41e4b769db69c499d334de78608d
|
|
| BLAKE2b-256 |
81bc8c797b3eb755dbf1cbcaf9309d6a24fe40f1f8b1eb2ae57eacd0c7158c3f
|
Provenance
The following attestation bundles were made for piazza_mcp_server-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on Ergo042/piazza-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piazza_mcp_server-0.1.1-py3-none-any.whl -
Subject digest:
75c389849e85c842b176fdd2df4ae76af37af21f967b56401ab6549b277f54e3 - Sigstore transparency entry: 1370456162
- Sigstore integration time:
-
Permalink:
Ergo042/piazza-mcp-server@e1096fc94693240d76e9572b90cb201d9893edd9 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Ergo042
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e1096fc94693240d76e9572b90cb201d9893edd9 -
Trigger Event:
push
-
Statement type: