KosmoKrator

productivity

Canny MCP Gateway for AI Agents

Expose Canny tools to Claude Code, Cursor, Codex, and other MCP clients through the local KosmoKrator MCP gateway.

Canny MCP Gateway

Expose Canny to MCP clients with `kosmokrator mcp:serve --integration=canny`.

If the client has never used KosmoKrator before, install it first, then register this integration as a stdio MCP server.

Install KosmoKrator
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
Install gateway entry
kosmokrator mcp:gateway:install --integration=canny --write=deny --json
MCP configuration
{
  "mcpServers": {
    "kosmokrator-canny": {
      "type": "stdio",
      "command": "kosmo",
      "args": [
        "mcp:serve",
        "--integration=canny",
        "--write=deny"
      ]
    }
  }
}
Serve manually
kosmokrator mcp:serve --integration=canny --write=deny

Client Notes

Use one scoped MCP gateway entry, then adapt the config location to the client or framework.

Claude Code Connect local KosmoKrator integrations to Claude Code through one scoped MCP gateway entry. Claude Code can launch the local kosmo binary directly from the project MCP config.
Cursor Expose selected local integrations to Cursor through KosmoKrator without configuring each service as its own MCP server. Use the same KosmoKrator install and integration credentials that power terminal and headless runs.
Codex Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy. Keep write access denied or ask-based unless the workspace is trusted.
OpenAI Agents SDK Attach KosmoKrator integration tools to OpenAI Agents SDK workflows through a local MCP gateway. Use headless JSON commands for CI-style execution and MCP for agent tool discovery.
Claude Agent SDK Give Claude Agent SDK workflows access to KosmoKrator integrations through a local MCP server. Use a narrow integration list so the agent does not load unrelated tools.
Vercel AI SDK Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts. Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
LangChain Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls. Keep the gateway scoped to the integration and operation class needed by the chain.
LangGraph Run KosmoKrator integration calls from LangGraph nodes while preserving local credentials and permissions. Headless CLI calls fit repeatable graph edges; MCP fits exploratory agent nodes.
CrewAI Expose KosmoKrator integrations to CrewAI workers as scoped local tools. Use per-worker integration scopes to avoid giving every worker every tool.
Generic MCP Clients Connect any stdio-compatible MCP client to local KosmoKrator integration tools. Start with read-only write policy and expand only for trusted projects.

MCP Tool Names

KosmoKrator exposes integration tools through the gateway with stable names.

MCP toolSource functionType
integration__canny__canny_retrieve_board canny.canny_retrieve_board Read read
integration__canny__canny_list_boards canny.canny_list_boards Read read
integration__canny__canny_retrieve_category canny.canny_retrieve_category Read read
integration__canny__canny_list_categories canny.canny_list_categories Read read
integration__canny__canny_create_category canny.canny_create_category Write write
integration__canny__canny_delete_category canny.canny_delete_category Write write
integration__canny__canny_create_entry canny.canny_create_entry Write write
integration__canny__canny_list_entries canny.canny_list_entries Read read
integration__canny__canny_retrieve_comment canny.canny_retrieve_comment Read read
integration__canny__canny_list_comments canny.canny_list_comments Read read
integration__canny__canny_create_comment canny.canny_create_comment Write write
integration__canny__canny_delete_comment canny.canny_delete_comment Write write
integration__canny__canny_list_companies canny.canny_list_companies Read read
integration__canny__canny_update_company canny.canny_update_company Write write
integration__canny__canny_delete_company canny.canny_delete_company Write write
integration__canny__canny_list_groups canny.canny_list_groups Read read
integration__canny__canny_retrieve_group canny.canny_retrieve_group Read read
integration__canny__canny_list_ideas canny.canny_list_ideas Read read
integration__canny__canny_merge_idea canny.canny_merge_idea Write write
integration__canny__canny_retrieve_idea canny.canny_retrieve_idea Read read
integration__canny__canny_delete_idea canny.canny_delete_idea Write write
integration__canny__canny_list_insights canny.canny_list_insights Read read
integration__canny__canny_retrieve_insight canny.canny_retrieve_insight Read read
integration__canny__canny_list_opportunities canny.canny_list_opportunities Read read
integration__canny__canny_retrieve_post canny.canny_retrieve_post Read read
integration__canny__canny_list_posts canny.canny_list_posts Read read
integration__canny__canny_create_post canny.canny_create_post Write write
integration__canny__canny_change_post_board canny.canny_change_post_board Write write
integration__canny__canny_change_post_category canny.canny_change_post_category Write write
integration__canny__canny_change_post_status canny.canny_change_post_status Write write
integration__canny__canny_merge_post canny.canny_merge_post Write write
integration__canny__canny_add_post_tag canny.canny_add_post_tag Write write
integration__canny__canny_remove_post_tag canny.canny_remove_post_tag Write write
integration__canny__canny_update_post canny.canny_update_post Write write
integration__canny__canny_delete_post canny.canny_delete_post Write write
integration__canny__canny_link_jira_issue canny.canny_link_jira_issue Write write
integration__canny__canny_unlink_jira_issue canny.canny_unlink_jira_issue Write write
integration__canny__canny_list_status_changes canny.canny_list_status_changes Read read
integration__canny__canny_retrieve_tag canny.canny_retrieve_tag Read read
integration__canny__canny_list_tags canny.canny_list_tags Read read
integration__canny__canny_create_tag canny.canny_create_tag Write write
integration__canny__canny_list_users canny.canny_list_users Read read
integration__canny__canny_retrieve_user canny.canny_retrieve_user Read read
integration__canny__canny_create_or_update_user canny.canny_create_or_update_user Write write
integration__canny__canny_find_or_create_user canny.canny_find_or_create_user Write write
integration__canny__canny_delete_user canny.canny_delete_user Write write
integration__canny__canny_remove_user_from_company canny.canny_remove_user_from_company Write write
integration__canny__canny_retrieve_vote canny.canny_retrieve_vote Read read
integration__canny__canny_list_votes canny.canny_list_votes Read read
integration__canny__canny_create_vote canny.canny_create_vote Write write
integration__canny__canny_delete_vote canny.canny_delete_vote Write write
integration__canny__canny_enqueue_feedback canny.canny_enqueue_feedback Write write
integration__canny__canny_api_post canny.canny_api_post Write write

Write Access

Start with --write=deny for read-only MCP clients. Use --write=ask or --write=allow only when the client and workspace are trusted.