返回市场
光环-MCP服务器

光环-MCP服务器

作者:Huangwh8267 星标更新:2025-10-29

项目介绍

Halo MCP Server

<div align="center">

Python 版本 MCP License PyPI 版本 下载量

让AI成为您的博客管理助手

通过MCP Halo 将博客系统与AI助手如Claude、cursor、Qoder、Trae等无缝集成

快速开始功能特性使用示例相关文档开发测试变更日志贡献支持项目

</div> <div align="center">

如果这个项目对您有帮助,请欢迎赞赏和支持

</div> <div align="center"> <img src="assets/sponsor.png" alt="赞赏码" width="300"/>

感谢您的支持!

</div>

📖 介绍

Halo MCP Server 是一个基于Python的MCP服务器,提供完整的Halo博客管理能力给AI助手。通过自然语言对话,您可以轻松完成所有博客管理操作,如文章创建、编辑和发布,并利用强大的AI能力进行智能写作、内容优化和SEO改进。

🎬 视频演示

<div align="center">

观看视频演示

📺 点击观看完整演示视频 -Bilibili

该视频展示了如何通过自然语言和AI对话管理Halo博客

</div>

🎯 核心价值

  • 🤖 AI驱动 -无需记忆复杂命令,通过自然语言管理博客
  • ✍️ 智能写作 -10个专业提示助手覆盖整个写作过程
  • 🚀 高效管理 -30多个管理工具,一句话完成复杂操作
  • 🔄 无缝集成 -完美兼容Claude Desktop,开箱即用
  • 📝 完整功能 -支持文章、分类、标签、附件等所有管理功能

✨ 功能

📝 文章管理 (9个工具)

<table> <tr> <td width="50%">

基本操作

  • ✅ 创建文章(支持Markdown)
  • ✅ 编辑文章(标题、内容、设置)
  • ✅ 发布/取消发布文章
  • ✅ 删除文章(回收站)
  • ✅ 列出我的文章(分页、过滤)
</td> <td width="50%">

高级功能

  • ✅ 草稿管理(查看、编辑草稿)
  • ✅ 分类和标签管理
  • ✅ 置顶/取消置顶文章
  • ✅ 设置封面图片
  • ✅ 自定义URL别名
</td> </tr> </table>

🏷️ 分类标签 (13个工具)

<table> <tr> <td width="50%">

分类管理 (6)

  • ✅ 列出所有分类
  • ✅ 创建分类(支持层级结构)
  • ✅ 更新分类(名称、描述、封面)
  • ✅ 删除分类
  • ✅ 获取分类详情
  • ✅ 查看分类下的文章
</td> <td width="50%">

标签管理 (7)

  • ✅ 列出所有标签
  • ✅ 创建标签(支持颜色)
  • ✅ 更新标签(名称、颜色)
  • ✅ 删除标签
  • ✅ 获取标签详情
  • ✅ 查看标签下的文章
  • ✅ 控制台标签列表
</td> </tr> </table>

📎 附件管理 (8个工具)

  • ✅ 列出附件(支持过滤)
  • ✅ 上传本地文件
  • ✅ 从URL上传
  • ✅ 删除附件
  • ✅ 附件分组管理
  • ✅ 查看附件详情
  • ✅ 创建附件组
  • ✅ 查看存储策略

🤖 AI写作助手 (10个提示)

<table> <tr> <td width="50%">

内容创作

  • 🎨 博客写作助手 - 生成高质量文章
  • ✨ 内容优化器 - 改善可读性和结构
  • 🎯 SEO优化器 - 提升搜索排名
  • 📰 标题生成器 - 创建吸引人的标题
  • 📋 摘要生成器 - 自动生成文章摘要
</td> <td width="50%">

可用性

  • 🏷️ 标签建议 - 智能推荐标签
  • 📂 分类建议 - 推荐合适的分类
  • 🌐 内容翻译器 - 多语言翻译
  • ✏️ 内容校对 - 检查语法和拼写
  • 📚 系列规划师 - 规划系列文章
</td> </tr> </table>

🚀 快速开始

