My current thinking roadmap wise is is along this… still needs lots of refinement but it helps paint a picture of how I think about this.
V0 - MCP server
-
Allow admin to select a collection of tools (either custom or built-in) and publish to a particular endpoint. /discourse-ai/mcp/NAME
-
Use Bearer for authentication - in particular a user API key
-
Key can be scoped to a particular MCP service
Milestone
- Discourse tools (eg: search instance, read topics etc…) can be consumed by Cursor and Claude desktop
V1 - MCP client
-
Allow admin to consume an MCP service, which adds a list of tools to the available tool list that can then be consumed by personas.
-
Use Bearer for authentication
Milestone
- Services in in https://mcp.so can be consumed by a discourse instance
V2 - MCP client per user
- When discussing with bot, privileged users can click “add MCP” and add MCP to an ongoing conversation
- Use Bearer for auth
Milestone
- End users can choose to add context for an MCP of choice to an ongoing AI conversation
V3 - Implement OAuth 2 for auth
This is a more complex auth mechanism especially registration
Milestone
- Broader support
V4 - Implement a “bridge” mechanism for local resource access
- Implement a gem or desktop app that allows access to local resources via MCP to discourse, utilizing stdio transport
milestone
- You can converse with a Discourse Bot PM and access local files for extra context