### Install and Run Apex Social MCP Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Commands to install the package via npm or execute it directly using npx. ```bash npm install @apexradius/apex-social-mcp # Or run directly npx apex-social-mcp --ytdlp-path /usr/local/bin/yt-dlp --download-dir ~/Downloads/social ``` -------------------------------- ### Get Performance Overview Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves high-level performance metrics and daily trend data. ```typescript // Get performance overview const overview = await mcp.callTool("gsc_performance_overview", { site_url: "https://example.com/", days: 28 }); ``` -------------------------------- ### gsc_performance_overview Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Gets a performance overview with daily trend data. ```APIDOC ## gsc_performance_overview ### Description Gets a performance overview with daily trend data. ### Method POST ### Endpoint /apexradius/apex-social-mcp ### Parameters #### Request Body - **site_url** (string) - Required - The URL of the property. - **days** (integer) - Optional - The number of past days to retrieve data for. ### Request Example ```json { "tool_name": "gsc_performance_overview", "parameters": { "site_url": "https://example.com/", "days": 28 } } ``` ### Response #### Success Response (200) - **Total Clicks** (integer) - Total clicks for the period. - **Total Impressions** (integer) - Total impressions for the period. - **Avg CTR** (float) - Average click-through rate. - **Avg Position** (float) - Average position. - **Daily Trend** (array) - An array of objects, each containing daily data (e.g., date, clicks, impressions). ``` -------------------------------- ### Get Meta Post Performance Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves detailed performance metrics for a specific post. ```typescript // Get post performance const performance = await mcp.callTool("meta_post_performance", { post_id: "123456789_987654321" }); // Returns: impressions, engaged users, reactions by type ``` -------------------------------- ### Get GA4 Traffic Sources Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieve traffic acquisition sources and channels. ```typescript // Traffic sources const traffic = await mcp.callTool("ga4_traffic_sources", { propertyId: "987654321", dateRange: { startDate: "30daysAgo", endDate: "today" } }); ``` -------------------------------- ### Social Media Get Source API Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Fetches the complete page source of any website, optionally extracting animation and transition CSS rules. ```APIDOC ## POST /social_get_source ### Description Fetches the complete page source of any website, optionally extracting animation and transition CSS rules for design analysis. ### Method POST ### Endpoint /social_get_source ### Parameters #### Request Body - **url** (string) - Required - The URL of the website to fetch the source from. - **wait_ms** (integer) - Optional - The time in milliseconds to wait for the page to load before fetching the source. - **include_styles** (boolean) - Optional - Whether to include extracted CSS with animation, transition, transform, and @keyframes rules. ### Request Example ```json { "url": "https://stripe.com", "wait_ms": 3000, "include_styles": true } ``` ### Response #### Success Response (200) - **html_source** (string) - The full HTML source of the page. - **css_styles** (object) - An object containing extracted CSS rules, including animation, transition, transform, and @keyframes. #### Response Example ```json { "html_source": "...", "css_styles": { "animations": "@keyframes slide-in { ... }", "transitions": ".element { transition: all 0.3s ease; }" } } ``` ``` -------------------------------- ### Meta/Facebook/Instagram API - Campaign Analytics Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Gets performance analytics for ad campaigns. ```APIDOC ## meta_campaign_analytics ### Description Gets performance analytics for ad campaigns. ### Method GET ### Endpoint /meta_campaign_analytics ### Parameters #### Query Parameters - **campaign_id** (string) - Required - The ID of the campaign to get analytics for. - **date_preset** (string) - Required - The date range for the analytics (e.g., 'last_7d', 'last_30d'). ### Request Example ```json { "campaign_id": "123456789", "date_preset": "last_7d" } ``` ### Response #### Success Response (200) - **analytics** (object) - An object containing campaign performance metrics like impressions, clicks, spend, CPC, CTR, reach, and conversions. ### Response Example // Example response structure (actual fields may vary) { "impressions": 50000, "clicks": 1000, "spend": 250.50, "cpc": 0.25, "ctr": 2.0, "reach": 20000, "conversions": 50 } ``` -------------------------------- ### Get GA4 Top Pages Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieve a report of top pages ranked by sessions. ```typescript // Top pages report const topPages = await mcp.callTool("ga4_top_pages", { propertyId: "987654321", dateRange: { startDate: "7daysAgo", endDate: "today" }, limit: 20 }); ``` -------------------------------- ### Get Meta Campaign Analytics Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves performance analytics for a specific ad campaign. ```typescript // Get campaign analytics const analytics = await mcp.callTool("meta_campaign_analytics", { campaign_id: "123456789", date_preset: "last_7d" }); // Returns: impressions, clicks, spend, CPC, CTR, reach, conversions ``` -------------------------------- ### Meta/Facebook/Instagram API - Post Performance Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Gets detailed performance metrics for a specific post. ```APIDOC ## meta_post_performance ### Description Gets detailed performance metrics for a specific post. ### Method GET ### Endpoint /meta_post_performance ### Parameters #### Query Parameters - **post_id** (string) - Required - The ID of the post to get performance metrics for. ### Request Example ```json { "post_id": "123456789_987654321" } ``` ### Response #### Success Response (200) - **performance** (object) - An object containing performance metrics like impressions, engaged users, and reactions by type. ### Response Example // Example response structure (actual fields may vary) { "impressions": 10000, "engaged_users": 2000, "reactions": { "like": 500, "love": 50, "haha": 10 } } ``` -------------------------------- ### Get GA4 Conversions Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Fetches conversion and goal completion data for a GA4 property. Requires property ID and a date range. Supports filtering by specific event names. ```typescript // Conversion events const conversions = await mcp.callTool("ga4_conversions", { propertyId: "987654321", dateRange: { startDate: "30daysAgo", endDate: "today" } }); // Returns: eventName | eventCount | totalUsers | eventsPerUser // Filters for: purchase, sign_up, generate_lead, add_to_cart, etc. ``` -------------------------------- ### Get GA4 Real-time Data Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieve real-time analytics data for active users. ```typescript // Real-time active users const realtime = await mcp.callTool("ga4_realtime", { propertyId: "987654321", metrics: ["activeUsers", "screenPageViews"], dimensions: ["pagePath", "deviceCategory"] }); ``` -------------------------------- ### Get Meta Page Insights Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves performance metrics for a Facebook Page over a specified period. ```typescript // Get page insights const insights = await mcp.callTool("meta_page_insights", { period: "week", metrics: "page_impressions,page_engaged_users,page_fans" }); // Returns metrics with values for the specified period ``` -------------------------------- ### Get GA4 Engagement Metrics Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves engagement metrics like bounce rate, session duration, and pages per session for a GA4 property. Requires property ID and a date range. ```typescript // Engagement metrics const engagement = await mcp.callTool("ga4_engagement", { propertyId: "987654321", dateRange: { startDate: "30daysAgo", endDate: "today" } }); // Returns: // Sessions: 45,230 // Users: 32,100 // Page Views: 125,678 // Pages/Session: 2.78 // Avg Session Duration: 186.5s // Bounce Rate: 42.3% // Engagement Rate: 57.7% // // + Daily trend table ``` -------------------------------- ### Get GA4 User Demographics Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves user demographics such as geography, device, age, and gender for a specified GA4 property. Requires property ID and a date range. ```typescript // Demographics report const demographics = await mcp.callTool("ga4_user_demographics", { propertyId: "987654321", dateRange: { startDate: "30daysAgo", endDate: "today" } }); // Returns sections: // - Geography (Top 20 countries/cities) // - Devices (device category, OS) // - Age brackets // - Gender distribution ``` -------------------------------- ### Create Meta Campaign Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Initializes a new advertising campaign in Meta Ads Manager. ```typescript // Create an awareness campaign const campaign = await mcp.callTool("meta_create_campaign", { name: "Q1 2024 Brand Awareness", objective: "OUTCOME_AWARENESS", daily_budget: 5000, // $50.00 in cents status: "PAUSED" }); // Returns: { id: "campaign-id" } ``` -------------------------------- ### Create Meta Ad Set Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates an ad set with specific targeting and budget parameters. ```typescript // Create an ad set const adset = await mcp.callTool("meta_create_adset", { campaign_id: "123456789", name: "US Adults 25-45", daily_budget: 2500, targeting: JSON.stringify({ geo_locations: { countries: ["US"] }, age_min: 25, age_max: 45 }), start_time: "2024-02-01T00:00:00-0800", status: "PAUSED" }); ``` -------------------------------- ### Quick Add Calendar Events Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Create events using natural language strings. ```typescript // Quick add with natural language const quickEvent = await mcp.callTool("calendar_quick_add", { text: "Lunch with Sarah tomorrow at noon at The Bistro" }); const anotherEvent = await mcp.callTool("calendar_quick_add", { text: "Call with Tokyo office Tuesday 3pm PST" }); ``` -------------------------------- ### Configure Claude Desktop for Apex Social MCP Source: https://context7.com/apexradius/apex-social-mcp/llms.txt JSON configuration for the Claude Desktop app, including environment variables for API credentials and paths. ```json { "mcpServers": { "apex-social": { "command": "npx", "args": ["apex-social-mcp"], "env": { "APEX_YTDLP_PATH": "/usr/local/bin/yt-dlp", "APEX_SOCIAL_DOWNLOAD_DIR": "~/Downloads/apex-social", "GMAIL_CLIENT_ID": "your-client-id.apps.googleusercontent.com", "GMAIL_CLIENT_SECRET": "your-client-secret", "META_APP_ID": "your-meta-app-id", "META_APP_SECRET": "your-meta-app-secret", "META_ACCESS_TOKEN": "your-access-token", "META_PAGE_ID": "your-page-id", "GSC_CREDENTIALS_PATH": "/path/to/service-account.json", "GA4_PROPERTY_ID": "123456789" } } } } ``` -------------------------------- ### List Available Video Formats Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Use the social_formats tool to identify available quality options for a specific URL. ```typescript // List available formats for a video const formats = await mcp.callTool("social_formats", { url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }); ``` -------------------------------- ### Create Meta Carousel Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates a multi-image carousel post for Instagram or Facebook. ```typescript // Create Instagram carousel const carousel = await mcp.callTool("meta_create_carousel", { images: [ "https://example.com/slide1.jpg", "https://example.com/slide2.jpg", "https://example.com/slide3.jpg" ], caption: "Swipe through our new collection! #fashion #newdrops", platform: "instagram" }); ``` -------------------------------- ### List Gmail Labels Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves all labels and folders for a specified Gmail account. ```typescript // List all labels const labels = await mcp.callTool("gmail_list_labels", { account_email: "user@gmail.com" }); // Output: // INBOX (system) // SENT (system) // Projects (user) // Clients/Acme (user) ``` -------------------------------- ### Fetch Page Source Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Retrieves HTML source and optionally extracts animation-related CSS rules. ```typescript // Get page source with animation CSS const source = await mcp.callTool("social_get_source", { url: "https://stripe.com", wait_ms: 3000, include_styles: true }); // Returns: // - Full HTML source // - Extracted CSS with animation, transition, transform, @keyframes rules ``` -------------------------------- ### gsc_search_analytics Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Gets search analytics data including clicks, impressions, CTR, and position for a property. ```APIDOC ## gsc_search_analytics ### Description Gets search analytics data including clicks, impressions, CTR, and position for a property. ### Method POST ### Endpoint /apexradius/apex-social-mcp ### Parameters #### Request Body - **site_url** (string) - Required - The URL of the property to get analytics for. - **days** (integer) - Optional - The number of past days to retrieve analytics for. - **dimensions** (string) - Optional - Comma-separated list of dimensions to group data by (e.g., 'query', 'page'). - **row_limit** (integer) - Optional - The maximum number of rows to return. ### Request Example ```json { "tool_name": "gsc_search_analytics", "parameters": { "site_url": "https://example.com/", "days": 28, "dimensions": "query", "row_limit": 50 } } ``` ### Response #### Success Response (200) - **Query** (string) - The search query. - **Clicks** (integer) - The number of clicks. - **Impressions** (integer) - The number of impressions. - **CTR** (float) - The click-through rate. - **Position** (float) - The average position. ``` -------------------------------- ### Create Meta Post Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Publishes content to Facebook or Instagram platforms. ```typescript // Post to Facebook const fbPost = await mcp.callTool("meta_create_post", { message: "Exciting news! Check out our latest product launch.", image_url: "https://example.com/product.jpg", platform: "facebook", link: "https://example.com/product" }); // Post to Instagram const igPost = await mcp.callTool("meta_create_post", { message: "Behind the scenes at our photo shoot! #bts #photography", image_url: "https://example.com/bts-photo.jpg", platform: "instagram" }); // Returns: { id: "post-id" } ``` -------------------------------- ### List Google Search Console Properties Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Lists all properties accessible by the service account in Google Search Console. ```typescript // List all GSC properties const properties = await mcp.callTool("gsc_list_properties", {}); // Output: // - https://example.com/ (siteOwner) // - sc-domain:example.com (siteFullUser) ``` -------------------------------- ### Manage Sitemaps Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Lists or submits sitemaps for a property. ```typescript // List sitemaps const sitemaps = await mcp.callTool("gsc_list_sitemaps", { site_url: "https://example.com/" }); // Submit a sitemap const submitted = await mcp.callTool("gsc_submit_sitemap", { site_url: "https://example.com/", sitemap_url: "https://example.com/sitemap.xml" }); ``` -------------------------------- ### Gmail API - List Labels Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Lists all labels and folders for a Gmail account. ```APIDOC ## gmail_list_labels ### Description Lists all labels and folders for a Gmail account. ### Method POST ### Endpoint /gmail_list_labels ### Parameters #### Request Body - **account_email** (string) - Required - The email address of the Gmail account. ### Request Example { "account_email": "user@gmail.com" } ### Response #### Success Response (200) - **labels** (array) - A list of labels and folders. ### Response Example [ "INBOX (system)", "SENT (system)", "Projects (user)", "Clients/Acme (user)" ] ``` -------------------------------- ### Meta/Facebook/Instagram API - Create Ad Set Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates an ad set with targeting and budget configuration. ```APIDOC ## meta_create_adset ### Description Creates an ad set with targeting and budget configuration. ### Method POST ### Endpoint /meta_create_adset ### Parameters #### Request Body - **campaign_id** (string) - Required - The ID of the campaign this ad set belongs to. - **name** (string) - Required - The name of the ad set. - **daily_budget** (integer) - Required - The daily budget in cents. - **targeting** (string) - Required - A JSON string representing the targeting criteria. - **start_time** (string) - Required - The start time for the ad set in ISO 8601 format. - **status** (string) - Optional - The initial status of the ad set ('PAUSED' or 'ACTIVE'). ### Request Example ```json { "campaign_id": "123456789", "name": "US Adults 25-45", "daily_budget": 2500, "targeting": "{\"geo_locations\": {\"countries\": [\"US\"], \"age_min\": 25, \"age_max\": 45}}", "start_time": "2024-02-01T00:00:00-0800", "status": "PAUSED" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created ad set. ### Response Example { "id": "adset-id" } ``` -------------------------------- ### Batch Inspect URLs Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Inspects up to 10 URLs simultaneously. ```typescript // Batch inspect URLs const batchInspection = await mcp.callTool("gsc_batch_inspect", { site_url: "https://example.com/", urls: `https://example.com/page1 https://example.com/page2 https://example.com/page3` }); ``` -------------------------------- ### Google Analytics 4 API Endpoints Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Tools for accessing Google Analytics 4 data, including listing properties, running custom reports, getting real-time data, top pages, and traffic sources. ```APIDOC ## POST /ga4_list_properties ### Description Lists GA4 properties accessible by the service account. ### Method POST ### Endpoint /ga4_list_properties ### Parameters #### Request Body - **account** (string) - Optional - The account name or ID to filter properties. Uses default if omitted. ### Request Example ```json { "account": "apex" } ``` ### Response #### Success Response (200) - **properties** (array) - A list of GA4 properties. - **id** (string) - The ID of the property. - **name** (string) - The name of the property. - **account** (string) - The account the property belongs to. #### Response Example ```json [ { "id": "987654321", "name": "Production Site", "account": "Apex Radius (accounts/123456)" }, { "id": "123456789", "name": "Staging Site", "account": "Apex Radius (accounts/123456)" } ] ``` ## POST /ga4_report ### Description Runs a custom GA4 report with arbitrary dimensions and metrics. ### Method POST ### Endpoint /ga4_report ### Parameters #### Request Body - **propertyId** (string) - Required - The ID of the GA4 property. - **dimensions** (array) - Required - A list of dimensions to include in the report (e.g., ["pagePath", "sessionSource"]). - **metrics** (array) - Required - A list of metrics to include in the report (e.g., ["sessions", "screenPageViews"]). - **dateRange** (object) - Required - The date range for the report. - **startDate** (string) - Required - The start date (e.g., "YYYY-MM-DD" or "30daysAgo"). - **endDate** (string) - Required - The end date (e.g., "YYYY-MM-DD" or "today"). - **limit** (integer) - Optional - The maximum number of rows to return. ### Request Example ```json { "propertyId": "987654321", "dimensions": ["pagePath", "sessionSource"], "metrics": ["sessions", "screenPageViews", "averageSessionDuration"], "dateRange": { "startDate": "30daysAgo", "endDate": "today" }, "limit": 100 } ``` ### Response #### Success Response (200) - **rows** (array) - Tabular data with requested dimensions and metrics. - Each object in the array represents a row with key-value pairs for dimensions and metrics. #### Response Example ```json { "rows": [ { "pagePath": "/home", "sessionSource": "(direct)", "sessions": "1500", "screenPageViews": "4500", "averageSessionDuration": "120.5" }, { "pagePath": "/about", "sessionSource": "google", "sessions": "800", "screenPageViews": "1600", "averageSessionDuration": "90.2" } ] } ``` ## POST /ga4_realtime ### Description Gets real-time analytics data showing active users right now. ### Method POST ### Endpoint /ga4_realtime ### Parameters #### Request Body - **propertyId** (string) - Required - The ID of the GA4 property. - **metrics** (array) - Required - A list of metrics to retrieve (e.g., ["activeUsers", "screenPageViews"]). - **dimensions** (array) - Optional - A list of dimensions to break down the data by (e.g., ["pagePath", "deviceCategory"]). ### Request Example ```json { "propertyId": "987654321", "metrics": ["activeUsers", "screenPageViews"], "dimensions": ["pagePath", "deviceCategory"] } ``` ### Response #### Success Response (200) - **rows** (array) - Real-time data broken down by dimensions. - Each object in the array represents a row with key-value pairs for dimensions and metrics. #### Response Example ```json { "rows": [ { "pagePath": "/home", "deviceCategory": "desktop", "activeUsers": "50", "screenPageViews": "100" }, { "pagePath": "/home", "deviceCategory": "mobile", "activeUsers": "30", "screenPageViews": "60" } ] } ``` ## POST /ga4_top_pages ### Description Gets top pages ranked by sessions. ### Method POST ### Endpoint /ga4_top_pages ### Parameters #### Request Body - **propertyId** (string) - Required - The ID of the GA4 property. - **dateRange** (object) - Required - The date range for the report. - **startDate** (string) - Required - The start date (e.g., "YYYY-MM-DD" or "7daysAgo"). - **endDate** (string) - Required - The end date (e.g., "YYYY-MM-DD" or "today"). - **limit** (integer) - Optional - The maximum number of pages to return. ### Request Example ```json { "propertyId": "987654321", "dateRange": { "startDate": "7daysAgo", "endDate": "today" }, "limit": 20 } ``` ### Response #### Success Response (200) - **rows** (array) - A list of top pages with associated metrics. - **pagePath** (string) - The path of the page. - **pageTitle** (string) - The title of the page. - **sessions** (string) - The number of sessions. - **pageViews** (string) - The number of page views. - **avgDuration** (string) - The average duration on the page. - **bounceRate** (string) - The bounce rate for the page. #### Response Example ```json { "rows": [ { "pagePath": "/home", "pageTitle": "Homepage", "sessions": "1500", "pageViews": "4500", "avgDuration": "120.5", "bounceRate": "40.2%" }, { "pagePath": "/products", "pageTitle": "Products", "sessions": "1200", "pageViews": "3600", "avgDuration": "150.0", "bounceRate": "35.5%" } ] } ``` ## POST /ga4_traffic_sources ### Description Gets traffic acquisition sources and channels. ### Method POST ### Endpoint /ga4_traffic_sources ### Parameters #### Request Body - **propertyId** (string) - Required - The ID of the GA4 property. - **dateRange** (object) - Required - The date range for the report. - **startDate** (string) - Required - The start date (e.g., "YYYY-MM-DD" or "30daysAgo"). - **endDate** (string) - Required - The end date (e.g., "YYYY-MM-DD" or "today"). ### Request Example ```json { "propertyId": "987654321", "dateRange": { "startDate": "30daysAgo", "endDate": "today" } } ``` ### Response #### Success Response (200) - **rows** (array) - A list of traffic sources with associated metrics. - **source** (string) - The traffic source (e.g., google, facebook). - **medium** (string) - The traffic medium (e.g., organic, cpc). - **channel** (string) - The traffic channel (e.g., Organic Search, Paid Search). - **sessions** (string) - The number of sessions. - **users** (string) - The number of users. - **newUsers** (string) - The number of new users. - **bounceRate** (string) - The bounce rate. #### Response Example ```json { "rows": [ { "source": "google", "medium": "organic", "channel": "Organic Search", "sessions": "10000", "users": "8000", "newUsers": "6000", "bounceRate": "45.1%" }, { "source": "(direct)", "medium": "(none)", "channel": "Direct", "sessions": "5000", "users": "4000", "newUsers": "3000", "bounceRate": "55.0%" } ] } ``` ``` -------------------------------- ### Meta/Facebook/Instagram API - Create Campaign Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates a new advertising campaign in Meta Ads Manager. ```APIDOC ## meta_create_campaign ### Description Creates a new advertising campaign in Meta Ads Manager. ### Method POST ### Endpoint /meta_create_campaign ### Parameters #### Request Body - **name** (string) - Required - The name of the campaign. - **objective** (string) - Required - The campaign objective (e.g., 'OUTCOME_AWARENESS', 'LINK_CLICKS'). - **daily_budget** (integer) - Optional - The daily budget in cents. - **status** (string) - Optional - The initial status of the campaign ('PAUSED' or 'ACTIVE'). ### Request Example ```json { "name": "Q1 2024 Brand Awareness", "objective": "OUTCOME_AWARENESS", "daily_budget": 5000, // $50.00 in cents "status": "PAUSED" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created campaign. ### Response Example { "id": "campaign-id" } ``` -------------------------------- ### Google Search Console API - List Properties Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Lists all Search Console properties accessible by the service account. ```APIDOC ## gsc_list_properties ### Description Lists all Search Console properties accessible by the service account. ### Method GET ### Endpoint /gsc_list_properties ### Parameters #### Request Body (No parameters required) ### Request Example {} ### Response #### Success Response (200) - **properties** (array) - A list of Search Console properties. ### Response Example [ "https://example.com/ (siteOwner)", "sc-domain:example.com (siteFullUser)" ] ``` -------------------------------- ### Create Calendar Events Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Create various types of calendar events including meetings, recurring events, and all-day events. ```typescript // Create a meeting const meeting = await mcp.callTool("calendar_create_event", { summary: "Project Kickoff Meeting", start: { dateTime: "2024-02-15T10:00:00-07:00", timeZone: "America/Denver" }, end: { dateTime: "2024-02-15T11:00:00-07:00", timeZone: "America/Denver" }, attendees: [ { email: "colleague@example.com" }, { email: "manager@example.com" } ], location: "Conference Room A", description: "Discuss project goals and timeline", sendUpdates: "all" }); // Create a recurring event const weekly = await mcp.callTool("calendar_create_event", { summary: "Weekly Team Standup", start: { dateTime: "2024-02-12T09:00:00-07:00", timeZone: "America/Denver" }, end: { dateTime: "2024-02-12T09:30:00-07:00", timeZone: "America/Denver" }, recurrence: ["RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=12"] }); // Create an all-day event const allDay = await mcp.callTool("calendar_create_event", { summary: "Company Holiday", start: { date: "2024-07-04" }, end: { date: "2024-07-05" } }); ``` -------------------------------- ### Download Social Media Content Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Use the social_download tool to save video or audio content with specific format or extraction settings. ```typescript // Download best quality video const download = await mcp.callTool("social_download", { url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ", format: "bestvideo+bestaudio/best" }); // Download 720p specifically const download720 = await mcp.callTool("social_download", { url: "https://www.instagram.com/reel/ABC123/", format: "720p" }); // Extract audio only as MP3 const audioOnly = await mcp.callTool("social_download", { url: "https://www.tiktok.com/@user/video/123456", audio_only: true }); ``` -------------------------------- ### gsc_batch_inspect Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Inspects multiple URLs in batch (max 10). ```APIDOC ## gsc_batch_inspect ### Description Inspects multiple URLs in batch (max 10). ### Method POST ### Endpoint /apexradius/apex-social-mcp ### Parameters #### Request Body - **site_url** (string) - Required - The URL of the property. - **urls** (string) - Required - A newline-separated list of URLs to inspect (max 10). ### Request Example ```json { "tool_name": "gsc_batch_inspect", "parameters": { "site_url": "https://example.com/", "urls": "https://example.com/page1\nhttps://example.com/page2\nhttps://example.com/page3" } } ``` ``` -------------------------------- ### Meta/Facebook/Instagram API - Create Carousel Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates a multi-image carousel post on Instagram or Facebook. ```APIDOC ## meta_create_carousel ### Description Creates a multi-image carousel post on Instagram or Facebook. ### Method POST ### Endpoint /meta_create_carousel ### Parameters #### Request Body - **images** (array of strings) - Required - A list of URLs for the images in the carousel. - **caption** (string) - Optional - The caption for the carousel post. - **platform** (string) - Required - The platform to post to ('instagram' or 'facebook'). ### Request Example ```json { "images": [ "https://example.com/slide1.jpg", "https://example.com/slide2.jpg", "https://example.com/slide3.jpg" ], "caption": "Swipe through our new collection! #fashion #newdrops", "platform": "instagram" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the created carousel post. ### Response Example { "id": "carousel-post-id" } ``` -------------------------------- ### Compare Search Analytics Periods Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Compares performance metrics between two distinct time intervals. ```typescript // Compare this month vs last month const comparison = await mcp.callTool("gsc_compare_periods", { site_url: "https://example.com/", period1_start: "2024-02-01", period1_end: "2024-02-28", period2_start: "2024-01-01", period2_end: "2024-01-31", dimensions: "query", limit: 20 }); ``` -------------------------------- ### Capture Web Screenshots Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Captures screenshots of websites using a headless browser. Supports full-page captures, scrolling, and animation delays. ```typescript // Basic screenshot const screenshot = await mcp.callTool("social_screenshot", { url: "https://www.instagram.com/nasa/" }); // Screenshot with scroll and wait for animations const animatedScreenshot = await mcp.callTool("social_screenshot", { url: "https://example.com/landing-page", scroll_to: 500, wait_ms: 3000, full_page: true }); // Returns: base64 PNG image with caption ``` -------------------------------- ### Schedule Meta Post Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Schedules a future post for Facebook using a Unix timestamp. ```typescript // Schedule a post for tomorrow at 9 AM const scheduledPost = await mcp.callTool("meta_schedule_post", { message: "Don't miss our flash sale starting now!", scheduled_publish_time: Math.floor(Date.now() / 1000) + 86400, // Unix timestamp image_url: "https://example.com/sale-banner.jpg" }); ``` -------------------------------- ### List GA4 Properties Source: https://context7.com/apexradius/apex-social-mcp/llms.txt List all GA4 properties accessible by the service account. ```typescript // List GA4 properties const properties = await mcp.callTool("ga4_list_properties", { account: "apex" // optional, uses default if omitted }); ``` -------------------------------- ### Create Gmail Drafts Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Creates a draft email in the specified account without sending it. ```typescript // Create a draft const draft = await mcp.callTool("gmail_create_draft", { account_email: "user@gmail.com", to: "client@example.com", subject: "Proposal Draft", body: "Please find attached our proposal..." }); // Returns: { draftId: "draft-id", messageId: "message-id", threadId: "thread-id" } ``` -------------------------------- ### Calendar API Endpoints Source: https://context7.com/apexradius/apex-social-mcp/llms.txt Tools for managing calendar events, including creating, updating, checking availability, quick adding, and listing calendars. ```APIDOC ## POST /calendar_create_event ### Description Creates a new calendar event with support for attendees, recurrence, and custom reminders. ### Method POST ### Endpoint /calendar_create_event ### Parameters #### Request Body - **summary** (string) - Required - The title of the event. - **start** (object) - Required - The start time of the event. Can be `dateTime` or `date`. - **dateTime** (string) - Optional - The date and time in ISO 8601 format. - **timeZone** (string) - Optional - The time zone of the event (e.g., "America/Denver"). - **date** (string) - Optional - The date in "YYYY-MM-DD" format for all-day events. - **end** (object) - Required - The end time of the event. Can be `dateTime` or `date`. - **dateTime** (string) - Optional - The date and time in ISO 8601 format. - **timeZone** (string) - Optional - The time zone of the event (e.g., "America/Denver"). - **date** (string) - Optional - The date in "YYYY-MM-DD" format for all-day events. - **attendees** (array) - Optional - A list of attendees. - **email** (string) - Required - The email address of the attendee. - **location** (string) - Optional - The physical location of the event. - **description** (string) - Optional - A description of the event. - **sendUpdates** (string) - Optional - Determines if and how to send update notifications ('all', 'externalOnly', 'none'). - **recurrence** (array) - Optional - Recurrence rules for the event (e.g., ["RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=12"]). ### Request Example ```json { "summary": "Project Kickoff Meeting", "start": { "dateTime": "2024-02-15T10:00:00-07:00", "timeZone": "America/Denver" }, "end": { "dateTime": "2024-02-15T11:00:00-07:00", "timeZone": "America/Denver" }, "attendees": [ { "email": "colleague@example.com" }, { "email": "manager@example.com" } ], "location": "Conference Room A", "description": "Discuss project goals and timeline", "sendUpdates": "all" } ``` ### Response #### Success Response (200) - **eventId** (string) - The ID of the created event. #### Response Example ```json { "eventId": "event456def" } ``` ## POST /calendar_update_event ### Description Updates an existing calendar event. ### Method POST ### Endpoint /calendar_update_event ### Parameters #### Request Body - **eventId** (string) - Required - The ID of the event to update. - **summary** (string) - Optional - The new title of the event. - **start** (object) - Optional - The new start time of the event. - **dateTime** (string) - Optional - The date and time in ISO 8601 format. - **timeZone** (string) - Optional - The time zone of the event (e.g., "America/Denver"). - **date** (string) - Optional - The date in "YYYY-MM-DD" format for all-day events. - **end** (object) - Optional - The new end time of the event. - **dateTime** (string) - Optional - The date and time in ISO 8601 format. - **timeZone** (string) - Optional - The time zone of the event (e.g., "America/Denver"). - **date** (string) - Optional - The date in "YYYY-MM-DD" format for all-day events. - **location** (string) - Optional - The new physical location of the event. - **description** (string) - Optional - The new description of the event. - **sendUpdates** (string) - Optional - Determines if and how to send update notifications ('all', 'externalOnly', 'none'). ### Request Example ```json { "eventId": "event123abc", "summary": "Updated: Project Review Meeting", "description": "New agenda: Review Q1 progress" } ``` ### Response #### Success Response (200) - **eventId** (string) - The ID of the updated event. #### Response Example ```json { "eventId": "event123abc" } ``` ## POST /calendar_free_busy ### Description Checks free/busy status across calendars for scheduling. ### Method POST ### Endpoint /calendar_free_busy ### Parameters #### Request Body - **timeMin** (string) - Required - The start of the time range to check (ISO 8601 format). - **timeMax** (string) - Required - The end of the time range to check (ISO 8601 format). - **calendarIds** (array) - Required - A list of calendar IDs to check. - **calendarId** (string) - Required - The ID of the calendar. ### Request Example ```json { "timeMin": "2024-02-15T08:00:00-07:00", "timeMax": "2024-02-15T18:00:00-07:00", "calendarIds": ["primary", "team-calendar@group.calendar.google.com"] } ``` ### Response #### Success Response (200) - **calendars** (array) - A list of calendars with their free/busy information. - **calendarId** (string) - The ID of the calendar. - **errors** (array) - A list of errors encountered for this calendar. - **freeBusy** (array) - A list of time segments indicating free or busy status. - **start** (string) - The start time of the segment (ISO 8601 format). - **end** (string) - The end time of the segment (ISO 8601 format). - **isFree** (boolean) - True if the segment is free, false if busy. #### Response Example ```json { "calendars": [ { "calendarId": "primary", "errors": [], "freeBusy": [ { "start": "2024-02-15T08:00:00-07:00", "end": "2024-02-15T09:00:00-07:00", "isFree": true }, { "start": "2024-02-15T09:00:00-07:00", "end": "2024-02-15T17:00:00-07:00", "isFree": false }, { "start": "2024-02-15T17:00:00-07:00", "end": "2024-02-15T18:00:00-07:00", "isFree": true } ] } ] } ``` ## POST /calendar_quick_add ### Description Creates an event using natural language parsing. ### Method POST ### Endpoint /calendar_quick_add ### Parameters #### Request Body - **text** (string) - Required - The natural language text describing the event. ### Request Example ```json { "text": "Lunch with Sarah tomorrow at noon at The Bistro" } ``` ### Response #### Success Response (200) - **event** (object) - The created event details. - **eventId** (string) - The ID of the created event. #### Response Example ```json { "event": { "eventId": "event789ghi" } } ``` ## POST /calendar_list_calendars ### Description Lists all calendars the user has access to. ### Method POST ### Endpoint /calendar_list_calendars ### Parameters #### Request Body (No parameters required) ### Request Example ```json {} ``` ### Response #### Success Response (200) - **calendars** (array) - A list of calendars. - **id** (string) - The ID of the calendar. - **summary** (string) - The name of the calendar. - **accessRole** (string) - The user's access role (e.g., 'owner', 'writer', 'reader'). #### Response Example ```json [ { "id": "primary", "summary": "Personal [PRIMARY]", "accessRole": "owner" }, { "id": "abc123@group.calendar.google.com", "summary": "Work Projects", "accessRole": "writer" } ] ``` ```