{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card/v1",
  "name": "eunerd-mcp",
  "title": "EuNerd MCP Server",
  "version": "1.11.0",
  "description": "MCP publico do portal EuNerd. v50: tool content_gap_internal detecta gaps ESTRUTURAIS (categorias com muitos satelites e ZERO pillar) sem dependencia de GSC. Permite que agentes de IA listem categorias, busquem (keyword + semantic via pgvector real), leiam artigos completos em markdown, RESUMAM artigos sob demanda, COMPAREM dois ou conjuntos de artigos com similaridade semantica vetorial 256d, CONSTRUAM GRAFOS SEMANTICOS, recuperem artigos relacionados, executem busca semantica vetorial real, extraiam blocos de codigo executaveis, acessem Resources estaticos e cadastrem usuarios. Tematica: tecnologia, IT, ciberseguranca, cloud, hardware, infraestrutura e gestao de TI em PT-BR.",
  "homepage": "https://eunerd.com.br",
  "publisher": {
    "name": "EuNerd",
    "url": "https://eunerd.com.br",
    "contact": "contato@eunerd.com.br"
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://eunerd.com.br/mcp"
  },
  "authentication": {
    "type": "none",
    "note": "Read-only tools sao publicos. signup_user cria conta no Supabase Auth."
  },
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": false
  },
  "tools": [
    { "name": "list_categories", "description": "Lista todas as categorias do portal" },
    { "name": "list_articles", "description": "Lista artigos publicados (filtravel por categoria, paginado)" },
    { "name": "read_article", "description": "Le um artigo completo em markdown por slug" },
    { "name": "summarize_article", "description": "Resume um artigo em 3-7 frases (sampling-aware: usa LLM do agente se disponivel, senao fallback extrativo)" },
    { "name": "compare_articles", "description": "Compara dois artigos por slug COM SIMILARIDADE SEMANTICA VETORIAL 256d (cosine, pgvector real quando disponivel) + tags compartilhadas/divergentes + deltas; recomenda qual ler primeiro com bucket high/medium/low" },
    { "name": "compare_set", "description": "Compara um CONJUNTO de 3-8 artigos n-way: matriz de similaridade, tags compartilhadas globais, outlier e TRILHA de leitura otimizada (greedy path)" },
    { "name": "topic_graph", "description": "v43 NEW: Constroi grafo semantico NxN de um cluster topical (nodes+edges+densidade+centroide) a partir de um seed slug via pgvector. Util para mapear topical authority, knowledge graph injection (RAG)" },
    { "name": "search_articles", "description": "Busca artigos por palavras-chave (similaridade)" },
    { "name": "semantic_search", "description": "Busca semantica por proximidade de conceito (v42 hibrido: pgvector real RPC match_articles_by_embedding com fallback fingerprint 256d)" },
    { "name": "code_examples", "description": "Extrai blocos de codigo executaveis (bash/python/sql/yaml/ts) de um artigo. Retorna runnable=true para snippets seguros para code-execution agents." },
    { "name": "get_trending", "description": "Artigos em alta nos ultimos 7 dias" },
    { "name": "related_articles", "description": "Artigos relacionados a um slug (v42 hibrido: pgvector real com fallback heuristico tags+titulo)" },
    { "name": "article_mentions", "description": "Retorna bloco JSON-LD schema.org WebPage.mentions[] de um artigo: top-N artigos semanticamente proximos via pgvector. Util para enriquecer respostas de IA com grafo de conhecimento (v42)" },
    { "name": "get_pillar_pages", "description": "Pillar pages / hubs de topical authority" },
    { "name": "content_gap_internal", "description": "v50: Detecta gaps ESTRUTURAIS internos — categorias com muitos satelites e ZERO pillar 'Tudo Sobre'. Independente de GSC." },
    { "name": "pillar_forge_request", "description": "v51: Agente IA sugere criação de pillar page para categoria órfã. Enfileira (não executa) para curadoria. Crowdsourcing: votos acumulam quando múltiplos agentes pedem a mesma categoria." },
    { "name": "list_pillar_requests", "description": "v51: Lista pillar requests pendentes ordenadas por votos." },
    { "name": "signup_user", "description": "Cria uma conta de usuario (email + senha)" }
  ],
  "resources": [
    { "uri": "eunerd://sitemap", "name": "Sitemap completo", "mimeType": "application/xml" },
    { "uri": "eunerd://llms-full", "name": "llms-full.txt — todo conteudo navegavel", "mimeType": "text/markdown" },
    { "uri": "eunerd://categories", "name": "Categorias com contagem", "mimeType": "application/json" }
  ],
  "license": "CC BY 4.0",
  "tags": ["tecnologia", "ti", "noticias", "tutoriais", "brasil", "pt-br", "code-execution", "geo", "agent-ready", "vector-similarity", "pgvector-ready"]
}
