KosmoKrator

communication

Discourse MCP Integration for Generic MCP Clients

Connect Discourse to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

8 functions 5 read 3 write API key auth

Connect Discourse to Generic MCP Clients

Connect any stdio-compatible MCP client to local KosmoKrator integration tools.

Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with --write=deny so MCP clients can inspect read-capable tools without receiving write access by default.

Discourse MCP Config for Generic MCP Clients

Start with read-only write policy and expand only for trusted projects.

{
  "mcpServers": {
    "kosmokrator-discourse": {
      "type": "stdio",
      "command": "kosmo",
      "args": [
        "mcp:serve",
        "--integration=discourse",
        "--write=deny"
      ]
    }
  }
}

Run the Gateway Manually

kosmokrator mcp:serve --integration=discourse --write=deny

Why Use KosmoKrator Here

Scoped tools

Expose only Discourse instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

Discourse Tools Visible to MCP clients

MCP clients sees stable MCP tool names generated from the Discourse integration catalog.

MCP toolSource functionTypeDescription
integration__discourse__discourse_list_topics discourse.discourse_list_topics Read List the latest topics from the Discourse forum. Returns topic titles, categories, and activity metadata.
integration__discourse__discourse_get_topic discourse.discourse_get_topic Read Get a single Discourse topic by ID, including its posts, author, and metadata.
integration__discourse__discourse_create_topic discourse.discourse_create_topic Write Create a new topic in a Discourse category. Requires a title, body content (Markdown), and category ID.
integration__discourse__discourse_update_topic discourse.discourse_update_topic Write Update an existing Discourse topic's title or move it to a different category.
integration__discourse__discourse_list_categories discourse.discourse_list_categories Read List all categories on the Discourse forum. Returns category names, IDs, descriptions, and parent relationships.
integration__discourse__discourse_get_category discourse.discourse_get_category Read Get a single Discourse category by ID, including its recent topics and metadata.
integration__discourse__discourse_create_post discourse.discourse_create_post Write Reply to an existing Discourse topic with a new post. Provide the topic ID and body content in Markdown.
integration__discourse__discourse_get_current_user discourse.discourse_get_current_user Read Get the currently authenticated Discourse user profile. Useful for verifying API credentials and identifying the user context.

Related Discourse Pages