Discourse MCP is here!

,

AI-generated summary

Discourse has officially launched the Discourse MCP CLI, an open-source command-line interface that connects Discourse forums to AI agents via the Model Context Protocol (MCP) 1. This tool allows AI assistants like Claude and ChatGPT to search, read, and interact with forum data in real-time using the Discourse REST API. The CLI approach was chosen over a built-in server to maximize compatibility and speed of iteration without requiring admin updates.

Early adopters have demonstrated various workflows, such as integrating Discourse with Jira 2 and using it within IDEs like Cursor 11. Users inquired about specific capabilities and constraints:

  • Documentation & Configuration: jrgong asked for command documentation, which Falco confirmed is available on GitHub and within MCP clients. He also provided workarounds for filtering search results by category.
  • Localization: jrgong requested support for retrieving topics in specific locales (e.g., English translations of German content). Falco agreed this was a good feature request.
  • Contributions: rey.riel highlighted limitations in the get_user tool regarding email and group visibility, subsequently submitting a PR to enhance admin-level access 23.
  • Setup Issues: SkhemaDeveloper encountered issues with write tools, resolved by ensuring the API key was generated for the ‘system’ user rather than ‘all users’ 24.

The community discussed expanding functionality beyond read operations. pacharanero advocated for remote/web-based MCP connections for non-technical users and the ability to edit existing posts via AI. Falco responded by adding an edit tool to the latest release and clarifying that HTTP transport (allowing sidecar web services) has been supported since October, enabling connections to web-based LLMs via tunnels like Cloudflare 34. Future roadmap items mentioned include advanced moderation, analytics, and plugin integrations. While Moin queried if the Discourse-AI plugin is required, the consensus is that the CLI operates independently via the REST API. singpolyma also requested tools to read discourse boards, indicating ongoing demand for broader data access capabilities.

As soon as Anthropic open sourced their Model Context Protocol (MCP) proposal for interfacing with AI agents almost a year ago, we started getting excited about how good of a match it was for Discourse. 


This is a companion discussion topic for the original entry at https://blog.discourse.org/2025/10/discourse-mcp-is-here
30 Likes

Here is a good example of workflows that are possible with Discourse MCP, Discourse → Jira integration

22 Likes

Impressive, although I’m surprised you’re using Jira and not Discourse :wink:

5 Likes

I know you are joking, but was going for an good illustrative example for large companies with many channels for customer support who centralize things on Jira for historical reasons :wink:

Does anyone have more ideas for integrations like that? I could do a couple more screencasts.

8 Likes

This is how I feel about this :smiley:

But in all seriousness, fantastic addition.

Where can we find the final documentation about possible arg values and all available commands/tools?

For example, I would like to add the MCP to my IDE but limit it to specific categories such as Development and Documentation > Developer Guides

4 Likes

Documentation is maintained at GitHub - discourse/discourse-mcp: MCP client for Discourse sites · GitHub

This also shows in the UI of your MCP client, for example Claude Code shows

Currently you can prompt your way there with something along the lines of:

When searching or filtering, via discourse_filter_topics or discourse_search, append category:dev,documentation to the query so you only search relevant information.

2 Likes

Question for using Discourse MCP. If a user uses MCP, does that count towards their login date? so they can get Devotee badge easily?

1 Like

The Meta TOS forbids to use this anyway :thinking:

You may not automate access to the forum, or monitor the forum, such as with a web crawler, browser plug-in or add-on, or other computer program that is not a web browser. You may crawl the forum to index it for a publicly available search engine, if you run one.

3 Likes

A post was split to a new topic: Discourse MCP User API Key Generator Error Nodejs 20

Great news, and this sparks all good moonshot ideation. I would love to see Discourse MCP available on Cursor. This will open up the door to community users of all levels on dev or coding. This integration would serve a bountiful source of use cases and practical feedback.

7 Likes

Oh, it is, you just need to add it to your mcp config :hugs:

7 Likes

So far, the MCP works like a charm!

But another question: Is there any way to add an argument to retrieve a specific translation of the topic?

Our use case: We have a large KB in German which is then translated to English. Our maintainers are German speakers with limited English skills.

Hence, we would like to maintain content in German but retrieve the localized English content.

Is that achievable?

1 Like

Not currently, but adding an extra parameter to the read tool to pass a locale would be a good feature.

4 Likes

It might be related to my feature request here: Support for tl=[lang] parameters in REST API (for non-anon users)

From a user perspective, it would be great to have an identical parameter and set of values for MCP as well as the REST API.

Does that make sense?

1 Like

@falco do you accept PRs? While the discourse MCP has a tool to create new categories, there is no permissions argument.

I could submit the following PR:

Proposed Changes for Discourse

src/tools/builtin/create_category.ts

  • Update zod schema to accept an optional permissions field.

    • Type: z.record(z.string(), z.number()).optional().

    • Description: Map of group names to permission levels.

    • Format: { "group_name": permission_type_int }

    • Permission type values (from Discourse schema):

      • 1: full (See, Reply, Create)

      • 2: create_post (Reply only)

      • 3: readonly (See only)

  • Pass permissions in the payload to client.post('/categories.json', payload).

Yes, feel free to send PRs.

4 Likes

Super excited about FEATURE: add user management and file upload tools by SamSaffron · Pull Request #36 · discourse/discourse-mcp · GitHub

It would be nice to be able to leverage the API internally to be able to ask questions about customers, employees, etc, which is a bit limited by the “get user” tool (no ability to see email or groups).

Anything I can do to poke someone about getting this added ASAP?

3 Likes

Just looking for confirmation - are the ‘write’ tools publicly available? I’ve set the —allow_writes flag and configured admin api keys, but still can only access these 8 tools across Claude Code and Cursor.

1 Like

FIxed - not sure if it was when i created the api_key i wasn’t logged in as ‘system’. Changed to system > generated a new key and now it is working!

1 Like

A new release should be out now!

I hear you on the limitations of get users, email would have to be reserved to admin api, but it should be doable, as would be groups.

I don’t want to explode tool counts so we need to be careful about how much we add.

Will have a think tomorrow!

2 Likes