Koskamo

Nuntior MCP

An official MCP server and REST API enabling AI agents to manage social media, messaging, blogging, and telecom operations across 22 destinations. It provides 16 semantic tools for publishing content, managing inboxes, querying analytics, and handling phone numbers, supporting both OAuth and Bring Your Own Key (BYOK) authentication models.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Nuntior MCP logo, by NuntiorVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Nuntior
You need:Sign up free and copy your API key from the dashboardPoint your agent at https://mcp.nuntior.com/mcp with your keyConnect an account, then ask your agent to post
MCP endpoint (Streamable HTTP)
https://mcp.nuntior.com/mcp
Vendor documentation

What you can do with it

  • Publish posts to X, LinkedIn, Instagram, and other social platforms
  • Manage unified inbox messages and threaded replies
  • Query analytics for reach, engagement, and click data
  • Provision phone numbers and send SMS or voice calls

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
nuntior-mcp 1.0.0
MCP protocol
2025-06-18
Tools
16 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Tools

16 advertised

account_register — Register Agent Account & Workspace
Advertised by the server during the last successful anonymous check.
Open-world

Provision a new Nuntior user account, multi-tenant workspace, default brand profile, and live Bearer API key (`ntr_live_...`) in one zero-browser call. Use this tool when an AI agent or developer needs to onboard from scratch without opening a web browser first. Returns the newly created `userId`, `workspaceId`, `defaultProfileId`, live `apiKey`, and a 1-click `claimUrl` so a human owner can optionally claim the workspace in the web console (`https://nuntior.com/app`). If the email already exists, returns a fresh session key for that workspace.

