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

Medium MCP Server

MCP Server

Medium MCP服务器是一个用于程序化与Medium内容平台交互的工具,支持文章的发布、更新、删除、草稿管理以及用户信息获取等功能。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
知识管理TypeScript文档处理

安装说明

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

作者 / 组织

aliiqbal208

提供方

aliiqbal208

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

中型MCP服务器

版本2.0.0 -用于Medium API集成的可生产MCP服务器

概述

Medium MCP(模型上下文协议)服务器使AI助手能够以编程方式与Medium的内容平台进行交互。发布、更新、删除文章、管理草稿等,所有这些都可以通过一个统一的MCP接口实现,该接口具有强大的错误处理和自动重试功能。

🎯 主要特点

  • 完成CRUD操作 -发布、更新、删除和检索文章
  • OAuth 2.0身份验证 -具有自动刷新功能的安全令牌管理
  • 智能重试逻辑 -失败请求的指数回退
  • 费率限制处理 -自动检测和等待
  • 草案管理 -创建、检索和管理草稿
  • 用户配置文件访问 -获取用户信息和出版物
  • 搜索功能 -按关键字和标签查找文章
  • 类型安全 -完全支持TypeScript并进行验证
  • 综合测试 -Jest测试套件,覆盖率92%

🛠️ 技术栈

  • TypeScript -类型安全开发
  • 模型上下文协议(MCP) -AI助手集成
  • 阿西奥斯 -带有拦截器的HTTP客户端
  • 黄道 -架构验证
  • 开玩笑 -测试框架

🚀 快速开始

先决条件

  • Node.js v16或更高版本
  • npm或纱线
  • 中型账户

安装

# 1. Clone the repository
git clone https://github.com/aliiqbal208/medium-mcp.git
cd medium-mcp-server

# 2. Install dependencies
npm install

# 3. Configure environment
cp .env.example .env

# 4. Get your Medium integration token
# Visit: https://medium.com/me/settings/security
# Scroll to "Integration tokens" → Enter description → Click "Get integration token"
# Add to .env as: MEDIUM_ACCESS_TOKEN=your_token_here

# 5. Build the project
npm run build

# 6. Run the server
npm start

发展模式

npm run dev  # Hot reload enabled

运行测试

npm test              # Run all tests
npm run test:watch    # Watch mode
npm run test:coverage # With coverage report

📚 可用工具

物品管理

publish-article

在Medium上发布一篇新文章。

参数:

  • title (字符串,必填):文章标题
  • content (字符串,必填):Markdown格式的文章内容
  • tags (string\[\],可选):最多5个标签
  • publishStatus (“公开”|“草稿”|“未列出”,可选):发布状态(默认值:“草稿”)
  • publicationId (字符串,可选):发布到特定出版物
  • notifyFollowers (布尔值,可选):发布时通知关注者

例子:

{
  "title": "Getting Started with AI",
  "content": "# Introduction\n\nThis is my article about AI...",
  "tags": ["ai", "machine-learning", "tech"],
  "publishStatus": "public"
}

update-article

更新现有文章。

参数:

  • articleId (string,必填):要更新的文章的ID
  • title (字符串,可选):新标题
  • content (字符串,可选):新内容
  • tags (string\[\],可选):新标签
  • publishStatus (“公开”|“草稿”|“未列出”,可选):新状态

delete-article

删除文章或草稿。

参数:

  • articleId (string,必填):要删除的文章的ID

get-article

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

参数:

  • articleId (string,必填):文章的ID

用户和个人资料

get-user-profile

检索经过身份验证的用户的个人资料信息。

退货: 用户ID、用户名、名称、URL和图像URL。

get-drafts

检索经过身份验证的用户的所有文章草稿。

get-publications

检索用户贡献的所有出版物。

搜索

search-articles

搜索和筛选中等文章。

参数:

  • keywords (string\[\],可选):搜索关键字
  • publicationId (字符串,可选):按发布筛选
  • tags (string\[\],可选):按标签筛选

