mcpField
I
Instagram MCP Server

Instagram MCP Server

ローカル
github.com/duhlinkソーシャルメディア5094 週間前に更新

Instagram MCP Server について

Instagram MCP Server は、既存の Chrome ログインセッションを利用して Instagram の投稿を取得する MCP サーバーです。TypeScript で実装され、モジュール構成を採用しているため、プロフィールの投稿を収集してメディアとメタデータをローカルに保存したい開発者に向いています。

主な機能

  1. 01既存の Chrome ログインセッションの利用
  2. 02関心の分離を意識したモジュール構成
  3. 03TypeScript による型安全な実装
  4. 04環境変数による設定
  5. 05JSON-RPC 2.0 準拠の通信
  6. 06メディアの自動ダウンロードとメタデータ生成

活用シーン

  1. 01ユーザー名を指定して最新の投稿を取得
  2. 02投稿のメディアとメタデータをローカルディレクトリに保存
  3. 03ソーシャルコンテンツの分析用データの準備

MCP 対応

本プロジェクトは MCP サーバーであり、ユーザー名・取得件数・保存ディレクトリなどを受け取る get_instagram_posts ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Instagram MCP Server

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

    npm install
    
  2. サーバーをビルドします。

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

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

開発

  1. 開発モードで起動します。

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

    npm run lint
    

オリジナルからの改善点

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

    • 関心事を明確に分離
    • コード構成の改善
    • 保守と拡張が容易
  2. 型安全性

    • 包括的な TypeScript 型定義
    • エラー検出の改善
    • IDE サポートの強化
  3. エラー処理

    • 標準化されたエラーコード
    • エラーメッセージの改善
    • 適切なエラー伝播
  4. 設定

    • 設定の一元管理
    • 環境変数の検証
    • 型安全な設定へのアクセス
  5. コード品質

    • 一貫したコーディングスタイル
    • ドキュメントの改善
    • ログ機能の強化
  6. テストサポート

    • モジュール型設計によりテストが可能
    • 依存性注入に対応
    • 明確なインターフェース

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。