📋 预备条件

  1. Python 3.10 或更高版本

    python --version  # 确认版本 >=  3.10
    
  2. 运行中的Halo博客系统

    • Halo 2.21 或更高版本
    • 记录服务器地址(例如 http://localhost:8091https://yourdomain.com
  3. Claude Desktop或其他MCP兼容客户端

📦 安装

方法1:从源代码安装(开发)

# 1. 克隆或下载项目
git clone https://github.com/Huangwh826/halo-mcp-server.git
cd halo-mcp-server

# 2. 创建虚拟环境(推荐)
python -m venv venv

# 3. 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 4. 安装项目(可编辑模式)
pip install -e .

方法2:使用pip安装(推荐)

pip install halo-mcp-server

🔧 配置

第一步:获取Halo访问令牌

  1. 登录到Halo后台管理系统
  2. 进入个人中心个人令牌
  3. 点击生成新令牌
  4. 设置令牌名称(例如“MCP Server”)
  5. 选择权限(建议勾选所有内容管理权限)
  6. 保存并复制生成的令牌(仅显示一次)

第二步:配置Claude Desktop

找到并编辑Claude Desktop配置文件:

文件位置:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

配置内容:

{
  "mcpServers": {
    "halo-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "halo_mcp_server"
      ],
      "env": {
        "HALO_BASE_URL": "your_halo_base_url_here",
        "HALO_TOKEN": "your_halo_token_here"
      }
    }
  }
}

📝 配置说明:

配置项描述示例
commandPython解释器路径pythonC:\\Python310\\python.exe
HALO_BASE_URLHalo服务器地址http://localhost:8091https://blog.example.com
HALO_TOKENAPI访问令牌从Halo后台获取的令牌

