painspotter

AI-analyzed startup opportunities from Reddit, Hacker News & Product Hunt, with commercial scores.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
84%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,334Tokens (definiciones de herramientas)
~1.2 KBTamaño de respuesta típico
Impacto moderado en la atención (1.04% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "painspotter": {
      "url": "https://painspotter.ai/mcp"
    }
  }
}

Puntos de conexión remotos

https://painspotter.ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_overview

Get a global overview of PainSpotter: all domain categories (with theme count, opportunity count and 30-day mentions) plus a snapshot of currently trending themes. A good first step to map the landscape before drilling in with the other tools. (Free tool)

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_opportunity(opportunity_id)

Get the full detail of a specific opportunity: description, score breakdown, MVP features, competitors, differentiation, risks and community evidence count. (Free tool)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "opportunity_id": {
      "description": "Opportunity ID, taken from query_opportunities or get_overview results.",
      "type": "integer"
    }
  },
  "required": [
    "opportunity_id"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢query_opportunities(query, min_score, platform, recommendation, category, ...)

Unified opportunity search: filter by keyword, minimum score, platform, recommendation tier and domain category, then sort the results. (Pro tool)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Keyword matched against title + description, e.g. \"sleep tracker\", \"AI writing\". Empty = no keyword filter."
    },
    "min_score": {
      "default": 0,
      "description": "Minimum overall score, 0-100. Default 0.",
      "type": "integer"
    },
    "platform": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Platform filter: reddit / hackernews / producthunt / stackexchange. Empty = all platforms."
    },
    "recommendation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Recommendation tier: Build / Validate / Skip. Empty = all tiers."
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Category slug from get_overview, e.g. ai-developer-tools. Empty = all categories."
    },
    "sort": {
      "default": "score",
      "description": "Sort order: 'score' (default, by overall score) or 'recent' (by creation time).",
      "type": "string"
    },
    "page_size": {
      "default": 10,
      "description": "Number of results to return, 1-30. Default 10.",
      "type": "integer"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢list_trending_themes(limit, min_mentions)

List themes that are currently heating up (sorted by trend change %), to catch demand that is growing. A theme is the "market-signal layer": it aggregates multiple opportunities and carries 30-day mentions, trend direction and audience clarity. (Pro tool)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 15,
      "description": "Number of themes to return, 1-30. Default 15.",
      "type": "integer"
    },
    "min_mentions": {
      "default": 2,
      "description": "Minimum 30-day discussion count, filters out noise. Default 2.",
      "type": "integer"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_theme(theme)

Get the full market signal for a single theme: trend, 30-day / all-time mentions, signal channels, audience clarity and market summary, plus the top-scoring opportunities under it (including the Best Bet flagship opportunity). (Pro tool)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "theme": {
      "description": "Theme ID (numeric) or slug (string), from list_trending_themes / get_overview.",
      "type": "string"
    }
  },
  "required": [
    "theme"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢list_blog_posts(limit)

List recent published PainSpotter blog posts — weekly long-form analyses of validated business opportunities (who's hurting, why now, how to build it). Free; does not consume API quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 10,
      "description": "Number of posts to return, 1-30. Default 10.",
      "type": "integer"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_blog_post(slug)

Get the full Markdown body of one published blog post by its slug. Free; does not consume API quota. Content is an original AI synthesis with no verbatim community quotes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Article slug, taken from list_blog_posts results.",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas