Zenn Articles

Un servidor para buscar artículos en la plataforma de blogs Zenn.

Documentación

@sakupi01/zenn-articles

npm version Release Deploy Publish Docker image

¡Un servidor MCP para funcionalidad de búsqueda de blogs!

Disponible como paquete local y servidor remoto.

Uso

Uso en el cliente MCP

Puedes usar el servidor MCP @sakupi01/zenn-articles en el cliente MCP con los siguientes métodos:

Uso como servidor MCP local

Opción 1: Usar imagen Docker
# Pull the Docker image from Docker Hub
docker pull sakupi/zenn-articles

Para usar la imagen Docker, agrega el siguiente estilo de configuración a tu Host:. Por ejemplo, claude_desktop_config.json:

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

Agrega la siguiente configuración a tu cliente MCP:

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

Ejecutar el servidor MCP localmente

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

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

Luego, agrega http://localhost:8000/mcp como la URL del servidor a tu cliente MCP.

Uso del servidor MCP remoto

Puedes usar el servidor MCP ya desplegado como un endpoint de API:

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

Herramientas disponibles

Herramienta de búsqueda de blogs (search_cy_fe_articles)

Busca publicaciones de blog por título, descripción, URL, etiquetas y contenido.
Las múltiples palabras clave separadas por espacios se tratan como condiciones OR.

Parámetros

  • query: Consulta de búsqueda (obligatorio, 1-100 caracteres)
  • limit: Número máximo de resultados a devolver (opcional, predeterminado: 10, máximo: 100)
  • offset: Desplazamiento de resultados (opcional, predeterminado: 0)
  • order: Orden de clasificación (opcional, "desc" (más reciente primero) o "asc" (más antiguo primero), predeterminado: "desc")

Ejemplo de respuesta

{
  "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 disponibles

Generación de contenido semanal de frontend (fe-weekly)

Genera resúmenes de contenido semanal de frontend para las URLs dadas en el estilo de Cybozu Frontend Weekly.

Parámetros

  • urls: Una lista de URLs para generar contenido semanal de frontend

Ejemplo de uso

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

El prompt usa la herramienta de búsqueda de blogs internamente para encontrar contenido relacionado y proporciona resúmenes consistentes y bien formateados con:

  • Descripción breve (aproximadamente 2-3 líneas)
  • Contexto sobre la tecnología o característica
  • Implicaciones o consideraciones futuras
  • Sigue las pautas de estilo de Cybozu Frontend Weekly

Ejecutar pruebas

Instala las dependencias y ejecuta las pruebas:

pnpm test

Registro de cambios

Consulta la página de Releases.

Licencia

Publicado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.