プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

MCP Piazza

作者:jadenpxrkバージョン 0.1.0i★ –iパソコンで動く
レジストリ名io.github.jadenpxrk/mcp-piazza

インストール

概要

作者による説明(英語の原文)

Read-only Piazza access: activity, search, unread posts, full threads, and course info

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶
  • 入力が必要なもの:PIAZZA_PASSWORD

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: PIAZZA_EMAIL, PIAZZA_PASSWORD, PIAZZA_COOKIE_FILE, PIAZZA_ANONYMIZE_STUDENTS, PIAZZA_FENCE_CONTENT, PIAZZA_MIN_INTERVAL, PIAZZA_CACHE_TTL

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "piazza": {
      "command": "uvx",
      "args": [
        "mcp-piazza"
      ],
      "env": {
        "PIAZZA_EMAIL": "your-value",
        "PIAZZA_PASSWORD": "your-value",
        "PIAZZA_COOKIE_FILE": "your-value",
        "PIAZZA_ANONYMIZE_STUDENTS": "your-value",
        "PIAZZA_FENCE_CONTENT": "your-value",
        "PIAZZA_MIN_INTERVAL": "your-value",
        "PIAZZA_CACHE_TTL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add piazza --env PIAZZA_EMAIL=your-value --env PIAZZA_PASSWORD=your-value --env PIAZZA_COOKIE_FILE=your-value --env PIAZZA_ANONYMIZE_STUDENTS=your-value --env PIAZZA_FENCE_CONTENT=your-value --env PIAZZA_MIN_INTERVAL=your-value --env PIAZZA_CACHE_TTL=your-value -- uvx mcp-piazza

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "piazza": {
      "command": "uvx",
      "args": [
        "mcp-piazza"
      ],
      "env": {
        "PIAZZA_EMAIL": "your-value",
        "PIAZZA_PASSWORD": "your-value",
        "PIAZZA_COOKIE_FILE": "your-value",
        "PIAZZA_ANONYMIZE_STUDENTS": "your-value",
        "PIAZZA_FENCE_CONTENT": "your-value",
        "PIAZZA_MIN_INTERVAL": "your-value",
        "PIAZZA_CACHE_TTL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "piazza": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-piazza"
      ],
      "env": {
        "PIAZZA_EMAIL": "your-value",
        "PIAZZA_PASSWORD": "your-value",
        "PIAZZA_COOKIE_FILE": "your-value",
        "PIAZZA_ANONYMIZE_STUDENTS": "your-value",
        "PIAZZA_FENCE_CONTENT": "your-value",
        "PIAZZA_MIN_INTERVAL": "your-value",
        "PIAZZA_CACHE_TTL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • PIAZZA_EMAIL env
    Piazza account email. Not needed after 'mcp-piazza login'.
  • PIAZZA_PASSWORD 秘密 env
    Piazza account password. Not needed after 'mcp-piazza login'.
  • PIAZZA_COOKIE_FILE env
    Path of the saved session file.
  • PIAZZA_ANONYMIZE_STUDENTS env
    Replace student names with pseudonyms.
  • PIAZZA_FENCE_CONTENT env
    Mark post text as untrusted data.
  • PIAZZA_MIN_INTERVAL env
    Minimum seconds between Piazza requests.
  • PIAZZA_CACHE_TTL env
    Seconds to keep feeds and posts in memory.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント jadenpxrk で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの5680件のうち0%よりスターが多い
  • このカテゴリのほかの5680件のうち63%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5680件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

MCP Piazzaは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:PIAZZA_PASSWORD

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは23 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT昨日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT21 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT2 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

mcp-piazza

A read-only Model Context Protocol server for Piazza. It works with every MCP client: Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Zed, Cline, Codex, Gemini CLI, Goose, opencode, JetBrains, LM Studio, Continue, and others.

Ask your assistant about your courses:

  • "What did I miss on Piazza this week?"
  • "Are there unresolved questions about HW3 in CSE 12?"
  • "Did anyone already ask about the midterm room?"
  • "When are the TA office hours?"
  • "What did the instructor change in @142?"

The server only reads data. It cannot post, edit, endorse, or delete.

Quick start

  1. Install uv.
  2. Log in one time. The command opens a login page in your browser:
   uvx mcp-piazza login

You can also skip this step. If the server has no session, the first tool call opens the same page and shows its link.

  1. Add the server to your client. The server command is uvx with the argument mcp-piazza. For example:
   claude mcp add --scope user --transport stdio piazza -- uvx mcp-piazza   # Claude Code

codex mcp add piazza -- uvx mcp-piazza # Codex CLI

See docs/clients.md for Claude Desktop, Cursor, VS Code, Windsurf, Zed, Gemini CLI, and other clients.

  1. Ask: "List my Piazza courses."

Tools, prompts and resources

ToolPurpose
list_coursesList your courses with ID, course number, term, role, active status, and folders.
get_course_infoGet the course page: description, syllabus, office hours, general information, and staff with emails.
get_unread_countsCount unread posts in each active course.
recent_activityList posts with new activity since a time (24h, 7d, 2026-10-01), in all active courses or one course.
list_postsList post summaries. Filters: all, unread, following, unresolved, unanswered, mine, starred. Optional folder and paging.
search_postsSearch posts by keywords in one course or in all active courses.
get_postRead one full thread: question, instructor answer, student answer, followups, replies, and poll data.
get_postsRead up to 20 full threads in one call.
get_post_historyShow every version of a post, with a diff between versions.
list_instructor_notesList notes and polls written by instructors.
get_attachmentOpen an image or file from a post. The model can see images.
get_course_statsGet the data from the course Statistics page.

Every tool accepts a course ID, a course number such as CSE 12 or cse12, or part of the course name.

PromptPurpose
catch_upRead all posts since a time and summarize them, with actions for you.
before_askingFind out if a question was already asked and answered.
exam_prepRead all posts about an exam or topic and collect the facts.

Many clients show prompts as slash commands.

SkillPurpose
piazza-catch-upThe catch_up steps, for agents that use skills.
piazza-exam-prepThe exam_prep steps.
piazza-before-askingThe before_asking steps.

Skills work in Claude Code, Cursor, Codex, opencode, and other agents. They need the server. To install them:

npx skills add jadenpxrk/mcp-piazza
ResourceContent
piazza://coursesYour courses
piazza://courses/{course_id}/posts/{number}One full thread

See docs/tools.md for parameters and output fields, and docs/workflows.md for examples.

Authentication

Piazza has no public API. This server uses piazza-api, which logs in as the Piazza website does.

MethodHowUse it when
Login pagemcp-piazza login, or the link from the first tool callMost people. The page offers the three methods below.
Browser sessionmcp-piazza login --browserYou are logged in to piazza.com in Chrome, Arc, Brave, Edge, Firefox, Safari, Chromium, Vivaldi, or Opera. This works with school SSO.
Passwordmcp-piazza login --passwordYou want to type your email and password in the terminal.
Session cookiemcp-piazza login --cookieYou want to paste the session_id cookie from the browser developer tools.
Environment variablesPIAZZA_EMAIL, PIAZZA_PASSWORDYou want automatic login when the session expires.

All methods save only the session cookies to ~/.config/mcp-piazza/cookies.json with file mode 600. They do not save your password. When the session expires, the next tool call opens the login page again. mcp-piazza logout deletes the session.

Configuration

VariableDefaultPurpose
PIAZZA_EMAILnoneAccount email for automatic login.
PIAZZA_PASSWORDnoneAccount password for automatic login.
PIAZZA_COOKIE_FILE~/.config/mcp-piazza/cookies.jsonPath of the saved session.
PIAZZA_ANONYMIZE_STUDENTSfalseReplace student names with pseudonyms.
PIAZZA_FENCE_CONTENTtrueMark post text as untrusted data.
PIAZZA_KEEP_UNREADfalseMark unread posts unread again after the server reads them.
PIAZZA_MIN_INTERVAL0.5Minimum seconds between Piazza requests.
PIAZZA_CACHE_TTL60Seconds to keep feeds and posts in memory. 0 turns off the cache.

See docs/configuration.md for examples and the command line.

Privacy and safety

  • Read-only. The server has no tools that change Piazza data. The only write is the optional PIAZZA_KEEP_UNREAD restore.
  • Prompt-injection fencing. Other course members write the post text. The server puts that text between << >> markers, and the server instructions tell the model to treat it as data.
  • Student pseudonyms. When PIAZZA_ANONYMIZE_STUDENTS=true, other students show as Student 3f2a1c. Staff keep their names. Your own posts show as you.
  • Local only. The server runs on your computer. It sends your cookies only to piazza.com.

See docs/privacy.md for the full model and its limits.

Development

uv sync

uv run pytest # offline tests, no Piazza account needed uv run ruff check src tests uv run ruff format src tests uv run mypy src

See AGENTS.md for the project layout and rules.

Limitations

  • Piazza can change its internal API at any time. If tools fail after a Piazza update, see docs/troubleshooting.md.
  • When the server reads a full post, Piazza marks the post as read and counts a view, as the website does. Set PIAZZA_KEEP_UNREAD=true to mark unread posts unread again.
  • The course page files and links (the Resources tab) are not available. get_course_info shows the names of the resource sections only.
  • Piazza does not document the poll format. get_post returns the poll data as Piazza sends it.
  • Some instructors hide the Statistics page. For those courses, get_course_stats returns an error.

License

MIT. This project is not affiliated with Piazza.

PopNxに聞く