account_register input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name for the human owner or autonomous agent operator (e.g. 'Alex Rivera' or 'Growth Agent')."
    },
    "email": {
      "type": "string",
      "description": "Owner or developer email address used to identify the Nuntior account and receive workspace claim notifications (e.g. 'founder@company.com')."
    },
    "agentHarness": {
      "type": "string",
      "default": "grok-bot",
      "description": "Identifier of the calling AI agent harness or MCP client (e.g. 'grok-bot', 'cursor', 'claude-code', 'n8n', 'openclaw', 'windsurf') for telemetry attribution."
    },
    "organizationName": {
      "type": "string",
      "description": "Organization, agency, or workspace name used to label the multi-tenant workspace and default brand profile."
    }
  },
  "additionalProperties": false
}
account_register annotations
{
  "title": "Register Agent Account & Workspace",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
account_status — Inspect Account Status & Plan Quotas
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Inspect the authenticated workspace's subscription tier (`free`, `starter`, `builder`, `scale`), active social account connections versus plan quota limits (3, 12, 35, or 100), monthly posts published, API key prefix, Stripe billing status, and connected brand profiles. Use this read-only diagnostic tool before connecting new social accounts or publishing high-volume campaigns to verify quota availability and account readiness. Returns a structured summary object containing `workspace`, `planLimits`, `usage`, `billing`, `profiles`, and `connectedAccounts`.

account_status input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "Optional Nuntior Bearer API key (`ntr_live_...`) override when not supplied via the HTTP `Authorization` header."
    },
    "workspaceId": {
      "type": "string",
      "description": "Optional workspace identifier (`ws_...`) to inspect a specific tenant workspace when managing multiple workspaces."
    }
  },
  "additionalProperties": false
}
account_status annotations
{
  "title": "Inspect Account Status & Plan Quotas",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
billing_upgrade — Generate Stripe Plan Upgrade or Portal Link
Advertised by the server during the last successful anonymous check.
Open-world

Generate a live 1-click Stripe Checkout session URL or Stripe Customer Billing Portal link to upgrade a Nuntior workspace subscription. Supports upgrading to `starter` ($19/mo, 12 social connections, 1,500 posts/mo), `builder` ($35/mo, 35 social connections, 10,000 posts/mo), or `scale` ($79/mo, 100 social connections, 50,000 posts/mo + $0.50 per extra connection), plus optional `dedicated_phone` ($1.50/mo E.164 number for SMS, WhatsApp, and SIP Voice AI). Returns `checkoutUrl` (or `portalUrl`), target plan metadata, connection quotas, and user instructions.

billing_upgrade input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "plan": {
      "enum": [
        "starter",
        "builder",
        "scale"
      ],
      "type": "string",
      "default": "starter",
      "description": "Target subscription tier: 'starter' ($19/mo, 12 connections), 'builder' ($35/mo, 35 connections), or 'scale' ($79/mo, 100 connections)."
    },
    "action": {
      "enum": [
        "checkout",
        "portal"
      ],
      "type": "string",
      "default": "checkout",
      "description": "Billing operation: 'checkout' creates a new Stripe Checkout upgrade session URL; 'portal' generates a Stripe Customer Portal link to manage existing payment methods and invoices."
    },
    "apiKey": {
      "type": "string",
      "description": "Optional Nuntior Bearer API key (`ntr_live_...`) override when not provided in the HTTP `Authorization` header."
    },
    "dedicated_phone": {
      "type": "boolean",
      "default": false,
      "description": "When true, attaches a dedicated E.164 telecom phone number add-on ($1.50/mo) for transactional SMS, WhatsApp Business Cloud, and SIP Voice AI agents."
    }
  },
  "additionalProperties": false
}
billing_upgrade annotations
{
  "title": "Generate Stripe Plan Upgrade or Portal Link",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
profiles_manage — Manage Multi-Tenant Brand Profiles
Advertised by the server during the last successful anonymous check.
Open-world

Create, list, update, or delete isolated multi-tenant brand or client profiles within a Nuntior workspace, including default timezone, X Smart Link optimization strategy, and automatic media aspect-ratio fitting rules. Use this tool to segment social accounts by brand, business unit, or agency client so credentials and posts never mix across profiles. Returns the list of profiles or the newly created/updated/deleted `Profile` record persisted in Nuntior Cloud.

profiles_manage input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Human-readable brand, executive, or client display name for the profile (e.g. 'Allometrik Official' or 'Acme Corp')."
    },
    "action": {
      "enum": [
        "list",
        "create",
        "update",
        "delete"
      ],
      "type": "string",
      "description": "Profile lifecycle operation to perform: 'list' all profiles in the workspace, 'create' a new isolated brand profile, 'update' an existing profile's settings, or 'delete' a profile by ID."
    },
    "timezone": {
      "type": "string",
      "default": "Europe/Madrid",
      "description": "IANA timezone identifier (e.g. 'Europe/Madrid', 'America/New_York', 'Asia/Dubai') used for queue scheduling and best-time-to-post analytics."
    },
    "profileId": {
      "type": "string",
      "description": "Target profile identifier (e.g. 'prof_allometrik'). Required for 'update' and 'delete' actions; optional custom ID when creating a profile."
    },
    "handleSlug": {
      "type": "string",
      "description": "URL-friendly canonical handle slug (e.g. 'allometrik') used to verify social handle consistency across connected platforms."
    },
    "autoAdjustMedia": {
      "type": "boolean",
      "default": true,
      "description": "When true, automatically reframes and transcodes uploaded images and videos to match each destination social network's required aspect ratio (9:16, 16:9, 1:1, 4:5)."
    },
    "defaultXLinkStrategy": {
      "enum": [
        "inline",
        "first_reply",
        "bio"
      ],
      "type": "string",
      "default": "first_reply",
      "description": "Default X (Twitter) link placement policy for this profile: 'first_reply' moves external URLs to an automatic 1st reply (saving 85% in X API link fees and avoiding reach penalties), 'inline' keeps links in the main post, and 'bio' references the profile bio link."
    }
  },
  "additionalProperties": false
}
profiles_manage annotations
{
  "title": "Manage Multi-Tenant Brand Profiles",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
accounts_manage — Manage Social OAuth & BYOK Accounts
Advertised by the server during the last successful anonymous check.
Open-world

List connected social accounts, initiate 1-click Managed OAuth 2.0 flows (`connect_oauth`), vault custom Bring-Your-Own-Keys (`connect_byok`) with zero markup and AES-256-GCM encryption, run live upstream API token health checks (`account_health`), or disconnect accounts across 18+ platforms. Use this tool whenever you need to link a new social network, verify OAuth token validity and latency, or inspect which platforms are ready for publishing. Returns account metadata, 1-click `authorizationUrl` links, or live latency/health diagnostics; if the workspace connection quota is full, returns a structured `PLAN_CONNECTION_LIMIT_REACHED` upgrade prompt.

accounts_manage input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "enum": [
        "list",
        "connect_oauth",
        "connect_byok",
        "health_check",
        "account_health",
        "disconnect"
      ],
      "type": "string",
      "description": "Account operation: 'list' connected accounts, 'connect_oauth' to get a 1-click OAuth 2.0 authorization URL, 'connect_byok' to store custom API keys/tokens encrypted with AES-256-GCM ($0 markup), 'account_health'/'health_check' to verify live upstream token validity, or 'disconnect' to remove an account."
    },
    "platform": {
      "enum": [
        "x",
        "linkedin",
        "bluesky",
        "instagram",
        "facebook",
        "threads",
        "tiktok",
        "youtube",
        "reddit",
        "pinterest",
        "mastodon",
        "telegram",
        "discord",
        "google_business",
        "ghost",
        "wordpress",
        "webflow",
        "whatsapp"
      ],
      "type": "string",
      "description": "Target social, blog, or messaging platform slug (e.g. 'x', 'linkedin', 'bluesky', 'instagram', 'threads', 'youtube', 'tiktok', 'reddit'). Required for 'connect_oauth' and 'connect_byok'."
    },
    "returnTo": {
      "type": "string",
      "description": "connect_oauth: where to send the user after connecting (relative path, agent deep link like cursor://, or an https origin registered in your OAuth client redirect_uris)."
    },
    "username": {
      "type": "string",
      "description": "Account handle, username, Bluesky ATProto handle (e.g. 'brand.bsky.social'), or Mastodon instance handle associated with the social account."
    },
    "accountId": {
      "type": "string",
      "description": "Connected social account identifier (e.g. 'acc_x_byok_01'). Required when `action` is 'disconnect' and optional filter for 'account_health'."
    },
    "profileId": {
      "type": "string",
      "description": "Brand profile identifier (e.g. 'prof_allometrik') that owns or filters the social account connections."
    },
    "accessToken": {
      "type": "string",
      "description": "BYOK OAuth 2.0 Bearer access token, OAuth 1.0a access token, Telegram Bot token, or Discord Webhook URL encrypted at rest."
    },
    "refreshToken": {
      "type": "string",
      "description": "Optional OAuth 2.0 refresh token or OAuth 1.0a access token secret used for automatic token rotation and health recovery."
    },
    "customClientId": {
      "type": "string",
      "description": "BYOK OAuth App Client ID, API Key, Bot ID, or Bluesky identifier encrypted at rest with AES-256-GCM in the Nuntior Vault (0% platform markup)."
    },
    "returnClientId": {
      "type": "string",
      "description": "connect_oauth: your DCR OAuth client_id, used to allowlist an https returnTo."
    },
    "customClientSecret": {
      "type": "string",
      "description": "BYOK OAuth App Client Secret, API Key Secret, or Bluesky App Password encrypted at rest with AES-256-GCM in the Nuntior Vault."
    }
  },
  "additionalProperties": false
}
accounts_manage annotations
{
  "title": "Manage Social OAuth & BYOK Accounts",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
posts_publish — Publish & Cross-Post Across 18 Social Networks
Advertised by the server during the last successful anonymous check.
Open-world

Publish immediately (`publish_now`), schedule for a future ISO-8601 timestamp (`schedule`), enqueue into the profile slot queue (`queue`), or simultaneously cross-post (`cross_post`) content and media across 18+ social networks. Includes the built-in X Smart Link Optimizer (`xLinkStrategy: 'first_reply'`), which automatically strips external links from the main X post and publishes them in an immediate 1st reply—cutting X API link costs by 85% ($0.03 vs $0.20) while avoiding main-feed link reach penalties. Returns the persisted `postId`, per-platform delivery receipts (`platformResults`), total API cost (`totalCostUsd`), and exact dollar savings (`totalSavedViaSmartLinkUsd`).

posts_publish input schema
{
  "type": "object",
  "required": [
    "action",
    "platforms"
  ],
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional tags or keywords for YouTube, TikTok, or CMS posts."
    },
    "title": {
      "type": "string",
      "description": "Optional headline, YouTube/TikTok video title, LinkedIn PDF carousel title, or Reddit/Pinterest post title."
    },
    "action": {
      "enum": [
        "publish_now",
        "schedule",
        "queue",
        "cross_post"
      ],
      "type": "string",
      "description": "Publishing mode: 'publish_now' dispatches immediately, 'cross_post' syndicates tailored variants across multiple networks at once, 'schedule' holds until `scheduledFor`, and 'queue' places the post in the next best engagement slot."
    },
    "format": {
      "enum": [
        "post",
        "story"
      ],
      "type": "string",
      "default": "post",
      "description": "Publication format. 'post' (default) is a regular feed post. 'story' publishes an Instagram Story: requires platforms=['instagram'], action='publish_now', exactly ONE media item (one entry in `mediaUrls` or `mediaAssetIds`; image .jpg/.png or video .mp4/.mov, ideally 9:16, video 3-60s) and NO caption (omit `content` or pass an empty string). Videos are processed by Instagram before going live."
    },
    "content": {
      "type": "string",
      "description": "Primary post body text, caption, or thread hook. May include hashtags, mentions, and URLs (external URLs on X are automatically handled according to `xLinkStrategy`)."
    },
    "accountId": {
      "type": "string",
      "description": "Optional connected account id (`acc_...`) to publish with. When set, that exact account (and its token) is used for its platform instead of auto-selecting one."
    },
    "mediaUrls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional direct URLs to images (.png, .jpg, .webp), videos (.mp4, .mov), or documents (.pdf, .pptx, .docx for LinkedIn Document Carousels)."
    },
    "platforms": {
      "type": "array",
      "items": {
        "enum": [
          "x",
          "linkedin",
          "bluesky",
          "instagram",
          "facebook",
          "threads",
          "tiktok",
          "youtube",
          "reddit",
          "pinterest",
          "mastodon",
          "telegram",
          "discord",
          "google_business",
          "ghost",
          "wordpress",
          "webflow",
          "whatsapp"
        ],
        "type": "string"
      },
      "description": "Non-empty array of destination social network slugs to publish or cross-post to (e.g. `['x', 'linkedin', 'bluesky', 'threads']`)."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) whose connected social accounts will publish the post."
    },
    "visibility": {
      "enum": [
        "public",
        "unlisted",
        "private",
        "connections"
      ],
      "type": "string",
      "description": "Optional visibility setting (e.g. 'public' or 'connections' on LinkedIn; 'public', 'unlisted', or 'private' on YouTube/TikTok)."
    },
    "webhookUrl": {
      "type": "string",
      "description": "Optional https URL that receives a JSON post.published / post.failed / post.partial event when an Instagram/Threads post that returned status 'processing' (media container still being processed by Meta) is finished by the background job."
    },
    "firstComment": {
      "type": "string",
      "description": "Optional first comment or reply to publish immediately under the main post."
    },
    "scheduledFor": {
      "type": "string",
      "description": "Optional ISO-8601 UTC or offset timestamp (e.g. '2026-10-27T08:30:00+01:00') specifying when a scheduled post should go live."
    },
    "mediaAssetIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional list of Nuntior media asset IDs (`med_...`) from `media_pipeline` or `/v1/media/upload` to attach as images, PDF document carousels, or videos."
    },
    "xLinkStrategy": {
      "enum": [
        "inline",
        "first_reply",
        "bio"
      ],
      "type": "string",
      "default": "first_reply",
      "description": "X (Twitter) link optimization mode: 'first_reply' moves any URL to an automated 1st reply to save $0.17/post (85% X API cost reduction) and maximize organic impressions; 'inline' leaves the URL in the main tweet; 'bio' replaces the URL with a bio pointer."
    },
    "autoAdjustMedia": {
      "type": "boolean",
      "default": true,
      "description": "When true, automatically selects the matching aspect-ratio variant (9:16 for Reels/TikTok/Shorts, 16:9 or 1:1 for X/LinkedIn) for each target platform."
    },
    "authModeOverride": {
      "enum": [
        "managed",
        "byok"
      ],
      "type": "string",
      "description": "Optional authentication override forcing delivery through 'managed' Nuntior OAuth credentials or 'byok' customer-supplied keys."
    }
  },
  "additionalProperties": false
}
posts_publish annotations
{
  "title": "Publish & Cross-Post Across 18 Social Networks",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
posts_manage — Manage Scheduled & Published Social Posts
Advertised by the server during the last successful anonymous check.
Open-world

List, inspect, update, mutate, delete, or retry scheduled, queued, and published social media posts stored in Nuntior Cloud — including live real-time YouTube video/Short title and hashtag/tag updates via YouTube Data API v3 (`PUT /youtube/v3/videos?part=snippet`) while keeping the existing description 100% intact unless `content` is explicitly changed. Also tracks 72h hook iteration metadata (`rewriteCount`, `hookHistory`, `lastViewCount`, `iterationStatus`, `lessonsLearned`).

posts_manage input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Updated hashtags/tags for the post or video."
    },
    "title": {
      "type": "string",
      "description": "Updated video/post title (e.g., for YouTube Shorts title & hook iteration while keeping the description intact)."
    },
    "action": {
      "enum": [
        "list",
        "get",
        "update",
        "mutate",
        "reschedule",
        "delete",
        "cancel",
        "retry_failed",
        "process_due"
      ],
      "type": "string",
      "description": "Post management operation: 'list' posts (optionally filtered by status), 'get' a single post by `postId` or `externalPostId` (with live YouTube view/like/comment counts and age in hours), 'update' / 'mutate' post content, YouTube title/tags, or schedule time, 'delete' a post, or 'retry_failed' to re-dispatch failed deliveries."
    },
    "lesson": {
      "type": "string",
      "description": "Optional performance lesson note saved on the post when closing an iteration loop."
    },
    "postId": {
      "type": "string",
      "description": "Unique post identifier (`post_...`). Required when `action` is 'get', 'update', 'mutate', or 'delete' unless `externalPostId` is provided."
    },
    "content": {
      "type": "string",
      "description": "Updated post text content or video description when executing `action: 'update'` or `'mutate'` (omit to keep the existing YouTube description 100% intact)."
    },
    "hookStyle": {
      "type": "string",
      "description": "Optional hook rotation label ('opinion', 'data', 'question') tracked in `hookHistory` (with `rewriteCount` incremented automatically)."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) used to scope the post query or mutation."
    },
    "scheduledFor": {
      "type": "string",
      "description": "Updated ISO-8601 publication timestamp when rescheduling a post via `action: 'update'`."
    },
    "statusFilter": {
      "type": "string",
      "description": "Optional status filter when listing posts (e.g. 'published', 'scheduled', 'queued', 'failed', 'draft')."
    },
    "externalPostId": {
      "type": "string",
      "description": "Optional native platform video/post ID (e.g. YouTube `videoId`) to inspect or update directly on the platform even if originally uploaded outside Nuntior."
    },
    "iterationStatus": {
      "enum": [
        "active",
        "thriving",
        "closed"
      ],
      "type": "string",
      "description": "Optional iteration loop status ('active', 'thriving', 'closed')."
    },
    "preserveDescription": {
      "type": "boolean",
      "default": true,
      "description": "Keep the original description untouched when updating a published video's title/tags (default `true` when `title` is provided without `content`)."
    }
  },
  "additionalProperties": false
}
posts_manage annotations
{
  "title": "Manage Scheduled & Published Social Posts",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
media_pipeline — Media Upload, Auto-Fit Video & Clip Pipeline
Advertised by the server during the last successful anonymous check.
Open-world

Execute media ingestion, zero-egress storage uploads, automatic multi-aspect-ratio video reframing (`9:16`, `16:9`, `1:1`, `4:5`), viral short clip extraction with burned-in captions, and AI visual asset generation (`media_generate`). Use this tool before `posts_publish` whenever a campaign requires uploading video/image files or converting a single landscape video into vertical Reels, TikToks, and YouTube Shorts. Returns presigned PUT upload URLs, zero-egress CDN URLs, transcoded aspect-ratio variant maps, or extracted clip URLs.

media_pipeline input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "enum": [
        "presign_upload",
        "upload_base64",
        "auto_fit_video",
        "extract_clips",
        "media_generate",
        "check_status"
      ],
      "type": "string",
      "description": "Media pipeline operation: 'presign_upload' creates a signed direct PUT upload URL (no Authorization header needed, single use, 15 min), 'upload_base64' uploads a file inline (fileName, mimeType/contentType, dataBase64; max 20 MB), 'auto_fit_video' reframes video into target aspect ratios with -14 LUFS audio normalization, 'extract_clips' cuts viral vertical highlights, 'media_generate' renders social visuals from a prompt, and 'check_status' polls transcode progress."
    },
    "prompt": {
      "type": "string",
      "description": "Creative prompt or visual template instructions when running `action: 'media_generate'` (e.g. 'Minimalist B2B architecture diagram for MCP server launch')."
    },
    "fileName": {
      "type": "string",
      "description": "Original file name with extension (e.g. 'keynote-demo.mp4' or 'launch-carousel.png') when requesting a presigned upload URL."
    },
    "mimeType": {
      "type": "string",
      "default": "video/mp4",
      "description": "MIME type of the media asset being uploaded or generated (e.g. 'video/mp4', 'image/png', 'image/jpeg', 'image/svg+xml')."
    },
    "clipCount": {
      "type": "number",
      "default": 3,
      "description": "Number of short highlight clips (1 to 10) to extract from a long-form source video when `action` is 'extract_clips'."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) that owns the media asset."
    },
    "sizeBytes": {
      "type": "number",
      "default": 10485760,
      "description": "File size in bytes used to validate upload quotas and allocate storage buffers."
    },
    "dataBase64": {
      "type": "string",
      "description": "Base64-encoded file bytes for 'upload_base64' (max 20 MB decoded)."
    },
    "contentType": {
      "type": "string",
      "description": "MIME type for 'upload_base64' (alias of mimeType), e.g. 'image/jpeg'."
    },
    "mediaAssetId": {
      "type": "string",
      "description": "Existing media asset identifier (`med_...`) to reframe, extract clips from, or inspect status."
    },
    "targetAspectRatios": {
      "type": "array",
      "items": {
        "enum": [
          "9:16",
          "16:9",
          "1:1",
          "4:5"
        ],
        "type": "string"
      },
      "default": [
        "9:16",
        "16:9"
      ],
      "description": "Target aspect ratios for automatic video/image reframing: '9:16' (Reels/TikTok/Shorts), '16:9' (X/LinkedIn/YouTube), '1:1' (Square), '4:5' (Portrait Feed)."
    }
  },
  "additionalProperties": false
}
media_pipeline annotations
{
  "title": "Media Upload, Auto-Fit Video & Clip Pipeline",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
inbox_messages — Unified Social & Messaging Inbox
Advertised by the server during the last successful anonymous check.
Open-world

Manage the unified cross-network social and messaging inbox across LinkedIn, X DMs, Instagram, Threads, Telegram, and WhatsApp. Supports listing conversation threads (`list_threads`), reading full message history in a thread (`read_thread`), dispatching outbound replies (`reply`), and marking threads as read (`mark_read`). Returns normalized conversation objects with sender handles, timestamps, direction (`inbound`/`outbound`), and delivery confirmation.

inbox_messages input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Workflow name when `action` is 'create_workflow'."
    },
    "edges": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Graph directed edges (`{ from, to, condition }`) connecting workflow nodes."
    },
    "nodes": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Graph nodes array (`trigger`, `send_message`, `wait_for_reply`, `condition`, `hubspot_upsert_contact`, `handoff`, `end`) when creating an inbox workflow."
    },
    "action": {
      "enum": [
        "list_threads",
        "read_thread",
        "reply",
        "mark_read",
        "create_workflow",
        "list_workflows",
        "get_workflow",
        "activate_workflow",
        "pause_workflow",
        "trigger_workflow",
        "delete_workflow"
      ],
      "type": "string",
      "description": "Inbox operation: 'list_threads' returns recent DM conversations, 'read_thread' fetches all messages in `threadId`, 'reply' sends a direct message response, and 'mark_read' clears unread flags."
    },
    "platform": {
      "enum": [
        "x",
        "linkedin",
        "bluesky",
        "instagram",
        "facebook",
        "threads",
        "tiktok",
        "youtube",
        "reddit",
        "pinterest",
        "mastodon",
        "telegram",
        "discord",
        "google_business",
        "ghost",
        "wordpress",
        "webflow",
        "whatsapp"
      ],
      "type": "string",
      "description": "Optional social or messaging platform filter (e.g. 'linkedin', 'x', 'instagram', 'telegram', 'whatsapp')."
    },
    "threadId": {
      "type": "string",
      "description": "Conversation thread identifier (`thr_...`). Required when `action` is 'reply' and optional target for 'read_thread' or 'mark_read'."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) whose unified inbox should be queried or replied from."
    },
    "replyBody": {
      "type": "string",
      "description": "Text body of the outbound direct message reply when `action` is 'reply'. Required for 'reply'."
    },
    "unreadOnly": {
      "type": "boolean",
      "default": false,
      "description": "When true, filters `list_threads` to return only unread inbound conversations requiring agent or human attention."
    },
    "workflowId": {
      "type": "string",
      "description": "Workflow identifier (`wf_...`) when getting, activating, pausing, triggering, or deleting an inbox automation workflow graph."
    },
    "cooldownHours": {
      "type": "number",
      "default": 24,
      "description": "Per-contact cooldown window in hours before re-triggering the workflow."
    },
    "triggerPayload": {
      "type": "object",
      "description": "Simulated or live event payload (`{ contact, message, replyText, event }`) when `action` is 'trigger_workflow'."
    }
  },
  "additionalProperties": false
}
inbox_messages annotations
{
  "title": "Unified Social & Messaging Inbox",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
comments_moderate — Moderate Comments & Viral Auto-Plug
Advertised by the server during the last successful anonymous check.
Open-world

List, reply to, hide, or delete public comments on published Instagram posts and Threads replies (live Meta Graph API), or configure an automated viral Auto-Plug reply (`auto_plug`) that triggers when a post crosses a specified like threshold. Use this tool to engage commenters, remove spam on X/LinkedIn/Instagram/YouTube, or automatically plug a newsletter or product URL underneath high-performing posts. Returns moderation execution status or the active Auto-Plug rule configuration.

comments_moderate input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "enum": [
        "list",
        "list_posts",
        "reply",
        "hide",
        "unhide",
        "delete",
        "auto_plug"
      ],
      "type": "string",
      "description": "Comment moderation action on the connected Instagram (comments) or Threads (replies) account: 'list_posts' recent posts, 'list' comments on a post, 'reply' publicly to a comment, 'hide'/'unhide', 'delete' (Instagram only), or 'auto_plug' to attach an automatic threshold-triggered reply."
    },
    "postId": {
      "type": "string",
      "description": "Target social post identifier (`post_...`) whose comments are being listed, moderated, or configured for Auto-Plug."
    },
    "platform": {
      "enum": [
        "instagram",
        "threads"
      ],
      "type": "string",
      "description": "Network whose comments to moderate (default 'instagram')."
    },
    "accountId": {
      "type": "string",
      "description": "Connected account id (`acc_...`); defaults to the first live account of `platform`."
    },
    "commentId": {
      "type": "string",
      "description": "Specific comment identifier (`cmt_...`) when replying to, hiding, or deleting an individual comment."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) that owns the social post and comments."
    },
    "replyText": {
      "type": "string",
      "description": "Public reply message text when `action` is 'reply'."
    },
    "externalPostId": {
      "type": "string",
      "description": "Platform media id (Instagram media id / Threads post id). Alternative to a Nuntior `postId`."
    },
    "autoPlugMessage": {
      "type": "string",
      "description": "Call-to-action comment text (e.g. link to docs, newsletter, or product page) automatically posted once the post reaches `autoPlugTriggerLikes`."
    },
    "autoPlugTriggerLikes": {
      "type": "number",
      "default": 25,
      "description": "Like count threshold (e.g. 25 or 50 likes) that triggers Nuntior to automatically publish `autoPlugMessage` as a follow-up comment."
    }
  },
  "additionalProperties": false
}
comments_moderate annotations
{
  "title": "Moderate Comments & Viral Auto-Plug",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
analytics_query — Cross-Network Analytics & Live Social Listening
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Query cross-network engagement analytics (`account_overview`, `post_metrics`, `audience_growth`), compute AI-recommended optimal posting windows (`best_times`), or execute live real-time social listening (`social_listen`) across Bluesky, Hacker News, Dev.to, Reddit, and X. Use `social_listen` to discover live community threads, competitor mentions, and high-intent buyer questions matching any keyword query. Returns aggregated engagement metrics, X Smart Link cost savings, optimal CET/UTC posting slots, or live upstream social signals with direct thread URLs and author handles.

analytics_query input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Search keyword, brand name, competitor handle, or buyer-intent phrase when running live `action: 'social_listen'` (e.g. 'MCP server social media API' or 'n8n AI agent workflow')."
    },
    "action": {
      "enum": [
        "account_overview",
        "post_metrics",
        "post_detail",
        "audience_growth",
        "best_times",
        "social_listen"
      ],
      "type": "string",
      "description": "Analytics or listening mode: 'account_overview' for cross-network KPIs, 'post_metrics' or 'post_detail' for individual post performance (including live YouTube viewCount, likeCount, commentCount, and publishedAt age in hours), 'audience_growth' for follower velocity, 'best_times' for highest-lift publishing windows, or 'social_listen' for live keyword/intent discovery."
    },
    "postId": {
      "type": "string",
      "description": "Optional post identifier (`post_...`) when inspecting granular metrics via `action: 'post_metrics'` or `'post_detail'`."
    },
    "platform": {
      "enum": [
        "x",
        "linkedin",
        "bluesky",
        "instagram",
        "facebook",
        "threads",
        "tiktok",
        "youtube",
        "reddit",
        "pinterest",
        "mastodon",
        "telegram",
        "discord",
        "google_business",
        "ghost",
        "wordpress",
        "webflow",
        "whatsapp"
      ],
      "type": "string",
      "description": "Optional social network filter to scope metrics or listening to a single platform."
    },
    "accountId": {
      "type": "string",
      "description": "Connected account id (`acc_...`). For Instagram/Facebook/Threads, returns live account insights plus recent posts with per-post insights."
    },
    "postLimit": {
      "type": "number",
      "default": 10,
      "description": "Max recent posts (1-25) with per-post insights for Instagram/Facebook/Threads overviews."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) to aggregate analytics for."
    },
    "periodDays": {
      "type": "number",
      "default": 30,
      "description": "Lookback window in days (e.g. 7, 30, 90) for aggregating impressions, engagements, and follower growth."
    },
    "externalPostId": {
      "type": "string",
      "description": "Optional native platform video/post ID (e.g. YouTube `videoId`) to fetch live `viewCount`, `likeCount`, `commentCount`, and `publishedAt` age in hours."
    }
  },
  "additionalProperties": false
}
analytics_query annotations
{
  "title": "Cross-Network Analytics & Live Social Listening",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
ads_campaigns — Paid Social Ad Campaigns & Post Boosting
Advertised by the server during the last successful anonymous check.
Open-world

Create, list, pause, resume, inspect metrics, or boost organic posts into paid social ad campaigns across LinkedIn Ads, X Ads, Meta (Facebook/Instagram) Ads, and TikTok Spark Ads with 0% Nuntior ad-spend commission. Use this tool when an organic post performs strongly and should be amplified to a targeted B2B or consumer audience with a controlled daily budget. Returns campaign configuration, status, targeting parameters, and real-time spend/conversion snapshots.

ads_campaigns input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Human-readable campaign name (e.g. 'Q4 AI Agent Launch — LinkedIn Sponsored Update')."
    },
    "action": {
      "enum": [
        "list",
        "create",
        "pause",
        "resume",
        "boost_post",
        "metrics"
      ],
      "type": "string",
      "description": "Paid ads operation: 'list' campaigns, 'create' a new campaign, 'boost_post' to turn an existing organic post into a paid ad, 'pause' or 'resume' delivery, or fetch 'metrics'."
    },
    "platform": {
      "enum": [
        "x",
        "linkedin",
        "bluesky",
        "instagram",
        "facebook",
        "threads",
        "tiktok",
        "youtube",
        "reddit",
        "pinterest",
        "mastodon",
        "telegram",
        "discord",
        "google_business",
        "ghost",
        "wordpress",
        "webflow",
        "whatsapp"
      ],
      "type": "string",
      "default": "linkedin",
      "description": "Target ad network platform (e.g. 'linkedin', 'x', 'facebook', 'instagram', 'tiktok')."
    },
    "objective": {
      "enum": [
        "engagement",
        "traffic",
        "leads",
        "awareness"
      ],
      "type": "string",
      "default": "leads",
      "description": "Campaign optimization objective: 'leads' (lead gen forms/signups), 'traffic' (website clicks), 'engagement' (likes/replies), or 'awareness' (reach/impressions)."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) linked to the ad account."
    },
    "targeting": {
      "type": "object",
      "description": "Structured audience targeting criteria such as countries, job titles, industries, or interest keywords (e.g. `{ \"countries\": [\"US\", \"AE\", \"ES\"], \"titles\": [\"CTO\", \"Founder\"] }`)."
    },
    "campaignId": {
      "type": "string",
      "description": "Ad campaign identifier (`camp_...`). Required when pausing, resuming, or querying a specific campaign."
    },
    "postIdToBoost": {
      "type": "string",
      "description": "Existing Nuntior organic post ID (`post_...`) to promote when `action` is 'boost_post'."
    },
    "dailyBudgetUsd": {
      "type": "number",
      "default": 25,
      "description": "Daily ad spend cap in USD (e.g. 25 for $25/day). Nuntior charges 0% markup on ad spend."
    }
  },
  "additionalProperties": false
}
ads_campaigns annotations
{
  "title": "Paid Social Ad Campaigns & Post Boosting",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
blogs_publish — Publish Canonical Blog Articles & Syndication
Advertised by the server during the last successful anonymous check.
Open-world

Publish or update long-form Markdown SEO articles directly to the hosted Nuntior Live Reader (`https://nuntior.com/p/:slug`), Ghost CMS, WordPress, Webflow, Dev.to, Medium, or Hashnode. Use this tool for canonical content-first workflows: publish the full technical article first to get a live canonical URL, then pass that URL into `posts_publish` with `xLinkStrategy: 'first_reply'` to share it across every connected social network. Returns the live `articleId`, `slug`, public `url`, `blogMirrorUrl`, and publication timestamp.

blogs_publish input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Custom URL slug (e.g. 'agent-first-social-mcp-architecture'). Auto-generated from `title` if omitted."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of topic tags or categories attached to the article for SEO discovery (e.g. `['AI Agents', 'MCP', 'Automation']`)."
    },
    "title": {
      "type": "string",
      "description": "Full headline title of the blog article (used for H1, OpenGraph tags, and automatic slug generation)."
    },
    "action": {
      "enum": [
        "list_sites",
        "publish_article",
        "update_article"
      ],
      "type": "string",
      "description": "CMS blog operation: 'list_sites' returns connected blog publications and existing articles, 'publish_article' publishes a new Markdown article, and 'update_article' edits an existing article by slug or ID."
    },
    "platform": {
      "enum": [
        "ghost",
        "wordpress",
        "webflow",
        "nuntior",
        "devto",
        "medium",
        "hashnode"
      ],
      "type": "string",
      "default": "nuntior",
      "description": "Destination blog or CMS engine: 'nuntior' (instant hosted reader at nuntior.com/p/:slug), 'ghost', 'wordpress', 'webflow', 'devto', 'medium', or 'hashnode'."
    },
    "articleId": {
      "type": "string",
      "description": "Existing article identifier (`art_...`) when updating an article via `action: 'update_article'`."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) credited as the publication author."
    },
    "canonicalUrl": {
      "type": "string",
      "description": "Optional canonical URL (`<link rel=\"canonical\">`) when cross-syndicating an existing blog post to Dev.to, Medium, or Hashnode."
    },
    "markdownBody": {
      "type": "string",
      "description": "Complete long-form article body formatted in standard Markdown (supports headings, code blocks, tables, and links)."
    },
    "publishStatus": {
      "enum": [
        "draft",
        "published"
      ],
      "type": "string",
      "default": "published",
      "description": "Publication visibility state: 'published' makes the article immediately live; 'draft' stages it for review."
    }
  },
  "additionalProperties": false
}
blogs_publish annotations
{
  "title": "Publish Canonical Blog Articles & Syndication",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
telecom_numbers — Provision Dedicated Telecom & Voice AI Numbers
Advertised by the server during the last successful anonymous check.
Open-world

Search available E.164 phone numbers, provision dedicated telecom numbers ($1.50/mo vs $59/mo legacy bundles), list active numbers, or bind a number to a SIP/WebRTC Voice AI Agent trunk. Use this tool when an AI agent needs a dedicated SMS, WhatsApp Business Cloud, or inbound/outbound voice phone number in the US, Spain, UAE, UK, or EU. Returns available or provisioned `TelecomNumber` records with capabilities (`sms`, `voice`, `whatsapp`) and SIP trunk URIs.

telecom_numbers input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "enum": [
        "search_available",
        "provision",
        "configure_sip_voice_agent",
        "list"
      ],
      "type": "string",
      "description": "Telecom number operation: 'search_available' lists purchasable E.164 numbers by country, 'provision' activates a dedicated number ($1.50/mo), 'configure_sip_voice_agent' attaches a SIP URI and voice prompt, and 'list' returns active workspace numbers."
    },
    "numberId": {
      "type": "string",
      "description": "Internal telecom number identifier (`num_...`) when configuring SIP routing via `configure_sip_voice_agent`."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) that owns the telecom number."
    },
    "countryCode": {
      "type": "string",
      "default": "ES",
      "description": "Two-letter ISO-3166 alpha-2 country code for number search or provisioning (e.g. 'ES' for Spain +34, 'US' for United States +1, 'AE' for UAE +971, 'GB' for UK +44)."
    },
    "phoneNumber": {
      "type": "string",
      "description": "Specific E.164 phone number (e.g. '+34919021101' or '+14158904321') to provision when `action` is 'provision'."
    },
    "sipTrunkUri": {
      "type": "string",
      "description": "Destination SIP or WebRTC trunk URI (e.g. 'sip:voice-agent@sip.nuntior.com') for routing live inbound/outbound AI voice calls."
    },
    "voiceAgentPrompt": {
      "type": "string",
      "description": "System instructions and persona prompt for the realtime AI Voice Agent answering or placing calls on this number."
    }
  },
  "additionalProperties": false
}
telecom_numbers annotations
{
  "title": "Provision Dedicated Telecom & Voice AI Numbers",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
telecom_messaging — Send SMS, WhatsApp Templates & AI Voice Calls
Advertised by the server during the last successful anonymous check.
Open-world

Send transactional SMS messages ($0.004/msg), dispatch pre-approved WhatsApp Business Cloud template messages (`send_whatsapp_template`), initiate outbound AI Voice calls (`place_call`), or audit the telecom usage ledger (`logs`). Use this tool for instant out-of-band customer notifications, executive alerts, appointment reminders, or autonomous voice follow-ups. Returns dispatch confirmation, `messageId`, E.164 sender/recipient numbers, and exact per-message cost in USD.

telecom_messaging input schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "body": {
      "type": "string",
      "description": "UTF-8 message body for SMS or parameter payload for WhatsApp messages."
    },
    "action": {
      "enum": [
        "send_sms",
        "send_whatsapp_template",
        "place_call",
        "logs"
      ],
      "type": "string",
      "description": "Telecom dispatch action: 'send_sms' sends an E.164 text message, 'send_whatsapp_template' sends a WhatsApp Business message, 'place_call' initiates an outbound AI voice call, and 'logs' retrieves the telecom billing ledger."
    },
    "toNumber": {
      "type": "string",
      "description": "Recipient E.164 phone number including country prefix (e.g. '+971500000000' or '+14155550199'). Required for 'send_sms', 'send_whatsapp_template', and 'place_call'."
    },
    "profileId": {
      "type": "string",
      "default": "prof_allometrik",
      "description": "Brand profile identifier (`prof_...`) associated with the sender number."
    },
    "fromNumber": {
      "type": "string",
      "default": "+34919019988",
      "description": "Sender E.164 phone number provisioned in the workspace (e.g. '+34919019988')."
    },
    "templateName": {
      "type": "string",
      "description": "Approved WhatsApp Business Cloud template identifier (e.g. 'executive_briefing_confirm' or 'order_status_update') when `action` is 'send_whatsapp_template'."
    },
    "voiceScriptOrAgentId": {
      "type": "string",
      "description": "Spoken script text or Voice AI Agent ID to execute when placing an outbound call via `action: 'place_call'`."
    }
  },
  "additionalProperties": false
}
telecom_messaging annotations
{
  "title": "Send SMS, WhatsApp Templates & AI Voice Calls",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
traffic_analytics — Real-Time Traffic & MCP Attribution Telemetry
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Query real-time web and API traffic telemetry, acquisition channel attribution (Smithery, Glama, PulseMCP, Official MCP Registry, Cursor, Claude Code, Grok Bot, n8n, Direct, X, LinkedIn, GitHub), MCP tool call volume, OAuth conversion funnel metrics, geographic distribution, and the live request stream. Use this read-only observability tool to monitor how developers and AI agents discover and invoke Nuntior in production. Returns aggregated counters, channel breakdowns, latency percentiles, and recent event logs.

traffic_analytics input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "limit": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of recent live traffic events to return in the event stream (default: 50, max: 200)."
    },
    "eventType": {
      "enum": [
        "page_view",
        "mcp_call",
        "api_call",
        "oauth_start",
        "oauth_callback",
        "signup",
        "checkout"
      ],
      "type": "string",
      "description": "Optional filter to restrict recent events to a specific telemetry event type (e.g. 'mcp_call', 'signup', 'checkout')."
    },
    "windowHours": {
      "type": "number",
      "default": 168,
      "description": "Lookback aggregation time window in hours (default: 168 hours = 7 days; use 24 for last 24 hours)."
    },
    "sourceChannel": {
      "type": "string",
      "description": "Optional filter by acquisition source channel slug (e.g. 'glama', 'smithery', 'pulsemcp', 'mcp-registry', 'n8n', 'grok-bot', 'cursor', 'direct')."
    }
  },
  "additionalProperties": false
}
traffic_analytics annotations
{
  "title": "Real-Time Traffic & MCP Attribution Telemetry",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

3 advertised

cross_post_launch — Cross-Post Product Launch Across 18 Socials

Advertised by the server during the last successful anonymous check.

Publish a canonical announcement and cross-post tailored hooks to X (with Smart Link first-reply 85% cost saver), LinkedIn, Bluesky, Instagram, and Threads.

headline
Launch headline or product announcement summary (required)
canonicalUrl
Canonical URL to include (moved to 1st reply on X via Smart Link Optimizer)
platforms
Comma-separated target platforms (default: x,linkedin,bluesky,threads)
weekly_social_digest — Weekly Cross-Network Social & Listening Digest

Advertised by the server during the last successful anonymous check.

Query live social listening across Bluesky, Hacker News, Dev.to, Reddit, and X alongside account performance metrics to compile an actionable executive growth digest.

topic
Brand name, competitor, or keyword to monitor via analytics_query(action=social_listen) (required)
periodDays
Analytics lookback window in days (default: 7)
inbox_triage_reply — Unified Social Inbox Triage & Lead Reply

Advertised by the server during the last successful anonymous check.

List unread DMs and comments across LinkedIn, X, Instagram, Telegram, and WhatsApp, prioritize high-intent buyer leads, and dispatch replies.

platform
Optional platform filter (e.g. linkedin, x, instagram, telegram, whatsapp)
tone
Preferred response tone (e.g. executive, consultative, concise)

Resources

2 advertised

Nuntior Supported Social, Blog, Ads & Telecom Platforms

Advertised by the server during the last successful anonymous check.

Complete matrix of all 18+ social networks, CMS blog engines (Nuntior Reader, Ghost, WordPress, Webflow, Dev.to, Medium, Hashnode), paid ad networks, and telecom channels.

Nuntior Supported Social, Blog, Ads & Telecom Platforms URI
nuntior://platforms/supported

MIME type: application/json

Nuntior Pricing Tiers, Quotas & X Smart Link Cost Savings

Advertised by the server during the last successful anonymous check.

Subscription plans ($0 Free Sandbox, $19 Starter, $35 Builder, $79 Scale), 0% BYOK AES-256-GCM vault markup policy, and X Smart Link 85% API cost reduction breakdown.

Nuntior Pricing Tiers, Quotas & X Smart Link Cost Savings URI
nuntior://pricing/tiers

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
827 ms
95th percentile latency
827 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 827 ms · metadata changed · 16 tool(s), 2 resource(s), 0 resource template(s), 3 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http nuntior-mcp https://mcp.nuntior.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add nuntior-mcp --url https://mcp.nuntior.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable nuntior-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "nuntior-mcp": {
      "url": "https://mcp.nuntior.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "nuntior-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.nuntior.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start nuntior-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "nuntior-mcp": {
      "type": "http",
      "url": "https://mcp.nuntior.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http nuntior-mcp https://mcp.nuntior.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "nuntior-mcp": {
      "url": "https://mcp.nuntior.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "nuntior-mcp": {
      "serverUrl": "https://mcp.nuntior.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Nuntior MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Nuntior MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing