Token导航 LogoToken导航TokenDH.com
devtomcp (Rawveg) logo
文档知识未说明官方级别未说明来源级核验

devtomcp (Rawveg)

MCP Server

一个为Dev.to API实现的模型上下文协议(MCP)服务器,提供搜索、浏览、阅读和创建Dev.to内容的功能。

工具数

22

提示词数

0

GitHub Stars

1

资源数

0
API集成知识管理PythonClaude开发工具Claude DesktopClaudeCursorWindsurf

安装说明

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

作者 / 组织

rawveg

提供方

rawveg

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

🚀 开发到MCP服务器

![License: AGPL v3](https://www.gnu.org/licenses/agpl-3.0) ](https://www.docker.com/) ![Dev.to API](https://developers.forem.com/api)

______________________________________________________________________

用于Dev.to API的模型上下文协议(MCP)服务器的实现,提供在Dev.to上搜索、浏览、阅读和创建内容的功能。

______________________________________________________________________

✨ 特性

特性描述
🔍 浏览最新文章从Dev.to获取最新文章
🌟 浏览热门文章获取最受欢迎的文章
🏷️ 按标签浏览获取具有特定标签的文章
📚 按标题浏览获取具有特定标题的文章
📖 阅读文章获取特定文章的详细信息
👤 用户资料获取Dev.to用户的相关信息
🔎 搜索文章使用关键字搜索文章
👤 按用户搜索文章按特定用户搜索所有文章
📝 按ID获取文章获取特定文章的详细信息
📝 按标题获取文章获取特定文章的详细信息
🧠 分析文章分析特定文章(基于提示,摘要输出)
🧠 分析用户配置文件分析特定用户配置文件(基于提示的摘要输出)
📝 创建文章创建和发布新文章
✏️ 更新文章更新现有文章
📝 按标题更新文章按标题更新现有文章(解析为ID)
📜 列出我的文章列出你自己发表的文章
📝 列出我的文章草稿列出你自己的文章草稿
📝 列出我的未发表文章列出你自己的未发表的文章
📝 列出我的预定文章列出您自己的预定文章
🧑‍💻 按ID发布文章按ID发布自己的文章
📝 按标题发布文章按标题发布您自己的文章
🧑‍💻 按ID取消发布文章按ID取消发表您自己的文章
📝 按标题取消文章发布按标题取消发布您自己的文章
📝 删除文章删除您自己的文章

______________________________________________________________________

🧠 分析工具

特性描述
🧠 分析文章分析特定文章(基于提示,摘要输出)
🧠 分析用户配置文件分析特定用户配置文件(基于提示的摘要输出)
注: 分析工具提供自然语言摘要和见解,而不是原始数据转储。

______________________________________________________________________

📝 许可证

该项目根据 GNU Affero通用公共许可证v3.0(AGPLv3).

商业用途警告

如果你想以任何形式将此代码作为货币化服务使用或部署给他人,即使你没有特别要求支付代码费用,你也需要联系我获得许可(这意味着 _你_ Smithery/Glama或任何类似服务)-只有在支付适当的许可费后才能授予。不,你可能不会对代码本身的使用收费,你可能会提供基础设施,但你会使用 _我的_ 代码以方便 _你的_ 服务。这是一种内在的依赖性 必须 获得许可。

对于其他人,无论你是企业还是个人,我希望这对你有用。享受。

______________________________________________________________________

⚙️ 服务器配置

可以使用以下环境变量配置服务器:

环境变量描述默认值
PORT运行服务器的端口8000
LOG_LEVEL日志记录级别(信息、调试等)INFO

______________________________________________________________________

🔐 客户端身份验证

每个客户端都需要为经过身份验证的操作提供自己的Dev.to API密钥。这是通过在客户端的MCP服务器配置中提供API密钥作为环境变量来安全地完成的。

注: 钥匙应按以下方式提供 DEVTO_API_KEY 在MCP客户端配置的环境部分。

______________________________________________________________________

🚀 入门指南

🐳 使用Docker运行

  1. 克隆存储库:
git clone https://github.com/rawveg/devtomcp.git
cd devtomcp
  1. 使用Docker Compose构建和运行:
docker-compose up --build

服务器将在以下时间可用 http://localhost:8000 SSE端点位于 http://localhost:8000/sse.

______________________________________________________________________

🛠️ MCP工具

分析内容

  • analyse_article -分析特定文章
  • analyse_user_profile -分析特定用户

浏览内容

  • browse_latest_articles() -从Dev.to获取最新文章
  • browse_popular_articles() -获取最受欢迎的文章
  • browse_articles_by_tag(tag) -获取带有特定标签的文章

阅读内容

  • get_article(id) -获取特定文章的详细信息
  • get_user_profile(username) -获取Dev.to用户的信息

搜索内容

  • search_articles(query, page=1) -使用关键字搜索文章
  • search_articles_by_user(username, page=1) -按特定用户搜索所有文章

管理内容(需要身份验证)

  • list_my_articles(page=1, per_page=30) -列出你自己发表的文章
  • list_my_draft_articles(page=1, per_page=30) -列出你自己的条款草案
  • list_my_unpublished_articles(page=1, per_page=30) -列出你自己未发表的文章
  • create_article(title, content, tags="", published=False) -创建新文章
  • update_article(id, title=None, content=None, tags=None, published=None) -更新现有文章
  • delete_article(id) -删除现有文章
  • publish_article_by_id(id) -按ID发布自己的文章
  • publish_article_by_title(title) -按标题发布自己的文章
  • unpublish_article_by_id(id) -按ID取消发布您自己的文章
  • unpublish_article_by_title(title) -按标题取消发布您自己的文章
  • update_article_by_title(title, new_title=None, content=None, tags=None, published=None) -按标题更新现有文章(解析为ID)

______________________________________________________________________

🌐 REST API和OpenAPI工具服务器

Dev.to MCP服务器现在支持 双模操作:

模式描述
🟢 SSE/MCP用于LLM/代理集成,使用模型上下文协议(MCP)
🟦 REST/OpenAPI用于直接HTTP访问、OpenAPI工具运行器和OpenAI兼容工具

🚦 切换模式

在您的 .env 文件:

SERVER_MODE=sse   # For SSE/MCP (default)
# or
SERVER_MODE=rest  # For REST API & OpenAPI toolserver

🔑 REST模式下的身份验证

  • 在中提供Dev.to API密钥 Authorization 标头作为Bearer令牌:
  Authorization: Bearer YOUR_DEVTO_API_KEY
  • 无需设置 DEVTO_API_KEY 在……里面 .env 对于REST模式。

📖 OpenAPI和Swagger用户界面

🧑‍💻 示例:列出我的文章(REST)

curl -X GET "http://localhost:8000/list_my_articles?page=1&per_page=30&max_pages=10" \
  -H "Authorization: Bearer YOUR_DEVTO_API_KEY"

🛠️ REST端点

  • 所有主要工具都可以作为REST端点使用(请参阅 /docs 详情)
  • 每个端点都包含丰富的OpenAPI元数据、示例和标签,便于发现
  • update_article_by_title -按标题更新您自己的文章(解析为ID)

🤖 为什么这很重要

  • 用作传统的REST API、OpenAPI工具服务器或LLM/代理工具提供商—所有这些都来自一个代码库!
  • 与OpenAI、LangChain和任何兼容OpenAPI的客户端即插即用
  • 开箱即用的精美交互式文档

______________________________________________________________________

🖥️ 客户端配置

Claude桌面配置

在Claude Desktop中添加MCP服务器 config.json:

{
  "mcpServers": {
    "devto": {
      "url": "http://localhost:8000/sse"
    }
  }
}

光标配置

在Cursor的配置中添加MCP服务器:

{
  "mcpServers": {
    "devto": {
      "url": "http://localhost:8000/sse"
    }
  }
}

备注

某些客户可能需要使用 serverUrl 而不是 url例如:Codium的Windsurf IDE。

使用Python进行程序化访问

import asyncio
import os
from fastmcp.client import Client

async def main():
    # Set environment variable for authentication
    os.environ["DEVTO_API_KEY"] = "your_dev_to_api_key_here"
    
    # Connect to the MCP server
    client = Client("http://localhost:8000/sse")
    
    # Use the client
    async with client:
        # Get popular articles
        results = await client.call_tool("browse_popular_articles", {})
        print(results)

if __name__ == "__main__":
    asyncio.run(main())

______________________________________________________________________

☁️ 部署到Google Cloud Run

要部署到Google Cloud Run:

  1. 跟随 谷歌云运行快速入门 设置您的环境
  1. 将Dev.to API密钥设置为秘密:
   gcloud secrets create devto-api-key --data-file=- >" \
      --set-env-vars="DEVTO_API_KEY=>" \
      --set-env-vars="SERVER_MODE=sse" \
      --set-env-vars="DEVTO_API_BASE_URL=>" \
      --format="json"

环境变量

变量描述默认值
LOG_LEVEL日志记录级别(信息、调试等)INFO
DEVTO_API_KEYDev.to API密钥None
DEVTO_API_BASE_URLDev.to API基础URLhttps://dev.to/api
SERVER_MODE要部署的服务器模式sse

必须在gcloud run-deploy的命令行上设置这些变量,因为.env文件未装载到容器中。

使用OpenAPI工具在REST模式下进行替代部署:

   gcloud run deploy devtomcp \
      --source . \
      --platform managed \
      --allow-unauthenticated \
      --region [REGION] \
      --set-env-vars="LOG_LEVEL=>" \
      --set-env-vars="SERVER_MODE=rest" \
      --set-env-vars="DEVTO_API_BASE_URL=>" \
      --format="json"

环境变量

变量描述默认值
LOG_LEVEL日志记录级别(信息、调试等)INFO
SERVER_MODE要部署的服务器模式rest
DEVTO_API_BASE_URLDev.to API基础URLhttps://dev.to/api

必须在gcloud run-deploy的命令行上设置这些变量,因为.env文件未装载到容器中。

区域选择 应根据关联项目的区域选择区域。可以找到可用区域列表 这里.

⚠️ 安全警告-SSE模式:

  • --allow-unauthenticated 标志使您的服务器可公开访问
  • 由于这是一个带有API密钥的单用户服务器,因此您必须实施其他安全措施:

- 使用 云运行身份验证 - 设置 身份感知代理(IAP) - 配置 VPC服务控制 - 使用 入口控制

  • 在REST模式下部署时(建议用于云运行),上述安全考虑不适用,因为在此模式下对服务器的每个请求都需要由授权承载令牌来满足 Authorization: Bearer > 立即限制破坏性访问。

GCP_部署.md 有关详细的安全配置说明。

______________________________________________________________________

⚠️ 错误处理

服务器返回标准MCP错误响应:

{
  "status": "error",
  "message": "Error description",
  "code": 401
}

常见错误代码:

  • 401:身份验证失败(API密钥丢失或无效)
  • 404:未找到资源
  • 422:无效参数
  • 500:服务器错误

______________________________________________________________________

🔒 安全考虑

  • 服务器使用环境变量来配置API密钥,从而提供适当的安全隔离
  • 每个客户端连接都使用自己配置的API密钥
  • 所有API凭证处理都在服务器端进行
  • 在生产环境中使用HTTPS
  • 在云部署中对API密钥使用安全的秘密管理

______________________________________________________________________

🤝 贡献

欢迎投稿!请随时提交拉取请求。

______________________________________________________________________

🙏 致谢

______________________________________________________________________

📬 联系

如有疑问、建议或支持,请打开问题。

目录标签

目录标签

API集成知识管理PythonClaude开发工具内容管理本地部署文章分析开发者工具RESTAPI

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP