Canny MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Canny MCP or direct API to collect feedback, analyze user trends, create new posts, and update status—all through natural language.

Canny logoCanny
Api Key

Canny is a platform for managing customer feedback and feature requests. It helps teams prioritize product decisions based on real user insights.

25 Tools

Try Canny now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Canny
Try asking
TOOLS

Supported Tools

Every Canny action and event your agent gets out of the box.

Add Post Tag

Tool to add a tag to a specific post.

Change Post Status

Tool to change a post's status.

Create Changelog Entry

Tool to create and optionally publish a new changelog entry.

Create Comment

Tool to create a new comment on a post.

Create or Update User

Creates or updates a Canny user using an identifier and name, with optional profile fields and company associations.

Create Post

Tool to create a new post (feature request or feedback) on a Canny board.

Create Tag

Tool to create a new tag.

Create Vote

Tool to create a vote for a post.

Delete Comment

Tool to delete a comment.

Delete Post

Tool to delete a post.

Delete User

Deletes a user and their comments and votes.

Delete Vote

Tool to delete a vote.

List Boards

Tool to list all boards.

List Categories

Tool to list categories.

List Comments

Retrieves a paginated list of comments from Canny.

List Companies

Tool to list companies associated with your Canny account.

List Opportunities

Tool to list opportunities linked to posts.

List Posts

Tool to list posts with various filters.

List Tags

Tool to list tags.

List Users

List end-users in a Canny workspace using cursor-based pagination.

List Votes

Retrieve votes from Canny with optional filtering by board, post, or voter.

Retrieve Board

Tool to retrieve details of a board by its ID.

Retrieve Tag

Tool to retrieve details of a tag by its ID.

Retrieve User

Tool to retrieve user details by Canny user ID, app user ID, or email.

Update Post

Tool to update post details.

SETUP GUIDE

Connect Canny MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["canny"],
  mcp: true,
});
Create a session scoped to Canny and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Add a “High Priority” tag to all posts from this week",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Canny request
SETUP GUIDE

Connect Canny API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["canny"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Canny
3

Run Canny tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Add a “High Priority” tag to all posts from this week" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Canny tool calls through the session, and print the final answer

Why Use Composio?

AI Native Canny Integration

  • Supports both Canny MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Canny data

Managed Auth

  • Built-in API key handling for safe credential management
  • Central place to manage and revoke Canny access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Canny
  • Scoped, least privilege access to Canny resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Start with Canny.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Canny tool your agent needs.Free to start.

Start building