Skip to main content
Glama
pedroantonnio

Instagram Public MCP

Instagram Public MCP для Vercel

Удалённый MCP-сервер на Python, который запрашивает только публичные данные Instagram без логина, cookies, паролей или сохранённых сессий аккаунта.

Важно: патч мобильной ленты Instaloader

Эта сборка не использует стандартный пакет Instaloader 4.15.3.

В ней закреплён фикс анонимного профиля/постов из pull request #2722 Instaloader по адресу:

3f72b47466cc505b92c6e9b0ca2f5689e93a6a89

Зависимость:

instaloader @ https://github.com/alimony/instaloader/archive/3f72b47466cc505b92c6e9b0ca2f5689e93a6a89.zip

Патч меняет анонимное поведение так, что:

  • разрешение профиля может переключаться на api/v1/users/web_profile_info/ с api/v1/feed/user/{username}/username/;

  • анонимная пагинация постов использует api/v1/feed/user/{id}/;

  • страницы постов используют пагинацию max_id;

  • элементы преобразуются через iPhone/мобильную модель ответов Instaloader;

  • сбои web_profile_info могут сразу переходить к резервной ленте, не дожидаясь долгого цикла повторов/backoff.

Аутентифицированный аккаунт Instagram не используется.

Related MCP server: Instagram Download MCP Server

Архитектура

MCP Client
    |
    v
Vercel /api/mcp
    |
    v
Patched Instaloader (PR #2722)
    |
    v
Instagram mobile feed endpoint

MCP-инструменты

get_instagram_profile

Возвращает публичные метаданные профиля Instagram.

{
  "username": "instagram"
}

get_instagram_posts

Возвращает последние публичные посты.

{
  "username": "instagram",
  "count": 3
}

debug_instagram_connection

Проверяет исходный HTTP-ответ web_profile_info. Этот инструмент остаётся доступным для диагностики, но пропатченный Instaloader может переключаться на мобильную конечную точку ленты, когда эта конечная точка отклоняется.

{
  "username": "instagram"
}

MCP-ресурсы

instagram://profile/{username}
instagram://profile/{username}/posts

Кэш

Кэш в памяти по умолчанию:

CACHE_TTL_SECONDS=600
DEFAULT_POST_COUNT=12
MAX_POST_COUNT=30

Установите CACHE_TTL_SECONDS=0, чтобы отключить его.

Экземпляры Vercel эфемерны, поэтому этот кэш действует на каждый тёплый экземпляр функции, а не является глобально общим.

Развёртывание на Vercel

npm install -g vercel
vercel --prod

Прилагаемый vercel.json разворачивает функцию в Сан-Паулу:

{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "regions": ["gru1"]
}

Конечная точка MCP:

https://YOUR-PROJECT.vercel.app/api/mcp

Конечная точка health:

https://YOUR-PROJECT.vercel.app/api/health

Локальная разработка

python -m venv .venv
pip install -r requirements.txt
uvicorn api.index:app --reload

Конечная точка MCP:

http://127.0.0.1:8000/api/mcp

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "instagram-public": {
      "url": "https://YOUR-PROJECT.vercel.app/api/mcp"
    }
  }
}

Безопасность

Этот репозиторий не содержит учётных данных аккаунта Instagram.

В нём нет и не требуется:

  • имя пользователя/пароль Instagram

  • sessionid

  • csrftoken

  • fb_dtsg

  • сохранённые сессии Instaloader

  • cookies Instagram

Ограничения

Сервер запрашивает только публичные данные и не пытается обойти приватные профили.

Instagram может по-прежнему ограничивать скорость или блокировать анонимный трафик в зависимости от IP-адреса развёртывания. Патч мобильной ленты исправляет известный сломанный анонимный путь web_profile_info/ленты, но он не может гарантировать, что Instagram примет трафик с любого хостинг-провайдера или диапазона IP.

Исправление совместимости профиля v2.1.1

Анонимный резервный вариант мобильной ленты может опускать необязательные поля профиля, которые обычно присутствуют в web_profile_info.

Версия 2.1.1 читает свойства профиля защитно. Отсутствующие значения, такие как biography, external_url или метаданные бизнес-аккаунта, возвращаются как null вместо того, чтобы вызывать сбой get_instagram_profile.

Путь получения постов не изменился по сравнению с v2.1.0.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Instagram engagement analysis using the unofficial Instagram Private API, including comment sentiment analysis, account comparison, demographic extraction, lead identification, and engagement reporting.
    80
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables fetching public Instagram profiles, posts, and images without an API key via Instagram's mobile API.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.

  • Scrape and analyze public LinkedIn posts as structured JSON via the Apify LinkedIn Posts API.

  • Unified social-media data across 10 networks: profiles, posts, search, comments, cross-search.

View all MCP Connectors

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/pedroantonnio/Instagram-Analytics-MCP'

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