Skip to main content
Glama

IdeaLift MCP Server

idealift-mcp-server MCP server

Decision intelligence for AI assistants via Model Context Protocol.

idealift-mcp-server MCP server

Connect Claude, ChatGPT, and other AI assistants to your product backlog. Capture feedback, track decisions, and manage ideas without leaving your AI workflow.

What it does

  • Normalize ideas — Transform raw text into structured feature requests, bug reports, or tasks

  • Signal aggregation — Capture product feedback from Slack, Teams, Discord, and GitHub

  • Decision tracking — Record who decided what, when, and why with full audit trails

  • RICE scoring — Prioritize ideas with Reach, Impact, Confidence, and Effort scores

  • Ticket creation — Push structured ideas to GitHub Issues, Jira, or Linear

Related MCP server: pm-copilot

MCP Tools

Tool

Auth Required

Description

normalize_idea

No

Transform raw text into a structured idea

check_auth

No

Check if user is linked to IdeaLift

list_destinations

Yes

Get available GitHub/Jira/Linear projects

create_ticket

Yes

Create a ticket in a destination system

connect_destination

Yes

Connect a new destination

Plus proxy tools for full IdeaLift API access (ideas, signals, decisions, roadmap).

Setup

1. Install dependencies

npm install

2. Configure environment

cp .env.example .env

Required environment variables:

Variable

Description

IDEALIFT_APP_URL

IdeaLift API base URL

INTERNAL_API_KEY

Service-to-service auth key

DATABASE_HOST

SQL Server host

DATABASE_NAME

Database name

DATABASE_USERNAME

Database user

DATABASE_PASSWORD

Database password

OPENAI_API_KEY

For idea normalization

3. Build and run

npm run build
npm start

Or for development:

npm run dev

The MCP server starts on port 3001 (configurable via PORT).

4. Connect to your AI assistant

SSE endpoint: http://localhost:3001/mcp

Add this URL as an MCP server in Claude Desktop, ChatGPT, or any MCP-compatible client.

Transport

Uses Server-Sent Events (SSE) transport with automatic keep-alive pings every 15 seconds.

OAuth

Built-in OAuth 2.0 flow for connecting AI assistant users to their IdeaLift accounts. Supports authorization code grant with PKCE.

Deployment

Deployed as an Azure App Service. See the IdeaLift docs for hosted access.

License

MIT

Available Tools

18 tools
attach_signalA

Link a signal to an idea. This associates external feedback with a specific product idea.

Inputs: signalId (required), ideaId (required).

check_authA

Check the user's IdeaLift connection status for committing ideas.

Normalize is FREE. Commit requires connection.

USE this tool when:

  • User explicitly asks "am I connected?", "what's my status?", "check my account"

  • User is confused about why a commit isn't working

  • You need to verify auth before a create_ticket (commit) attempt

DO NOT use this tool when:

  • User is just chatting or exploring ideas (normalizing is free)

  • User is using normalize_idea (works without auth)

  • There's no indication of connection issues

Note: normalize_idea works WITHOUT auth. Only COMMITTING requires connection.

Inputs: no named parameters.

connect_destinationA
Read-only

Connect a ticket destination (GitHub, Jira, or Linear) to IdeaLift.

USE this tool when:

  • User explicitly says "connect GitHub", "link my Jira", "add Linear"

  • User tried to create a ticket but the destination isn't connected

  • list_destinations showed no integrations and user wants to add one

DO NOT use this tool when:

  • User is just exploring ideas (no connection needed)

  • User hasn't expressed intent to connect anything

  • User is asking ABOUT integrations (use list_destinations instead)

Returns a link the user clicks to authorize. Connection takes ~30 seconds.

Inputs: destination (required).

create_ideaA

Create a new idea in the workspace. Checks plan limits before creating.

Inputs: title (required), summary, source, url, +2 more.

create_relationshipA

Create a relationship between two ideas.

Relationship types:

  • related_to: General relationship (bidirectional)

  • alternative_to: Ideas that solve the same problem differently (bidirectional)

  • superseded_by: This idea was replaced by another (directional)

  • merged_into: This idea was merged into another (directional)

  • blocked_by: This idea depends on another (directional)

  • parent_of: This is a parent/epic of another idea (directional)

  • derived_from: This idea was inspired by another (directional)

Inputs: sourceIdeaId (required), targetIdeaId (required), relationshipType (required), note.

create_ticketA

COMMIT an idea to GitHub, Jira, or Linear. This makes it real.

This is the final step in the IdeaLift flow: Capture → Normalize → COMMIT.

USE this tool when user says:

  • "Commit to GitHub/Jira/Linear"

  • "Commit it", "create this", "file this", "ship it", "make it real"

  • "Push this to [destination]"

  • A number from the commit options (e.g., "1" for GitHub)

  • "1", "2", or "3" after seeing commit options

IMPORTANT: If a normalize_idea was just called, use the draftId from that response. If no draftId is available, pass the full idea object from the normalize output. NEVER ask the user to re-provide content that was just normalized.

After successful commit, confirm with:

  • The ticket URL (clickable)

  • The ticket ID

  • A clear "COMMITTED" confirmation

This creates a REAL ticket. The user's idea now exists in their system.

Inputs: destination (required), idea, destinationConfig, force, +1 more.

get_decision_historyB
Read-only

Get the complete decision history (audit trail) for an idea.

Inputs: ideaId (required).

get_ideaB
Read-only

