Skip to main content
Glama
duhlink

Instagram MCP Server

by duhlink

Instagram MCPサーバー

Chrome の既存のログイン セッションを使用して Instagram の投稿を取得するための Model Context Protocol (MCP) サーバー。

特徴

  • 関心事を明確に分離したモジュラーアーキテクチャ

  • TypeScriptを使用した型安全な実装

  • エラー処理とログの改善

  • 環境変数で設定可能

  • JSON-RPC 2.0準拠の通信

  • 自動メディアダウンロードとメタデータ生成

  • SEOに適した説明文生成

Related MCP server: mcp-pinterest

建築

サーバーは、次の構造を持つモジュラー アーキテクチャに従います。

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. 依存関係をインストールします:

    npm install
  2. サーバーを構築します。

    npm run build
  3. サーバーを実行します。

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

利用可能なツール

インスタグラムの投稿を取得する

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 : サーバー側のエラー

発達

  1. 開発モードで開始します:

    npm run dev
  2. リンターを実行します:

    npm run lint

オリジナルからの改良点

  1. モジュラーアーキテクチャ

    • 明確な関心の分離

    • より良いコード構成

    • メンテナンスと拡張が容易

  2. 型安全性

    • 包括的なTypeScript型

    • より優れたエラーキャッチ

    • IDEサポートの改善

  3. エラー処理

    • 標準化されたエラーコード

    • 改善されたエラーメッセージ

    • 適切なエラー伝播

  4. 構成

    • 集中構成

    • 環境変数の検証

    • 型安全な設定アクセス

  5. コード品質

    • 一貫したコーディングスタイル

    • より良いドキュメント

    • ログの改善

  6. テストサポート

    • モジュール設計によりテストが可能

    • 依存性注入対応

    • 明確なインターフェース

ライセンス

マサチューセッツ工科大学

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/duhlink/instagram-server-next-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server