Metadata-Version: 2.4
Name: piazza-mcp-server
Version: 0.1.1
Summary: An MCP server to interact with Piazza courses, analyze posts, and extract attachments for AI agents.
Project-URL: Homepage, https://github.com/USERNAME/piazza-mcp-server
Project-URL: Repository, https://github.com/USERNAME/piazza-mcp-server
Author-email: Neikos <author@example.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agent,ai,claude,mcp,piazza
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Requires-Dist: beautifulsoup4>=4.14.3
Requires-Dist: markdownify>=1.2.2
Requires-Dist: mcp>=1.27.0
Requires-Dist: piazza-api>=0.15.0
Requires-Dist: pypdf>=6.10.2
Requires-Dist: python-docx>=1.2.0
Requires-Dist: python-pptx>=1.0.2
Description-Content-Type: text/markdown

# Piazza MCP 服务器 (Piazza MCP Server)

这是一个基于模型上下文协议 (Model Context Protocol, MCP) 的服务器，它使用非官方的 [piazza-api](https://github.com/hfaran/piazza-api) Python 库与 [Piazza](https://piazza.com) 进行集成。该服务器允许 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` 直接从项目目录运行：

```json
{
  "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. 提供、支持或以任何方式建立附属关系的。请自行承担使用风险。