Get detailed information about a specific idea by ID.

Inputs: ideaId (required).

get_signal_analyticsB
Read-only

Get aggregated analytics about signals over a time period.

Inputs: startDate (required), endDate (required), groupBy.

list_destinationsA
Read-only

List connected COMMIT destinations (GitHub repos, Jira projects, Linear teams).

These are where ideas become REAL. After normalizing an idea, show the user where they can commit it.

USE this tool when:

  • After normalize_idea, to show commit options

  • User asks "where can I commit?", "show my repos", "what's connected?"

  • User is ready to commit but needs to choose a destination

DO NOT use this tool when:

  • User is still exploring or drafting ideas (doesn't need destinations yet)

  • User is just using normalize_idea (show inline commit options instead)

This tool requires IdeaLift authentication. Normalizing ideas is free, committing requires connection.

Inputs: no named parameters.

list_ideasB
Read-only

List ideas in the workspace with optional filters. Returns paginated results.

Inputs: status, source, destination, limit, +1 more.

list_relationshipsB
Read-only

Get all relationships for an idea (both as source and target).

Inputs: ideaId (required).

list_signalsB
Read-only

List signals (external feedback from Twitter, Reddit, support tickets, etc.) with optional filters.

Inputs: ideaId, source, sentiment, category, +2 more.

log_decisionA

Log a decision event for an idea. This creates an audit trail entry.

Event types:

  • created, updated: Lifecycle events

  • accepted, rejected, snoozed, expired: Decision outcomes

  • reopened: Reopen a closed idea

  • merged, superseded: Idea was consolidated

  • shipped: Feature was released

  • ticket_created, ticket_closed: External ticket lifecycle

Closure categories (required for some events):

  • shipped, merged: Positive closures

  • deferred_resources, deferred_priority, deferred_dependency, deferred_timing: Deferrals

  • rejected_scope, rejected_alternative, rejected_invalid, rejected_duplicate: Rejections

Inputs: ideaId (required), eventType (required), closureCategory, reason, +1 more.

normalize_ideaA

Transform raw ideas into execution-ready work items. This is the moment where thinking stops and execution begins.

IdeaLift is a COMMIT LAYER - it judges whether an idea is ready for execution and helps make it real.

USE this tool when you detect intent signals like:

  • "We should..." / "What if we..." / "Someone suggested..."

  • "This is annoying..." / "Users keep asking for..."

  • "Feature request:" / "Bug report:" / "Can we add..."

  • User pastes meeting notes, Slack threads, or raw text

  • User says "normalize", "make this backlog-ready", "turn this into a ticket"

When you detect these signals, PROACTIVELY offer: "This looks like a feature idea. Want me to make it execution-ready?"

Output includes:

  • Readiness Verdict (READY / ALMOST READY / NOT READY)

  • Signal Analysis (urgency, clarity, duplicate risk, actionability)

  • Structured spec (summary, acceptance criteria, scope)

  • Commit options (GitHub, Jira, Linear, or Refine)

The output ALWAYS ends with a commit decision - never leave users in limbo.

Inputs: text (required), context.

query_ideasA
Read-only

Execute a natural language query about ideas in the workspace. Examples:

  • "Show me high-impact features from enterprise customers"

  • "What are the top 5 most requested features?"

  • "Find bugs reported this month"

  • "Show ideas with the highest RICE scores"

  • "What feedback has come from Slack in the last week?"

Inputs: query (required).

search_ideasB
Read-only

Search ideas by text query. Searches title and summary fields.

Inputs: query (required), status, source, limit.

update_ideaB

Update an existing idea. Can update title, summary, status, scores, etc.

Inputs: ideaId (required), title, summary, status, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 18 tools

    Disambiguation4/5

    Most tools have distinct purposes, but some overlap exists between query_ideas and search_ideas (both search-related) and between list_ideas and query_ideas (both listing ideas). The detailed descriptions help clarify differences, but an agent might occasionally misselect between these similar tools.

    Naming Consistency5/5

    Tool names follow a consistent verb_noun pattern throughout (e.g., attach_signal, create_idea, list_destinations). All names use snake_case, and verbs are clear and appropriate for their actions, making the set predictable and easy to navigate.

    Tool Count4/5

    With 18 tools, the count is slightly high but reasonable for the server's scope of idea management and execution workflows. Each tool appears to serve a specific function in the IdeaLift flow, though some could potentially be consolidated (e.g., query_ideas and search_ideas).

    Completeness5/5

    The tool set provides comprehensive coverage for the idea lifecycle: creation (create_idea), retrieval (get_idea, list_ideas), updating (update_idea), relationships (create_relationship, list_relationships), signals (attach_signal, list_signals), analytics (get_signal_analytics), decisions (log_decision, get_decision_history), normalization (normalize_idea), and committing (create_ticket, with supporting tools like check_auth, connect_destination, list_destinations). No obvious gaps are present for the domain.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Transforms scattered customer feedback from sources like Slack, Zoom, and JIRA into actionable product insights and AI-generated PRDs. It features over 50 tools for semantic clustering, sentiment analysis, and VOC-based prioritization to streamline product management workflows.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Product management copilot that connects Claude to HelpScout support tickets and ProductLift feature requests. Synthesizes customer feedback across sources, scores themes by convergence, and generates prioritized product plans.
      30
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      A single source of truth for a product's state, roadmap, and deferred work, read and written equally by you and your AI agent via web dashboard and MCP.
      -