Token导航 LogoToken导航TokenDH.com
Hatena MCP Server logo
文档知识stdio官方级别未说明来源级核验

Hatena MCP Server

MCP Server

一个用于在Hatena博客上发布、更新和管理文章的MCP服务器,支持与AI助手如Claude Code集成,实现Markdown和Front Matter支持。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude文档处理Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

YusukeHayashiii

提供方

YusukeHayashiii

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest -q

详细介绍

Hatena博客MCP服务器

为了在博客上投稿、更新报道MCP(Model Context Protocol)服务器。Claude Code等的AI助手可以与博客合作进行报道管理。 因为是个人出于兴趣而开发的,所以请自己负责使用。

🚀 主要功能

  • 记事投稿:发布新博客文章
  • 记事更新:编辑和更新现有文章
  • 记事取得:获取指定文章的详细信息
  • 记事一覧:浏览博客文章
  • Markdown対応: Markdown直接从文件发布文章
  • Front Matter対応: YAML Front Matter元数据管理

📋 必要的准备

1.博客大巴API获取密钥

  1. 网易博客登录
  2. 从帐户设置API获取密钥
  3. 博客用户名和博客域(例如:username.hatenablog.com)确认

2.环境设定

项目根目录 .env 创建文件并设置以下信息:

HATENA_USERNAME=your_username
HATENA_BLOG_DOMAIN=your_username.hatenablog.com
HATENA_API_KEY=your_api_key_here

🛠️ 安装,安装

前提条件

  • Python 3.12以上
  • uv(Python 包管理器)

安装说明

  1. 克隆存储库
   git clone https://github.com/YusukeHayashiii/hatena-mcp-server.git
   cd hatena-mcp-server
  1. 安装相关性
   uv sync --extra dev
  1. 环境设定
   cp .env.example .env
   # .env ファイルを編集して認証情報を設定
  1. 测试运行
   uv run pytest -q

🏃 使用方法

MCP启动服务器

uv run src/hatena_blog_mcp/server.py

Claude Code 在中使用

  1. Claude Code 单击功能区上MCP 连接到服务器
  2. 查看可用工具
  3. 使用工具执行博客操作

Claude Code(VS Code/Claude Desktop)利用设定

  1. 创建配置文件(或添加到现有文件中)
  • ~/.claude.json 在中添加以下内容(在用户范围中添加)

正式文档 那么,那么claude add [args...] 虽然写着,但是因为没能设定好所以直接设定了……

{
  "mcpServers": {
    "hatena-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/hatena-mcp-server",
        "run",
        "src/hatena_blog_mcp/server.py"
      ]
    }
  }
}
  • 注意:

- /absolute/path/to/hatena-mcp-server 替换为实际项目路径 - .env 位于项目正下方(.env 自动加载假定存储库正下方) - 依赖关系需要提前 uv sync(也进行开发时 uv sync --extra dev

  1. Claude Code 重新启动
  • 重新启动后连接成功后 hatena-mcp 的工具群可用
  1. 动作确认
  • 在工具列表中 create_blog_post, update_blog_post, get_blog_post, list_blog_posts, create_blog_post_from_markdown 显示
  • 示例(请求获取列表):
list_blog_posts(limit=5) を実行してください
  1. 常见错误
  • 未显示工具: .mcp.json 路径/拼写错误--directory 确认路径错误
  • 验证错误: .env 的,之 HATENA_USERNAME, HATENA_BLOG_DOMAIN, HATENA_API_KEY 重新确认
  • 参考:设置文件的放置位置为官方文档(Claude Code 配置指南),模板名称将采用不同的格式

🔧 可用的MCP工具

create_blog_post

发布新的博客文章。

参数:

  • title (必需):文章标题
  • content (必须):记事の本文(HTML形式)
  • categories (可选):类别列表

使用例:

create_blog_post(
    title="新しい記事",
    content="
記事の本文です。
",
    categories=["技術", "Python"]
)

update_blog_post

更新现有文章。

参数:

  • post_id (必需):更新文章的ID
  • title (可选):新标题
  • content (可选):新正文
  • categories (可选):新类别

get_blog_post

获取指定文章的详细信息。

参数:

  • post_id (必需):获取的文章的ID

list_blog_posts

获取博客文章列表。

参数:

  • limit (可选):获取的文章数量上限(默认值:10,最大值:100)

create_blog_post_from_markdown

Markdown从文件中发布文章。

参数:

  • path (必需):Markdown文件路径

Front Matter例:

---
title: 記事のタイトル
categories: [技術, Python]
---

# 記事本文

Markdownで記述された本文がHTMLに変換されます。

🧪 测试

运行所有测试

uv run pytest -v

仅运行单元测试

uv run pytest tests/unit/ -v

仅运行集成测试

uv run pytest tests/integration/ -v

覆盖测试

uv run pytest --cov=src --cov-report=html

📁 项目结构

hatena-mcp-server/
├── src/
│   └── hatena_blog_mcp/
│       ├── server.py              # MCP サーバーのメイン実装
│       ├── auth.py                # WSSE 認証管理
│       ├── blog_service.py        # ブログ操作サービス
│       ├── config.py              # 設定管理
│       ├── error_handler.py       # エラーハンドリング
│       ├── http_client.py         # HTTP クライアント
│       ├── markdown_importer.py   # Markdown インポーター
│       ├── models.py              # データモデル
│       ├── rate_limiter.py        # レート制限
│       ├── service_factory.py     # サービスファクトリ
│       └── xml_processor.py       # AtomPub XML 処理
├── tests/
│   ├── unit/                      # ユニットテスト
│   └── integration/               # 統合テスト
├── .env.example                   # 環境変数テンプレート
├── pyproject.toml                 # プロジェクト設定
└── README.md                      # このファイル

🛠️ 开発

开发环境设置

# 開発用依存関係込みでインストール
uv sync --extra dev

# プリコミットフックの設定
uv run pre-commit install

代码质量检查

# リンティング
uv run ruff check src tests

# 型チェック  
uv run mypy src

# フォーマット
uv run ruff format src tests

🐛 故障排除

发生认证错误时

  1. .env 确认文件的设定值
  2. 在博客的设定画面上API确认密钥是否有效
  3. 验证用户名和博客域是否正确

发生网络错误时

  1. 检查互联网连接
  2. 检查防火墙设置
  3. 如果需要代理设置,则设置环境变量

如果测试失败

# テスト用環境変数を設定
export HATENA_USERNAME=test_user
export HATENA_BLOG_DOMAIN=test_user.hatenablog.com
export HATENA_API_KEY=test_key

# テスト実行
uv run pytest -v

📚 参考资料

📝 许可证

MIT许可证

📧 联系我们

如果有问题或建议问题 请通知我。

目录标签

目录标签

PythonClaude文档处理博客管理本地部署MCP服务器Hatena博客AI集成Markdown支持

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP