Meta Social Technologies MCP Server
# Meta Social Technologies MCP Server & Automation Suite
[](https://nodejs.org/)
[](https://modelcontextprotocol.io/)
[](https://developers.facebook.com/)
[](LICENSE)
[](https://github.com/inyogeshwar)
> An enterprise-grade **Model Context Protocol (MCP)** server and AI automation engine for **Facebook Pages** and **Instagram Business/Creator accounts** (`@in.yogeshwar`).
> Build ManyChat & Superprofile-style comment funnels, send audio voice notes, trigger double-tap heart reactions, execute threaded quoted replies, and publish content seamlessly using AI agents.
---
## šØāš» Author & Attribution
- **Developer**: Yogeshwar Kumar
- **GitHub**: [@inyogeshwar](https://github.com/inyogeshwar)
- **YouTube Guide**: [Integrate FB Page + Instagram (Lifetime Permanent Access Token)](https://www.youtube.com/watch?v=CzsbItgqRlg)
- **Target Profiles**: Facebook Page `In.yogeshwar` & Instagram `@in.yogeshwar`
---
## ā” Core Features
- š¢ **Publishing**: Facebook status updates, photo posts, Instagram photos, and Instagram Reels (MP4).
- š¬ **Direct Messaging**: Deliver text, images, PDF files, and audio voice notes (`.m4a`, `.wav`, `.aac`).
- šļø **Voice Notes & Audio**: Strict adherence to Meta container specifications with zero-reupload via `upload_reusable_attachment`.
- ā¤ļø **Message Reactions**: Trigger double-tap heart (`ā¤ļø`), fire (`š„`), thumbs-up (`š`), or remove reactions on any message ID.
- šÆ **Threaded Quoted Replies**: Quote specific messages in Instagram DMs using `reply_to` message ID.
- š **Follow-to-Unlock Growth Funnel**: Automated ManyChat-style funnel that checks follower status before unlocking exclusive download links.
- ā” **Interactive Templates**: Quick reply pills, button action cards, and horizontal scrollable generic carousels.
- š ļø **Chat Moderation**: Ice Breakers FAQ configuration, Persistent composer menu, and `ig.me` tracking link generator.
- š **Analytics**: Real-time account and media-level reach, saves, and interaction insights.
---
## šļø Architecture
```text
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā AI Agent (Google Antigravity / Claude) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā (JSON-RPC over Stdio)
āāāāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā meta-social-technologies-mcp Server ā
ā (server.js) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā (HTTPS REST v26.0)
āāāāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Meta Graph API ā
ā āāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāā ā
ā ā¼ ā¼ ā
ā Facebook Page Instagram ā
ā (In.yogeshwar) (@in.yogeshwar) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
---
## š§° Complete Tool Catalog (32 Tools across Facebook, Instagram & Threads)
| Category | Tool Name | Description |
| :--- | :--- | :--- |
| **Profile** | `get_page_profile` | Profile details and fan count for Facebook Page. |
| | `get_instagram_profile` | Bio, follower count, and media stats for `@in.yogeshwar`. |
| | `get_user_profile` | Look up username, profile photo, and follower status of any chatter. |
| **Publishing** | `publish_facebook_post` | Publish text status and links to Facebook Page. |
| | `publish_facebook_photo` | Post photo with caption to Facebook Page. |
| | `publish_instagram_photo` | Post image with caption and hashtags to Instagram. |
| | `publish_instagram_reel` | Post video reels with caption to Instagram feed. |
| | `get_facebook_posts` | Fetch recent Facebook posts. |
| | `get_instagram_media` | Fetch recent Instagram media posts and reels. |
| **Comments** | `get_media_comments` | Read comments on a specific post or reel. |
| | `reply_to_comment` | Post a public reply to any comment. |
| | `like_comment` | Like a comment on behalf of `@in.yogeshwar`. |
| **Direct DMs** | `send_instagram_dm` | Send text, PDF, image, or M4A/WAV audio. Supports `reply_to_message_id`. |
| | `send_instagram_private_reply`| Send a private DM in response to a user's comment. |
| | `react_to_message` | Double-tap heart (`ā¤ļø`) or emoji reaction to a specific message ID. |
| **Funnel** | `check_user_follows_account` | Check if a chatter follows `@in.yogeshwar`. |
| | `run_instagram_comment_growth_funnel` | Complete ManyChat-style keyword auto-reply & follow-gated DM delivery. |
| **Interactive** | `send_sender_action` | Trigger `typing_on`, `typing_off`, or `mark_seen`. |
| | `send_quick_replies` | Interactive pill buttons (up to 13 buttons). |
| | `send_button_template` | Structured text with up to 3 action buttons. |
| | `send_generic_template` | Scrollable carousel cards with images and links. |
| | `send_human_agent_message` | Send messages outside the 24-hr window up to 7 days (`HUMAN_AGENT`). |
| | `upload_reusable_attachment`| Pre-upload media to get reusable `attachment_id`. |
| **Chat UX** | `get_conversations` | List active DM conversations and unread counts. |
| | `get_conversation_messages` | Read message history in a conversation thread. |
| | `manage_ice_breakers` | Get, set, or delete FAQs for new chatters. |
| | `manage_persistent_menu` | Configure permanent composer bottom menu. |
| | `generate_ig_me_link` | Generate `https://ig.me/m/in.yogeshwar?ref=...` links. |
| **Analytics** | `get_instagram_account_insights`| Account reach, profile views, and impressions. |
| | `get_instagram_media_insights` | Reach, saves, and interaction metrics for posts. |
| **Threads API** | `get_threads_profile` | Bio, username, and stats for `@in.yogeshwar` (ID: `2072594220036802`). |
| | `publish_threads_post` | Publish text (up to 500 chars), photos, or video threads. |
| | `get_threads_posts` | Fetch recent published threads and permalinks. |
| | `reply_to_threads_post` | Post automated replies to thread conversations. |
| | `get_threads_insights` | Pull views, likes, replies, and reposts metrics. |
---
## š Quickstart & Setup
### 1. Installation
Clone the repository or navigate to its directory:
```bash
git clone https://github.com/inyogeshwar/meta-social-technologies-mcp.git
cd meta-social-technologies-mcp
```
### 2. Configure Environment Variables
Copy `.env.example` to `.env`:
```bash
cp .env.example .env
```
Fill in your credentials:
```env
FB_PAGE_ACCESS_TOKEN=your_permanent_page_token
FB_PAGE_ID=your_page_id
INSTAGRAM_ID=your_instagram_id
```
*(See [docs/PERMANENT_TOKEN_GUIDE.md](docs/PERMANENT_TOKEN_GUIDE.md) for how to generate a lifetime permanent token).*
### 3. Add to Antigravity MCP Config
Add to `%USERPROFILE%\.gemini\config\mcp_config.json`:
```json
{
"mcpServers": {
"meta_social_technologies": {
"command": "node",
"args": [
"D:\\meta-social-technologies-mcp\\server.js"
],
"env": {
"FB_PAGE_ACCESS_TOKEN": "YOUR_TOKEN",
"FB_PAGE_ID": "YOUR_PAGE_ID",
"INSTAGRAM_ID": "YOUR_INSTAGRAM_ID"
}
}
}
}
```
### 4. Run the Test Suites
```bash
# Verify Page & Instagram connectivity
npm test
# Verify text DM & audio voice note delivery
npm run test:messaging
# Verify double-tap heart & quoted reply
npm run test:reactions
```
---
## š License
This project is licensed under the [MIT License](LICENSE) Ā© 2026 Yogeshwar Kumar.
TDQS
Scored across 35 tools
Platform prefixes (facebook/instagram/threads) help separate otherwise parallel tools, but the DM-sending cluster (send_instagram_dm, send_instagram_private_reply, send_human_agent_message, send_quick_replies, send_button_template, send_generic_template) overlaps heavily and requires careful description reading to pick correctly. Similarly get_instagram_profile vs get_user_profile vs get_threads_profile have fuzzy boundaries (own account vs IGSID lookup).
Overwhelmingly consistent verb_noun snake_case (publish_*, get_*, send_*, reply_to_*, like_*), with platform qualifiers applied predictably. Minor deviations: manage_ice_breakers/manage_persistent_menu bundle view/set/delete under a non-verb prefix, and the scoping of get_threads_insights vs get_instagram_account_insights vs get_instagram_media_insights is uneven.
35 tools is heavy; while the domain (FB Page + Instagram + Threads + DM automation) is broad, the count is inflated by six near-parallel DM-send tools and could be consolidated. It sits at the top edge of justified rather than being well-scoped.
Strong publishing, media listing, comment handling, insights, and DM/chat-configuration coverage for Instagram, but there are notable gaps: no delete/edit operations for published posts or media, and Facebook/Threads surfaces are read-and-publish only (no comment management, DMs, or insights for Facebook).