[shawn] refactor: vendor Instagram MCP into backend/apps/instagram_mcp, drop external setup

This commit is contained in:
TheAchiever6823
2026-05-17 18:43:43 -07:00
parent 789fb5e088
commit a9f6338227
8 changed files with 1145 additions and 88 deletions
+5 -5
View File
@@ -148,16 +148,16 @@ const INTEGRATIONS: Integration[] = [
id: 'instagram',
name: 'Instagram',
description:
'Instagram DM outreach plus user/follower lookup, post engagement, and story reads. 25 tools from ShawnMadadha/instagram_dm_mcp (a rate-limited fork of trypeggy/instagram_dm_mcp). Sign in with your Instagram username and password. First-time setup: run scripts/setup-instagram-mcp.sh. NOTE: mass-DMing from personal accounts triggers Instagram anti-abuse detection; per-tool rate limits are enforced by the server to protect your account.',
'Instagram DM outreach plus user/follower lookup, post engagement, and story reads. 25 tools powered by instagrapi (HTTP, no browser). Per-category rate limits are enforced server-side to protect the connected account from anti-abuse bans.',
mcp_config: {
type: 'stdio',
command: 'bash',
args: ['-c', 'exec "$HOME/.openswarm/instagram-mcp/.venv/bin/python" "$HOME/.openswarm/instagram-mcp/src/mcp_server.py"'],
command: 'python',
args: ['-m', 'backend.apps.instagram_mcp'],
},
color: '#E4405F',
website: 'https://github.com/ShawnMadadha/instagram_dm_mcp',
website: 'https://github.com/openswarm-ai/openswarm',
connectLabel: 'Connect Instagram',
connectInstructions: 'First-time on this machine: run `bash scripts/setup-instagram-mcp.sh` in a terminal. It installs the MCP server into ~/.openswarm/instagram-mcp/. Then sign in below with the Instagram username and password the agent should use. Credentials are stored locally in OpenSwarm; session files live in ~/.instagram_dm_mcp/sessions/ and are reused on every restart.',
connectInstructions: 'Sign in with the Instagram username and password the agent should use. Credentials validate once, then a session file at ~/.instagram_dm_mcp/sessions/ is reused on every spawn. NOTE: mass-DMing from personal accounts triggers anti-abuse detection; use established accounts and respect the built-in rate limits.',
credentialFields: [
{ key: 'INSTAGRAM_USERNAME', label: 'Instagram Username', placeholder: 'your_handle (no @)', type: 'text' },
{ key: 'INSTAGRAM_PASSWORD', label: 'Instagram Password', placeholder: '••••••••', type: 'password' },