🔧 发展

以开发模式运行

npm run dev

运行测试

npm test

构建项目

npm run build

🏗️ 建筑

medium-mcp-server/
├── src/
│   ├── index.ts       # MCP server and tool registration (8 tools)
│   ├── auth.ts        # OAuth 2.0 & token management with refresh
│   └── client.ts      # API client with retry logic & rate limiting
├── tests/
│   ├── auth.test.ts   # Authentication tests
│   └── client.test.ts # API client tests
├── .env.example       # Environment configuration template
├── .gitignore         # Git ignore rules
├── tsconfig.json      # TypeScript configuration
├── jest.config.js     # Test configuration
└── package.json       # Dependencies and scripts

🔒 认证

选项1:集成令牌(推荐)

  1. 访问 中等设置-安全
  2. 滚动到“集成令牌”
  3. 输入描述:“MCP服务器”
  4. 点击“获取集成令牌”
  5. 增添 .env: MEDIUM_ACCESS_TOKEN=your_token_here

选项2:OAuth(适用于应用程序)

  1. 注册地址: 中型开发人员
  2. 获取客户端ID和客户端密码
  3. 增添 .env:
   MEDIUM_CLIENT_ID=your_client_id
   MEDIUM_CLIENT_SECRET=your_client_secret
   MEDIUM_AUTH_CODE=authorization_code

⚡ 详细功能

错误处理

  • 指数退避:1秒后自动重试→ 2s → 4s延误
  • 速率限制检测:监视API限制并自动等待
  • 详细错误消息:清除带有状态代码的错误信息

许可证管理

  • 永久存储:令牌保存在 .medium-tokens.json
  • 自动刷新:自动刷新过期令牌
  • 安全:从git中排除的令牌文件

类型安全

  • 完整的TypeScript实现
  • Zod模式验证
  • 全面的接口

🐛 故障排除

身份验证错误

# Verify token is set
cat .env | grep MEDIUM_ACCESS_TOKEN

# Clear stored tokens
rm -f .medium-tokens.json

# Restart server
npm start

构建错误

# Clean and rebuild
rm -rf dist node_modules
npm install
npm run build

速率限制

客户端自动处理速率限制。检查速率限制状态:

const rateLimitInfo = client.getRateLimitInfo();
console.log(`Remaining: ${rateLimitInfo.remaining}`);

📊 v2.0.0的新增功能

添加

  • ✅ 带有令牌刷新的真正OAuth 2.0身份验证
  • ✅ 更新文章工具
  • ✅ 删除文章工具
  • ✅ 获取文章详细信息工具
  • ✅ 获取用户配置文件工具
  • ✅ 获取草稿工具
  • ✅ 指数退避重试逻辑
  • ✅ 速率限制检测和处理
  • ✅ 综合测试套件(Jest)
  • ✅ 令牌持久性

增强

  • ✅ 发布文章工具(添加状态和通知选项)
  • ✅ 更好的错误消息
  • ✅ 提高型号安全性
  • ✅ 增强文档

🚀 路线图

第二阶段(即将推出)

  • 📊 分析和文章统计
  • 🖼️ 图像上传支持
  • 🔍 高级搜索过滤器
  • 🎯 SEO优化工具
  • 📝 日程安排草案

第三阶段(未来)

  • 🤖 基于人工智能的内容建议
  • 📦 批量操作
  • 🔄 导入/导出功能
  • 👥 协作功能
  • 🔔 Webhook支持

🤝 贡献

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

📞 支持

  • API中文档: https://github.com/Medium/medium-api-docs
  • MCP协议: https://github.com/modelcontextprotocol/sdk
  • 问题:为bug或功能请求创建GitHub问题

目录标签

目录标签

知识管理TypeScript文档处理内容管理本地部署API集成文章发布草稿管理用户信息

接入字段

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

未说明

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

oauth

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauthremote-capable

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP