Canny MCP Server

Canny MCP Server

Enables interaction with Canny.io customer feedback platform through natural language. Supports board management, post creation/updating, search functionality, and comprehensive feedback management operations.

Category
Visit Server

README

Canny MCP Server

A Model Context Protocol (MCP) server that integrates with Canny.io for customer feedback management. Built following CIQ's CODE2 principles to deliver Customer-Centric, Optimistic, Dedicated, Efficient, and Excellent solutions.

Features

Customer-Centric

  • Board Management: List and access all available Canny boards
  • Post Retrieval: Get detailed post information with flexible filtering
  • Search Capability: Find posts across boards using powerful search
  • Content Management: Create and update posts seamlessly

Efficient & Excellent

  • Rate Limiting: Built-in protection against API rate limits
  • Error Handling: Robust error handling with detailed feedback
  • Validation: Input validation using Zod schemas
  • Type Safety: Full TypeScript implementation

Installation

Prerequisites

  • Node.js 18 or higher
  • Canny.io API key

Quick Start

  1. Install dependencies:

    npm install
    
  2. Set up environment variables:

    export CANNY_API_KEY="your_api_key_here"
    export CANNY_BASE_URL="https://canny.io/api/v1"  # Optional
    
  3. Build the server:

    npm run build
    
  4. Run in development mode:

    npm run dev
    

Environment Variables

Required

  • CANNY_API_KEY: Your Canny.io API key

Optional

  • CANNY_BASE_URL: API base URL (default: https://canny.io/api/v1)
  • CANNY_TIMEOUT: Request timeout in ms (default: 30000)
  • CANNY_MAX_RETRIES: Max retry attempts (default: 3)
  • CANNY_RATE_LIMIT_RPM: Requests per minute limit (default: 60)
  • CANNY_RATE_LIMIT_BURST: Burst limit (default: 10)

Available Tools

Board Tools

  • get_boards: List all accessible Canny boards

Post Tools

  • get_posts: Get posts from a specific board with filtering options
  • get_post: Get detailed information about a specific post
  • search_posts: Search for posts across boards
  • create_post: Create a new post in a board
  • update_post: Update an existing post

Usage Examples

Get All Boards

{
  "name": "get_boards",
  "arguments": {}
}

Get Posts from a Board

{
  "name": "get_posts",
  "arguments": {
    "boardId": "board_123",
    "limit": 10,
    "status": "open",
    "sort": "newest"
  }
}

Search Posts

{
  "name": "search_posts",
  "arguments": {
    "query": "feature request",
    "limit": 20,
    "status": "open"
  }
}

Create a Post

{
  "name": "create_post",
  "arguments": {
    "authorId": "user_123",
    "boardId": "board_123",
    "title": "New Feature Request",
    "details": "Detailed description of the feature"
  }
}

Development

Running Tests

npm test

Linting

npm run lint
npm run lint:fix

Building

npm run build

Configuration with Claude

Add to your Claude MCP configuration:

{
  "mcpServers": {
    "canny": {
      "command": "node",
      "args": ["/path/to/canny-mcp-server/dist/server.js"],
      "env": {
        "CANNY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Error Handling

The server implements comprehensive error handling:

  • API rate limiting protection
  • Input validation with detailed error messages
  • Network error recovery with retries
  • Graceful handling of API failures

Contributing

Following CIQ's CODE2 principles:

  1. Customer-Centric: Focus on user value in every contribution
  2. Optimistic: Approach challenges as opportunities
  3. Dedicated: Own your contributions fully
  4. Efficient: Leverage existing solutions and automate where possible
  5. Excellent: Maintain high standards and continuous improvement

License

MIT License

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured