关于 Instagram MCP Server
Instagram MCP Server 是一个 MCP 服务,用于借助 Chrome 已有的登录会话抓取 Instagram 帖子。它使用 TypeScript 实现,采用模块化结构,适合需要读取账号公开帖子并保存媒体与元数据的开发者。
主要功能
- 01使用 Chrome 现有登录会话
- 02模块化架构,职责分离
- 03基于 TypeScript 的类型安全实现
- 04通过环境变量进行配置
- 05兼容 JSON-RPC 2.0 通信
- 06自动下载媒体并生成元数据
适用场景
- 01按用户名批量获取 Instagram 帖子
- 02将帖子媒体与元数据保存到本地目录
- 03为社交内容分析准备数据
MCP 相关
该项目是一个 MCP 服务,通过 get_instagram_posts 工具向 MCP 客户端暴露抓取帖子的能力,调用时传入用户名、数量上限和保存目录等参数。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Instagram MCP Server
一个用于通过 Chrome 现有登录会话获取 Instagram 帖子的模型上下文协议(MCP)服务。
功能
- 模块化架构,职责划分清晰
- 使用 TypeScript 实现类型安全
- 改进错误处理和日志记录
- 可通过环境变量进行配置
- 符合 JSON-RPC 2.0 的通信规范
- 自动下载媒体并生成元数据
- 生成适合 SEO 的描述
架构
该服务采用模块化架构,结构如下:
src/
├── core/ # Core MCP functionality
│ ├── mcp/ # MCP server implementation
│ │ ├── server.ts # Server class
│ │ ├── stdio.ts # StdioServerTransport
│ │ └── index.ts # Barrel exports
│ ├── types/ # Core type definitions
│ │ └── mcp.ts # MCP types
│ └── utils/ # Utility functions
│ ├── config.ts # Configuration management
│ └── errors.ts # Error handling
├── features/ # Feature modules
│ └── instagram/ # Instagram feature
│ ├── types.ts # Instagram types
│ ├── utils/ # Feature utilities
│ │ ├── media.ts # Media handling
│ │ ├── post.ts # Post processing
│ │ └── seo.ts # SEO generation
│ └── instagram.service.ts # Instagram service
├── services/ # Shared services
│ └── browser/ # Browser service
│ ├── types.ts # Browser types
│ └── browser.service.ts # Browser service
├── index.ts # Entry point
└── server.ts # Main server class
配置
该服务需要以下环境变量:
CHROME_USER_DATA_DIR:包含登录会话的 Chrome 用户数据目录路径
还可以通过配置管理器使用其他配置选项:
- 浏览器设置(视口、超时)
- Instagram 设置(延迟、批次大小)
- 保存目录和文件路径
用法
-
安装依赖项:
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": {
"name": "get_instagram_posts",
"arguments": {
"username": "example",
"limit": 10
}
}
}
错误处理
该服务使用标准化的错误代码和消息:
INVALID_REQUEST:请求格式或参数无效INVALID_PARAMS:缺少参数或参数无效METHOD_NOT_FOUND:方法或工具未知INTERNAL_ERROR:服务端错误
开发
-
以开发模式启动:
npm run dev -
运行代码检查器:
npm run lint
相较于原始版本的改进
-
模块化架构
- 职责划分清晰
- 代码组织更合理
- 更易于维护和扩展
-
类型安全
- 完善的 TypeScript 类型
- 更好地捕获错误
- 改进 IDE 支持
-
错误处理
- 标准化的错误代码
- 更清晰的错误消息
- 正确传递错误
-
配置
- 集中管理配置
- 验证环境变量
- 类型安全地访问配置
-
代码质量
- 统一的编码风格
- 更完善的文档
- 改进日志记录
-
测试支持
- 模块化设计便于测试
- 支持依赖注入
- 接口清晰
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。