MCP.Market

Discourse Extended MCP server

by devzspy·io.github.devzspy/discourse-mcp-extended·v0.1.0

Discourse MCP server (stdio) with review-queue tools added. Fork of @discourse/mcp.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Discourse Extended yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Discourse Extended tools (27, 15 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • discourse_create_categorywrite action

    Create a new category. Returns JSON with id, slug, and name.

  • discourse_create_postwrite action

    Create a post in a topic. Returns JSON with id, topic_id, and post_number.

  • discourse_create_querywrite action

    Create a new saved Data Explorer query. Requires admin API key and write access.

  • discourse_create_topicwrite action

    Create a new topic. Returns JSON with id, topic_id, slug, and title.

  • discourse_create_userwrite action

    Create a new user account. If upload_id is provided, sets the user's avatar after creation. Returns JSON with success status and user details.

  • discourse_delete_draftwrite action

    Delete a draft by key. Requires current sequence number to prevent conflicts.

  • discourse_delete_querywrite action

    Soft-delete a Data Explorer query. The query can be restored by an admin. Requires admin API key and write access.

  • discourse_filter_topics
  • discourse_get_chat_messages

    Get messages from a chat channel. Returns JSON object with channel_id, messages array (id, username, created_at, message, edited, thread_id, in_reply_to_id), and meta.

  • discourse_get_draft

    Retrieve a specific draft by key. Returns JSON with draft_key, sequence, and parsed data (title, reply, categoryId, tags, action).

  • discourse_get_query

    Get full details of a Data Explorer query including SQL and parameters. Requires admin API key.

  • discourse_get_user

    Get user info. Returns JSON with id, username, name, trust_level, created_at, bio, admin, and moderator.

  • discourse_list_reviewables

    List items in the review queue (as seen at /review), e.g. queued/pending posts and flagged posts.

  • discourse_list_user_posts

    Get paginated list of user posts/replies. Returns JSON object with posts array (id, topic_id, post_number, slug, title, created_at, excerpt, category_id) and meta (page, limit, has_more).

  • discourse_list_users

    List users via admin API. Requires admin API key. Returns ~100 users per page (Discourse's fixed page size). Returns JSON with users array and pagination meta.

  • discourse_perform_reviewable_action

    Approve, reject, or otherwise act on an item in the review queue (as seen at /review).

  • discourse_read_postwrite action

    Read a specific post. Returns JSON with id, topic_id, post_number, username, created_at, and raw content.

  • discourse_read_topic

    Read topic metadata and posts. Returns JSON with id, title, slug, category_id, tags, and posts array.

  • discourse_run_querywrite action

    Execute a Data Explorer query with parameters. Returns columns, rows, result_count, duration_ms. Queries run in read-only transactions with 10-second timeout. Requires admin API key.

  • discourse_save_draftwrite action

    Create or update a draft. Returns JSON with draft_key and new sequence number.

  • discourse_search

    Search site content. Returns JSON object with results array of matching topics (id, slug, title) and meta (total, has_more).

  • discourse_select_site

    Validate and select a Discourse site. Returns JSON with site URL and title.

  • discourse_update_postwrite action

    Update the content of an existing post. Returns JSON with updated post details.

  • discourse_update_querywrite action

    Update an existing Data Explorer query. Only provided fields are updated. Requires admin API key and write access.

  • discourse_update_topicwrite action

    Update an existing topic (title, category, tags, featured_link). Returns JSON with updated topic details.

  • discourse_update_userwrite action

    Update user profile fields. If upload_id is provided, also sets the user's avatar. Returns JSON with success status and updated user details.

  • discourse_upload_filewrite action

    Upload an image or file to Discourse. Provide either: image_data (base64 with filename), a remote HTTP(S) URL, or an absolute local file path. user_id is required for avatar/background uploads. Returns upload_id for use in avatar/profile updates. Use short_url to embed images in posts.

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan87 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 82 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Discourse Extended compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
88/100
higher than 75% of 48,255 servers
Tools
27
the typical server has 7
Tools that change things
56%
typical: 0%. Fewer write tools means less an agent can break

What its tools let an agent do: 12 read · 15 change

Install Discourse Extended in Claude Code, Cursor or VS Code

Runs npx -y @devzspy/discourse-mcp-extended on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add discourse-mcp-extended -- npx -y @devzspy/discourse-mcp-extended
Add to Cursor

What the publisher says

From the Discourse Extended repository's README, as published. We do not edit it. Read it on GitHub

Discourse MCP (extended fork)

This is a fork of discourse/discourse-mcp, extended with tools for working the Discourse review queue (/review) — listing pending/flagged items and approving or rejecting them. Everything else is unchanged from upstream. See What's added in this fork below.

A Model Context Protocol (MCP) stdio server that exposes Discourse forum capabilities as tools and resources for AI agents.

  • Entry point: src/index.ts → compiled to dist/index.js (binary name: discourse-mcp)
  • SDK: @modelcontextprotocol/sdk
  • Node: >= 24
  • Version: 0.2.4 (0.2.x has breaking changes from 0.1.x - JSON-only output, resources replace list tools)

What's added in this fork

  • discourselistreviewables — list items in the review queue (as seen at /review?sort_order=score), e.g. new/queued posts awaiting approval and flagged posts. Requires an admin or moderator API key/user API key for the site.
  • discourseperformreviewableaction** — approve, reject, or otherwise act on a review queue item (only registered when writes are enabled, same as other write tools).

Full input/output details are in the Tools section below. Since this build isn't published to npm, run it locally from a build of this repo (pnpm install && pnpm build, then point your MCP client at dist/index.js) instead of npx @discourse/mcp@latest.

Quick start (release)

  • Run (read‑only, recommended to start)
npx -y @discourse/mcp@latest

Then, in your MCP client, either:

  • Call the discourseselectsite tool with { "site": "https://try.discourse.org" } to choose a site, or
  • Start the server tethered to a site using --site https://try.discourse.org (in which case discourseselectsite is hidden).
  • Enable writes (opt‑in, safe‑guarded)
npx -y @discourse/mcp@latest --allow_writes --read_only=false --auth_pairs '[{"site":"https://try.discourse.org","api_key":"'$DISCOURSE_API_KEY'","api_username":"system"}]'
  • Use in an MCP client (example: Claude Desktop) — via npx
{
  "mcpServers": {
    "discourse": {
      "command": "npx",
      "args": ["-y", "@discourse/mcp@latest"],
      "env": {}
    }
  }
}

Alternative: if you prefer a global binary after install, the package exposes discourse-mcp.

json

{

"mcpServers": {

"discourse": { "command": "discourse-mcp", "args": [] }

}

}

Configuration

The server registers tools under the MCP server name @discourse/mcp. Choose a target Discourse site either by:

  • Using the discourseselectsite tool at runtime (validates via /about.json), or
  • Supplying --site to tether the server to a single site at startup (validates via /about.json and hides discourseselectsite).
  • Auth
  • None by default.
  • Admin API Keys (require admin permissions): --authpairs '[{"site":"https://example.com","apikey":"...","apiusername":"system"}]'**
  • User API Keys (any user can generate): --authpairs '[{"site":"https://example.com","userapikey":"...","userapiclientid":"..."}]'
  • HTTP Basic Auth (for sites behind a reverse proxy): Add httpbasicuser and httpbasicpass to any auth_pairs entry. This is useful for Discourse sites protected by HTTP Basic Authentication at the reverse proxy level.
  • You can include multiple entries in authpairs; the matching entry is used for the selected site. If both userapikey and apikey are provided for the same site, userapikey takes precedence.
  • Write safety

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Discourse Extended: common questions

Is Discourse Extended MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the Discourse Extended safety report
How do I install Discourse Extended?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Discourse Extended need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Discourse Extended maintained?
The last commit was 121 days ago (2026-07-06). The latest release is v0.1.0.
How does Discourse Extended compare with other MCP servers?
safety score 88/100 (higher than 75% of 48,255 servers); tools 27 (the typical server has 7); tools that change things 56% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.