Skip to main content
Glama
zenn-articles

zenn-articles

by sakupi01

@sakupi01/zenn-articles

npm version Release Deploy Publish Docker image

An MCP Server for blog search functionality!

Available as Local Package and Remote Server.

Usage

Using in MCP Client

You can use @sakupi01/zenn-articles MCP server in MCP Client with the following methods:

Use as Local MCP Server

Option 1: Use Docker Image
# Pull the Docker image from Docker Hub
docker pull sakupi/zenn-articles

To use Docker Image, add the following style of setting to your Host:. For example, claude_desktop_config.json:

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

Add the following settings to your MCP client configuration:

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

Running the MCP Server Locally

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

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

Then, Add http://localhost:8000/mcp as the server URL to your MCP Client.

Using the Remote MCP Server

You can use the already deployed MCP server as an API endpoint:

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

Related MCP server: Keenable MCP Server

Available Tools

Blog Search Tool (search_cy_fe_articles)

Search blog posts by title, description, URL, tags, and content.
Multiple keywords separated by spaces are treated as OR conditions.

Parameters

  • query: Search query (required, 1-100 characters)

  • limit: Maximum number of results to return (optional, default: 10, max: 100)

  • offset: Result offset (optional, default: 0)

  • order: Sort order (optional, "desc" (newest first) or "asc" (oldest first), default: "desc")

Example Response

{
  "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
    }
  ]
}

Available Prompts

Frontend Weekly Content Generation (fe-weekly)

Generate frontend weekly content summaries for given URLs in the style of Cybozu Frontend Weekly.

Parameters

  • urls: A list of URLs to generate frontend weekly content for

Example Usage

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

The prompt uses the blog search tool internally to find related content and provides consistent, well-formatted summaries with:

  • Brief description (about 2-3 lines)

  • Context about the technology or feature

  • Future implications or considerations

  • Follows Cybozu Frontend Weekly style guidelines

Running Tests

Install dependencies and run tests:

pnpm test

Changelog

See the Releases page.

License

Released under the MIT License. See the LICENSE file for details.

Available Tools

2 tools
get_eg_cy_fe_articleC

Get A first article from frontend weekly articles as an example

search_cy_fe_articlesB

Search items by title, description, URL, tags, and content. Multiple keywords separated by spaces are searched as OR conditions

Inputs: query (required), limit, offset, order.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: one retrieves a specific example article, the other searches articles by various criteria. There is no overlap.

    Naming Consistency4/5

    Both tools use a consistent verb_noun pattern in snake_case. However, the use of cryptic abbreviations like 'eg_cy_fe' reduces readability but maintains consistency.

    Tool Count2/5

    With only 2 tools, the server feels too thin for its apparent domain of managing articles. Even for a read-only article server, one would expect more retrieval options or related operations.

    Completeness2/5

    The tool surface is severely incomplete. The domain likely involves articles (CRUD, listing), but only a get-example and search are provided. Missing: create, update, delete, list all, get by ID, etc.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that provides code search capabilities for AI tools and LLMs using Zoekt, allowing for searching across codebases with advanced query syntax and content fetching.
      23
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      An MCP server that enables web search and page content retrieval via the Keenable API, supporting search with filters and fetching clean markdown content from indexed URLs.
      2
      374 npm
      MIT