Duhlink_instagram Server Next Mcp

Duhlink_instagram Server Next Mcp

🚀 Instagram MCP 服务器

Instagram MCP 服务器是一个借助 Chrome 现有登录会话来获取 Instagram 帖子的 Model Context Protocol (MCP) 服务器,能有效解决从 Instagram 自动化获取和处理帖子内容的问题,为相关业务提供便利。

✨ 主要特性

  • 模块化架构,职责分离明确,提升代码的可维护性和扩展性。
  • 使用 TypeScript 实现类型安全,避免运行时类型错误。
  • 改进的错误处理和日志记录,提供更详细的错误信息和处理机制。
  • 通过环境变量配置,方便灵活调整服务器参数。
  • 符合 JSON - RPC 2.0 的通信协议,确保通信的规范性。
  • 自动下载媒体文件并生成元数据,提高数据处理效率。
  • 生成对 SEO 友好的描述,有助于提升搜索引擎优化效果。

🏗️ 架构

服务器采用模块化架构,结构如下:

src/
├── core/                      # 核心 MCP 功能
│   ├── mcp/                  # MCP 服务器实现
│   │   ├── server.ts        # 服务器类
│   │   ├── stdio.ts         # StdioServerTransport
│   │   └── index.ts         # 导出桶
│   ├── types/               # 核心类型定义
│   │   └── mcp.ts          # MCP 类型
│   └── utils/               # 工具函数
│       ├── config.ts        # 配置管理
│       └── errors.ts        # 错误处理
├── features/                 # 功能模块
│   └── instagram/           # Instagram 功能
│       ├── types.ts         # Instagram 类型
│       ├── utils/           # 功能工具
│       │   ├── media.ts     # 媒体处理
│       │   ├── post.ts      # 帖子处理
│       │   └── seo.ts       # SEO 生成
│       └── instagram.service.ts # Instagram 服务
├── services/                 # 共享服务
│   └── browser/             # 浏览器服务
│       ├── types.ts         # 浏览器类型
│       └── browser.service.ts # 浏览器服务
├── index.ts                 # 入口点
└── server.ts                # 主服务器类

📦 安装指南

安装依赖项

npm install

构建服务器

npm run build

💻 使用示例

启动服务器

CHROME_USER_DATA_DIR=/path/to/chrome/profile npm start

get_instagram_posts 工具使用

从 Instagram 个人资料中获取近期帖子。 参数:

  • username(必需):要获取帖子的 Instagram 用户名
  • limit(可选):获取的帖子数量(1 - 50)或 "all"
  • saveDir(可选):保存媒体文件和元数据的目录
  • delayBetweenPosts(可选):处理帖子之间的延迟时间(以毫秒为单位)

示例:

{
"jsonrpc": "2.0",
"id": 1,
"method": "call_tool",
"params": {
"tool": "get_instagram_posts",
"username": "target_user",
"limit": 10,
"saveDir": "/path/to/save",
"delayBetweenPosts": 1000
}
}

📚 详细文档

配置

服务器需要以下环境变量:

  • CHROME_USER_DATA_DIR:包含登录会话的 Chrome 用户数据目录路径

此外,通过配置管理器还可以设置其他配置选项:

  • 浏览器设置(视图ports 口、超时时间)
  • Instagram 设置(延迟时间、批量大小)
  • 保存目录和文件路径

错误处理

服务器使用以下标准错误代码和信息:

  • INVALID_REQUEST:请求格式无效或缺少必需参数。
  • AUTHENTICATION_ERROR:无法验证用户身份。
  • RATE_LIMITED:达到 Instagram 的速率限制。
  • INTERNAL_SERVER_ERROR:服务器内部错误。

开发模式

启动开发模式

npm run dev

检查代码格式

npm run lint

执行单元测试

npm test

🔧 技术细节

对比原始版本,主要改进如下:

  • 模块化架构:提高了代码的可维护性和扩展性。
  • 类型安全:通过 TypeScript 避免了运行时类型错误。
  • 错误处理:提供了更详细的错误信息和处理机制。
  • 代码质量:遵循最佳实践,确保代码的一致性和可读性。

总体而言,该项目结构清晰,功能完善,适合用于自动化获取和处理 Instagram 帖子内容。

  • 0 关注
  • 0 收藏,6 浏览
  • system 提出于 2025-09-21 16:21

相似服务问题