💡 提示:

  1. 当使用虚拟环境时,将 command 更改为虚拟环境中的Python:

    "command": "D:\\Project\\halo-mcp\\venv\\Scripts\\python.exe"
    
  2. 查找Python路径

    # Windows
    where python
    
    # macOS/Linux
    which python
    
  3. 远程Halo服务确保使用完整的URL(包括 http://https://

第三步:重启Claude Desktop

完全关闭并重新启动Claude Desktop以加载新的配置。

✅ 验证安装

在Claude Desktop中输入以下测试命令:

请列出我的所有博客文章

预期结果

  • Claude将调用Halo MCP Server
  • 返回您的文章列表
  • 如果没有文章,将提示“没有可用的文章”

成功标志:

  • ✅ 没有错误报告
  • ✅ 返回文章列表或提示信息
  • ✅ Claude理解了“列出文章”的指令

💬 使用示例

📖 完整示例文档:查看 examples/README.md 获取6个详细的示例和完整代码

🚀 快速开始quick_start_example.md -5分钟了解基本使用方法

🌟 自然语言交互(推荐)

Halo MCP Server最大的优势是支持自然语言对话,无需记忆复杂的命令

📝 文章创建

👤 用户:帮我写一篇关于 Python 异步编程的技术文章并发布

🤖 Claude:
好的!我来帮你创作这篇文章。

[自动触发 halo_blog_writing_assistant Prompt]
→ 生成 2000 字专业文章
→ 推荐标签:Python、异步编程、asyncio
→ 推荐分类:技术教程
→ 调用 create_post 创建文章
→ 调用 publish_post 发布

✓ 文章《Python异步编程完全指南》已成功创建并发布!

🔍 文章管理

# 查看文章
请显示我最近发布的5篇文章

# 搜索文章
搜索标题包含"Python"的文章

# 编辑文章
把"Python教程"这篇文章的标题改为"Python入门指南"

# 删除文章
删除名为"test-post"的文章

✨ 内容优化

# 优化文章
请优化"Python教程"这篇文章,让它更通俗易懂

# 生成标题
为这篇文章生成5个吸引人的标题

# SEO优化
帮这篇文章做SEO优化,关键词是:Python、教程、入门

🏷️ 分类标签

# 创建分类
创建一个名为"技术教程"的分类,描述是"各类技术教程文章"

# 创建标签
创建标签:Python、JavaScript、TypeScript,颜色设置为蓝色

# 批量操作
为"Python教程"文章添加标签:Python、编程、教程

📎 附件管理

# 上传图片
上传这张图片作为文章封面:https://example.com/image.jpg

# 查看附件
列出所有图片附件

# 创建分组
创建一个名为"文章配图"的附件分组

📚 完整工作流示例

场景:从零开始发布一篇技术博客

👤 用户:我想写一篇关于 Docker 容器化的技术文章

🤖 Claude:
好的!我来帮你完成整个创作和发布流程。

步骤1: 内容创作
[触发 halo_blog_writing_assistant]
→ 生成完整文章(包含简介、核心概念、实践示例、总结)

步骤2: 标题优化
[触发 halo_title_generator]
→ 提供5个标题选项供选择

步骤3: SEO优化
[触发 halo_seo_optimizer]
→ 优化关键词布局
→ 生成Meta描述

步骤4: 分类标签
[触发 halo_tag_suggester]
→ 推荐标签:Docker、容器化、DevOps、云原生
[触发 halo_category_suggester]
→ 推荐分类:云原生技术

步骤5: 创建并发布
[调用 create_post]
→ 创建文章
[调用 publish_post]
→ 发布文章

✓ 完成!文章《Docker容器化实践指南》已成功发布
  - 字数:2000字
  - 标签:Docker、容器化、DevOps、云原生
  - 分类:云原生技术
  - 文章链接:https://yourblog.com/posts/docker-guide

🎯 核心概念

MCP Tools vs Prompts

Halo MCP Server提供了两种不同的能力:

<table> <tr> <th width="15%">类型</th> <th width="35%">Tools(工具)</th> <th width="35%">Prompts(提示助手)</th> <th width="15%">对比</th> </tr> <tr> <td><strong>数量</strong></td> <td>30 个</td> <td>10 个</td> <td>互补配合</td> </tr> <tr> <td><strong>用途</strong></td> <td>执行具体操作(CRUD)</td> <td>生成内容指导</td> <td>工具执行<br>提示生成</td> </tr> <tr> <td><strong>显示</strong></td> <td>✅ 在工具列表中可见</td> <td>❌ 后台自动触发</td> <td>显式 vs 隐式</td> </tr> <tr> <td><strong>调用</strong></td> <td>Claude主动调用API</td> <td>根据意图自动匹配</td> <td>API vs 智能</td> </tr> <tr> <td><strong>示例</strong></td> <td> • create_post - 创建文章<br> • list_categories - 列出分类<br> • upload_attachment - 上传附件 </td> <td> • 博客写作助手 - 生成文章<br> • SEO优化器 - 优化内容<br> • 标签建议器 - 推荐标签 </td> <td>操作 vs 创作</td> </tr> <tr> <td><strong>触发方式</strong></td> <td> 明确的操作指令:<br> "创建文章"<br> "上传图片" </td> <td> 描述性需求:<br> "写一篇文章"<br> "优化内容" </td> <td>命令 vs 对话</td> </tr> </table>

💡 实际工作流:

用户: "帮我写一篇Python教程并发布"
     ↓
Prompts: halo_blog_writing_assistant → 生成文章内容
     ↓
Tools: create_post → 创建文章到 Halo
     ↓
Tools: publish_post → 发布文章
     ↓
结果: ✓ 文章创建并发布成功

为什么看不到Prompts?

这是MCP的优秀设计

  • 用户友好 -无需记住提示名称
  • 智能匹配 -AI自动理解意图并选择合适的提示
  • 无感知 -后台自动工作,用户只需描述需求
  • 灵活性 -可以用多种方式表达相同的需求

与传统方法相比:

# ❌ 传统CLI方式
$ halo-cli create-post \
  --title "Python教程" \
  --content-file article.md \
  --tags "Python,教程" \
  --category "编程" \
  --publish

# ✅ MCP方式(自然语言)
帮我写一篇Python教程并发布

📚 文档

核心文档

文档描述
快速开始5分钟快速开始指南
设计文档系统架构和设计理念
MCP Prompts指南10个写作助手的详细解释
Prompts vs Tools两者之间的差异和使用方法
使用示例完整的使用示例集合

API文档

文档描述
API组织Halo API整理
控制台APIHalo控制台API
公共APIHalo公共API
[