Zenn Articles

Um servidor para pesquisar artigos na plataforma de blogs Zenn.

Documentação

@sakupi01/zenn-articles

npm version Release Deploy Publish Docker image

Um servidor MCP para funcionalidade de busca de blogs!

Disponível como Pacote Local e Servidor Remoto.

Uso

Usando no Cliente MCP

Você pode usar o servidor MCP @sakupi01/zenn-articles no Cliente MCP com os seguintes métodos:

Usar como Servidor MCP Local

Opção 1: Usar Imagem Docker
# Pull the Docker image from Docker Hub
docker pull sakupi/zenn-articles

Para usar a Imagem Docker, adicione o seguinte estilo de configuração ao seu Host. Por exemplo, claude_desktop_config.json:

{
  "mcpServers": {
    "@sakupi01.com/mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--network=host",
        "sakupi/zenn-articles"
      ]
    }
  }
}
Opção 2: Usar npx
# Run the MCP server directly using npx
npx @sakupi01/zenn-articles

Adicione as seguintes configurações à configuração do seu cliente MCP:

{
  "mcpServers": {
    "zenn-articles": {
      "command": "npx",
      "args": [
        "@sakupi01/zenn-articles"
      ]
    }
  }
}

Executando o Servidor MCP Localmente

import { runServer } from "@sakupi01/zenn-articles/remote";

// Start server with default settings (port 8000)
runServer();

Em seguida, adicione http://localhost:8000/mcp como a URL do servidor no seu Cliente MCP.

Usando o Servidor MCP Remoto

Você pode usar o servidor MCP já implantado como um endpoint de API:

"mcp": {
  "servers": {
    "sakupi01-mcp": {
      "type": "http",
      "url": "https://zenn-mcp.sakupi01.com/mcp"
    }
  }
}

Ferramentas Disponíveis

Ferramenta de Busca de Blog (search_cy_fe_articles)

Busque postagens de blog por título, descrição, URL, tags e conteúdo.
Múltiplas palavras-chave separadas por espaços são tratadas como condições OR.

Parâmetros

  • query: Consulta de busca (obrigatório, 1-100 caracteres)
  • limit: Número máximo de resultados a retornar (opcional, padrão: 10, máximo: 100)
  • offset: Deslocamento de resultados (opcional, padrão: 0)
  • order: Ordem de classificação (opcional, "desc" (mais recentes primeiro) ou "asc" (mais antigos primeiro), padrão: "desc")

Exemplo de Resposta

{
  "total": 1,
  "offset": 0,
  "limit": 2,
  "order": "desc",
  "query": {
    "original": "Form Control",
    "keywords": [
      "form",
      "control"
    ],
    "exactPhrases": []
  },
  "results": [
    {
      "title": "Form Control Styling Level 1 など: Cybozu Frontend Weekly (2025-03-25号)",
      "pubDate": "2025-03-28T03:00:00.000Z",
      "description": "サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。",
      "link": "https://zenn.dev/cybozu_frontend/articles/frontend_weekly_example",
      "content": "こんにちは!サイボウズ株式会社フロントエンドエンジニアの[saku (@sakupi01)](https://x.com/sakupi01)です。\n\n# はじめに\n\nサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。\n\n今回は、2025/03/25のFrontend Weeklyで取り上げた記事や話題を紹介します。",
      "tags": [
        "CybozuFrontendWeekly",
        "frontend"
      ],
      "score": 10
    }
  ]
}

Prompts Disponíveis

Geração de Conteúdo Semanal de Frontend (fe-weekly)

Gere resumos semanais de conteúdo de frontend para URLs fornecidas no estilo do Cybozu Frontend Weekly.

Parâmetros

  • urls: Uma lista de URLs para gerar conteúdo semanal de frontend

Exemplo de Uso

# In Claude Desktop
@zenn-articles fe-weekly urls="https://example.com/article1\nhttps://example.com/article2"

O prompt usa a ferramenta de busca de blog internamente para encontrar conteúdo relacionado e fornece resumos consistentes e bem formatados com:

  • Breve descrição (cerca de 2-3 linhas)
  • Contexto sobre a tecnologia ou recurso
  • Implicações futuras ou considerações
  • Segue as diretrizes de estilo do Cybozu Frontend Weekly

Executando Testes

Instale as dependências e execute os testes:

pnpm test

Changelog

Consulte a página de Releases.

Licença

Lançado sob a Licença MIT. Consulte o arquivo LICENSE para detalhes.