使用说明
广场MCP服务器
MCP(模型上下文协议)服务器,允许Claude Code与Piazza交互,使您能够直接从终端获取帖子和课程信息。
先决条件
- Python 3.10+
- Piazza账户
- 克劳德代码CLI
安装
-
克隆或下载此存储库
-
创建虚拟环境并安装依赖项:
python -m venv env # Windows env\Scripts\activate # macOS/Linux source env/bin/activate pip install -r requirements.txt
配置
获取您的课程ID
要查找课程ID:
- 在浏览器中登录Piazza
- 导航到要添加的课程
- 看看URL,它看起来像:
https://piazza.com/class/abc123xyz - 课程ID是以下部分
/class/(例如。,abc123xyz)
设置Claude代码
创建或编辑 .mcp.json 项目目录中的文件:
{
"mcpServers": {
"piazza": {
"command": "/path/to/your/env/bin/python",
"args": ["/path/to/piazza-mcp/main.py"],
"env": {
"PIAZZA_EMAIL": "your-email@example.com",
"PIAZZA_PASSWORD": "your-piazza-password",
"PIAZZA_COURSES": "{\"course_id_1\":\"Course Name 1\",\"course_id_2\":\"Course Name 2\"}"
}
}
}
}
Windows示例:
{
"mcpServers": {
"piazza": {
"command": "C:\\path\\to\\env\\Scripts\\python.exe",
"args": ["C:\\path\\to\\piazza-mcp\\main.py"],
"env": {
"PIAZZA_EMAIL": "student@university.edu",
"PIAZZA_PASSWORD": "yourpassword",
"PIAZZA_COURSES": "{\"mjz1kp056nb6t3\":\"CSE 12\",\"mk06sxvpt521xv\":\"ECON 1\"}"
}
}
}
}
macOS/Linux示例:
{
"mcpServers": {
"piazza": {
"command": "/home/user/piazza-mcp/env/bin/python",
"args": ["/home/user/piazza-mcp/main.py"],
"env": {
"PIAZZA_EMAIL": "student@university.edu",
"PIAZZA_PASSWORD": "yourpassword",
"PIAZZA_COURSES": "{\"mjz1kp056nb6t3\":\"CSE 12\",\"mk06sxvpt521xv\":\"ECON 1\"}"
}
}
}
}
环境变量
| 变量 | 描述 |
|---|---|
PIAZZA_EMAIL |
您的Piazza帐户电子邮件 |
PIAZZA_PASSWORD |
您的Piazza帐户密码 |
PIAZZA_COURSES |
JSON对象将课程ID映射到课程名称 |
可用工具
配置后,Claude Code将可以访问这些工具:
list_courses
返回已配置课程的列表。
Claude Code中的示例用法:
"What courses do I have configured?"
"List my Piazza courses"
fetch_posts
从指定课程中获取最近的帖子。
参数:
course_id(必填):广场球场IDn(可选):要获取的帖子数量(默认值:10)
Claude Code中的示例用法:
"Show me the last 5 posts from CSE 12"
"What are the recent questions on ECON 1?"
"Check the latest 3 posts on my physics class"
使用示例
配置后,只需在以下目录中启动Claude Code .mcp.json 文件:
claude
然后你可以问自然语言问题,比如:
- “我的广场课程是什么?”
- “显示ECON 1上的最后3篇帖子”
- “CSE 12期中考试有什么新问题吗?”
- “PHYS 2A的最新讲师答案是什么?”