Hashnode Mcp Server

Hashnode Mcp Server

🚀 Hashnode MCP 服务器

这是一个用于与 Hashnode API 交互的模型上下文协议(MCP)服务器。该服务器提供了以编程方式访问和搜索 Hashnode 内容的工具。

🚀 快速开始

演示

  • 创建文章
  • 更新文章

✨ 主要特性

  • 创建并发布新文章
  • 更新现有文章
  • 按关键词搜索文章
  • 获取文章详情
  • 获取用户信息
  • 从出版物中获取最新文章

📦 安装指南

  1. 克隆仓库:
    git clone https://github.com/sbmagar13/hashnode-mcp-server.git
    cd hashnode-mcp-server
    
  2. 创建并激活虚拟环境:
    python -m venv .venv
    source .venv/bin/activate  # 在 Windows 上使用:.venv\Scripts\activate
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 在根目录下创建一个 .env 文件,并填入你的 Hashnode API 凭证:
    HASHNODE_PERSONAL_ACCESS_TOKEN=your_personal_access_token
    HASHNODE_API_URL=https://gql.hashnode.com
    

💻 使用示例

启动服务器

你有两种方式来运行服务器:

方式 1:手动运行服务器

python run_server.py

或者直接使用根文件:

python mcp_server.py

服务器将启动并监听来自 AI 助手的连接。默认情况下,它使用服务器发送事件(SSE)传输协议在 localhost:8000 上运行。

方式 2:让 MCP 集成自动处理

当在 Claude Desktop 或 Cline VSCode 扩展中正确配置后,MCP 集成将自动为你启动和管理服务器进程。

文件结构的重要说明

当在 Claude Desktop 或 Cline VSCode 扩展中配置你的 MCP 服务器时,你应该直接使用根 mcp_server.py 文件,而不是 hashnode_mcp 目录中的文件。hashnode_mcp 目录主要用于打包。

可用工具

服务器提供以下工具:

  • test_api_connection():测试与 Hashnode API 的连接
  • create_article(title, body_markdown, tags="", published=False):在 Hashnode 上创建并发布新文章
  • update_article(article_id, title=None, body_markdown=None, tags=None, published=None):更新 Hashnode 上的现有文章
  • get_latest_articles(hostname, limit=10):按主机名从 Hashnode 出版物中获取最新文章
  • search_articles(query, page=1):在 Hashnode 上搜索文章
  • get_article_details(article_id):获取特定文章的详细信息
  • get_user_info(username):获取 Hashnode 用户的信息

使用 MCP 服务器

服务器启动后,你可以将其与支持模型上下文协议(MCP)的 AI 助手(如 Claude)一起使用。助手将能够使用服务器提供的工具与 Hashnode API 进行交互。 这些工具可用于:

  • 测试 API 连接
  • 创建并发布新文章
  • 更新现有文章
  • 从出版物中获取最新文章
  • 搜索文章
  • 获取特定文章的详细信息
  • 获取用户信息

📚 详细文档

在 Claude Desktop 和 Cline VSCode 扩展上配置 MCP

Cline VSCode 扩展

  1. 导航到 Cline MCP 设置文件:
    • Windows:%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • macOS:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings\cline_mcp_settings.json
    • Linux:截至目前,Claude Desktop 暂不支持 Linux(你可以使用 Cline 扩展代替)
  2. 添加你的 Hashnode MCP 服务器配置:
    {
    "mcpServers": {
    "hashnode": {
    "command": "/path/to/your/venv/bin/python",
    "args": [
    "/path/to/your/hashnode-mcp-server/mcp_server.py"
    ],
    "env": {
    "HASHNODE_PERSONAL_ACCESS_TOKEN": "your-personal-access-token"
    }
    }
    }
    }
    

Claude Desktop

  1. 导航到配置文件:
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  2. 使用上述相同的格式添加你的 Hashnode MCP 服务器配置。

解决连接问题

如果你遇到连接问题:

  • 验证服务器是否正在运行
  • 检查配置中的路径
  • 确保你的环境变量已正确设置
  • 检查服务器日志中是否有错误消息
  • 尝试重启 MCP 服务器和 Claude 应用程序

环境变量

  • HASHNODE_PERSONAL_ACCESS_TOKEN:你的 Hashnode 个人访问令牌
  • HASHNODE_API_URL:Hashnode GraphQL API 的 URL(默认:https://gql.hashnode.com)

贡献代码

欢迎贡献代码!请随时提交拉取请求。

  1. 分叉仓库
  2. 创建你的功能分支(git checkout -b feature/amazing-feature
  3. 提交你的更改(git commit -m 'Add some amazing feature'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

GitHub 仓库

本项目的源代码可在 GitHub 上获取: https://github.com/sbmagar13/hashnode-mcp-server

🔧 技术细节

该项目采用了简洁、模块化的结构:

  • mcp_server.py:可直接运行的根服务器实现
  • hashnode_mcp/:包含模块化功能的核心包
    • mcp_server.py:包版本的服务器实现
    • utils.py:用于格式化响应和 GraphQL 查询的实用函数
  • run_server.py:使用包版本运行服务器的入口点

服务器使用 Python 的 asynciohttpx 库进行异步编程,以实现高效的 API 通信。GraphQL 查询和突变被定义为常量,便于维护和更新。

未来增强功能

计划中的未来开发包括:

  • 更多 Hashnode 功能(评论、系列、时事通讯)
  • 分析集成
  • 内容优化
  • 多用户支持
  • 网络钩子支持

致谢

  • 0 关注
  • 0 收藏,30 浏览
  • system 提出于 2025-09-19 09:06

相似服务问题

相关AI产品