KosmoKrator

communication

Discourse MCP Integration for Codex

Connect Discourse to Codex 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 Codex

Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.

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

Discourse MCP Config for Codex

Keep write access denied or ask-based unless the workspace is trusted.

{
  "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 Codex

Codex 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