KosmoKrator

communication

Discourse MCP Integration for LangChain

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

Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls.

Use the MCP gateway when the agent should discover tools, or wrap kosmo integrations:call for fixed chains. The gateway is local, scoped to this integration, and starts with --write=deny so LangChain can inspect read-capable tools without receiving write access by default.

Discourse MCP Config for LangChain

Keep the gateway scoped to the integration and operation class needed by the chain.

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

LangChain 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