Skip to main content
Glama

mcp-server-zenn: Unofficial MCP server for Zenn (https://zenn.dev/)

Overview

This is an unofficial Model Context Protocol server for Zenn. Build on top of Zenn's dev API.

Related MCP server: Notion MCP Server

Features

  • Fetch a list of articles

  • Fetch a list of books

Run this project locally

This project is not yet set up for ephemeral environments (e.g. uvx usage). Run this project locally by cloning this repo:

git clone https://github.com/shibuiwilliam/mcp-server-zenn.git

You can launch the MCP inspector via npm:

npx @modelcontextprotocol/inspector uv --directory=src/mcp_server_zenn run mcp-server-zenn

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

OR Add this tool as a MCP server:

{
  "zenn": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/mcp-server-zenn",
      "run",
      "mcp-server-zenn"
    ]
  }
}

Deployment

(TODO)

License

Available Tools

2 tools
articleC

Fetch articles from Zenn.dev

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameNoUsername of the article author
topicnameNoTopic name of the article
orderNoOrder of the articles. Choose from latest or oldest
pageNoPage number of the articles. Default: 1
countNoNumber of articles per page. Default: 48

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Fetch articles' implies a read-only operation, but there's no information about authentication requirements, rate limits, error conditions, pagination behavior, or what format/articles are returned. For a tool with 5 parameters and no output schema, this leaves significant behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - just 4 words that directly state the tool's purpose. There's zero waste or unnecessary elaboration. It's perfectly front-loaded with the essential information in minimal space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no annotations, and no output schema, the description is insufficiently complete. 'Fetch articles from Zenn.dev' doesn't explain what kind of articles, what data is returned, authentication needs, or error handling. For a tool with this complexity and no structured behavioral hints, the description should provide more operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond 'Fetch articles from Zenn.dev' - it doesn't explain how parameters interact, what combinations are valid, or provide context beyond what's already in the schema descriptions. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Fetch articles from Zenn.dev' clearly states the action (fetch) and resource (articles from Zenn.dev), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'book' - we don't know if 'book' fetches different content or serves a different purpose, so this lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this tool is appropriate, what scenarios it's designed for, or how it differs from the sibling 'book' tool. The agent receives no usage context beyond the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bookC

Fetch books from Zenn.dev

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameNoUsername of the book author
topicnameNoTopic name of the book
orderNoOrder of the books. Choose from latest or oldest. Default: latest
pageNoPage number of the books. Default: 1
countNoNumber of books per page. Default: 48

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Fetch books' but doesn't clarify if this is a read-only operation, requires authentication, has rate limits, or what the return format looks like. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a tool with clear parameters documented elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'fetching books' entails (e.g., returns a list, format, pagination details) or behavioral aspects like error handling, leaving the agent with incomplete context for a tool with 5 parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all parameters well-documented in the input schema. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline for adequate but not enhanced coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Fetch') and resource ('books from Zenn.dev'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling 'article' tool, which likely fetches articles rather than books from the same platform.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the 'article' sibling tool or any alternatives. The description lacks context about use cases, prerequisites, or exclusions, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 2 tool updates
    • First observedarticle
    • First observedbook

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one fetches articles and the other fetches books from Zenn.dev. There is no overlap in functionality, and an agent can easily differentiate between them based on the resource type (articles vs. books).

Naming Consistency5/5

Both tools follow a consistent naming pattern using simple, descriptive nouns (article and book) that directly indicate the resource being fetched. There are no deviations in style or convention, making the naming straightforward and predictable.

Tool Count2/5

With only two tools, the server feels thin for a content platform like Zenn.dev. While fetching articles and books covers core read operations, the lack of tools for creating, updating, or managing content (e.g., publishing, searching, or user interactions) makes the set under-scoped for typical agent workflows.

Completeness2/5

The tool set is severely incomplete for a Zenn.dev server. It only supports fetching articles and books, missing essential operations such as creating or updating content, searching, managing user profiles, or handling interactions (e.g., likes, comments). This will likely cause agent failures when trying to perform common tasks beyond basic retrieval.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers