# Instagram-MCP服务器
## 基本信息
- Slug: `duhlink-instagram-server-next-mcp`
- Source: modelscope
- Publisher: @duhlink/instagram-server-next-mcp
- Categories: browser-automation / social-media
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@duhlink/instagram-server-next-mcp
## 简介
一个通过模型上下文协议（MCP），允许使用Chrome现有的登录会话来获取Instagram帖子的服务器。
## 安装提示

```bash
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
```

## MCP Server 详情

# Instagram MCP 服务器

一个使用 Chrome 现有登录会话获取 Instagram 帖子的 Model Context Protocol (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 设置（延迟、批量大小）
- 保存目录和文件路径

## 使用方法

1. 安装依赖项：
   ```bash
   npm install
   ```

2. 构建服务器：
   ```bash
   npm run build
   ```

3. 运行服务器：
   ```bash
   CHROME_USER_DATA_DIR=/path/to/chrome/profile npm start
   ```

## 可用工具

### get_instagram_posts

从 Instagram 个人资料中获取最近的帖子。

参数：
- `username`（必需）：要从中获取帖子的 Instagram 用户名
- `limit`（可选）：要获取的帖子数量（1-50）或 "all"
- `saveDir`（可选）：保存媒体文件和元数据的目录
- `delayBetweenPosts`（可选）：处理帖子之间的等待毫秒数

示例：
```json
{
  "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`：服务器端错误

## 开发

1. 以开发模式启动：
   ```bash
   npm run dev
   ```

2. 运行 linter：
   ```bash
   npm run lint
   ```

## 相对于原始版本的改进

1. **模块化架构**
   - 职责分离清晰
   - 更好的代码组织
   - 更容易维护和扩展

2. **类型安全**
   - 全面的 TypeScript 类型
   - 更好的错误捕获
   - 改进的 IDE 支持

3. **错误处理**
   - 标准化的错误代码
   - 更好的错误消息
   - 正确的错误传播

4. **配置**
   - 集中的配置
   - 环境变量验证
   - 类型安全的配置访问

5. **代码质量**
   - 一致的编码风格
   - 更好的文档
   - 改进的日志记录

6. **测试支持**
   - 模块化设计便于测试
   - 准备好依赖注入
   - 清晰的接口

## 许可证

MIT

