Skip to main content
Glama

Server Details

Agent-first social media publishing, scheduling, analytics, and unified inbox API + 16-tool MCP server across 18 social platforms (X, LinkedIn, Instagram, YouTube, TikTok, Threads, Bluesky, Reddit, Telegram, Discord, Mastodon, Facebook, Pinterest).

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation4/5

Most tools target distinct domains/actions: publishing, moderation, inbox, ads, media, telecom, billing, and analytics are clearly separated. Some ambiguity remains around the account namespace (account_register, accounts_manage, account_status) and around posts_manage versus posts_publish, but descriptions usually resolve it.

Naming Consistency4/5

All names use snake_case with a predictable two-part domain_action or domain_resource pattern. Minor inconsistencies exist in pluralization (account vs accounts, post vs posts) and some names are resource-only rather than action-oriented.

Tool Count4/5

16 tools is slightly above the ideal compact range, but the server spans several real domains—social publishing, inbox, ads, telecom, analytics, billing—so most tools earn their place. The surface is broad but not bloated.

Completeness4/5

Core workflows are well covered: account setup, social account connection, profiles, posts, blogs, media, comments, inbox, ads, telecom, analytics, and billing upgrade. Minor lifecycle gaps remain, such as API key rotation/revocation, telecom number release, and explicit team/member management.

Available Tools

16 tools
account_registerRegister Agent Account & WorkspaceAInspect

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.

NameRequiredDescriptionDefault
nameNoDisplay name for the human owner or autonomous agent operator (e.g. 'Alex Rivera' or 'Growth Agent').
emailNoOwner or developer email address used to identify the Nuntior account and receive workspace claim notifications (e.g. 'founder@company.com').
agentHarnessNoIdentifier of the calling AI agent harness or MCP client (e.g. 'grok-bot', 'cursor', 'claude-code', 'n8n', 'openclaw', 'windsurf') for telemetry attribution.grok-bot
organizationNameNoOrganization, agency, or workspace name used to label the multi-tenant workspace and default brand profile.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation and open-world profile, and the description adds valuable behavior: it lists what gets created, says the API key is live, explains the claimUrl, and covers the existing-email path. It stops short of clarifying key lifecycle details such as whether the API key is shown only once or how claim URLs expire.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then usage condition, then return values and edge-case behavior. Every sentence carries useful information and none is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately explains the key return values and the existing-email behavior. A minor gap remains around what happens when optional parameters are omitted, since none of the four inputs are required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines all four parameters well. The description adds some meaning around email reuse and workspace labeling, but most parameter-level detail still comes from the schema rather than the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and a precise set of resources: provisioning a user account, multi-tenant workspace, default brand profile, and live Bearer API key. It is immediately distinguishable from sibling tools such as account_status and accounts_manage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly says to use this tool when an agent or developer needs browserless onboarding from scratch, and it explains the existing-email case. It does not explicitly name alternatives or state when not to use it, but the intended context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accounts_manageManage Social OAuth & BYOK AccountsA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
actionYesAccount 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.
platformNoTarget social, blog, or messaging platform slug (e.g. 'x', 'linkedin', 'bluesky', 'instagram', 'threads', 'youtube', 'tiktok', 'reddit'). Required for 'connect_oauth' and 'connect_byok'.
usernameNoAccount handle, username, Bluesky ATProto handle (e.g. 'brand.bsky.social'), or Mastodon instance handle associated with the social account.
accountIdNoConnected social account identifier (e.g. 'acc_x_byok_01'). Required when `action` is 'disconnect' and optional filter for 'account_health'.
profileIdNoBrand profile identifier (e.g. 'prof_allometrik') that owns or filters the social account connections.
accessTokenNoBYOK OAuth 2.0 Bearer access token, OAuth 1.0a access token, Telegram Bot token, or Discord Webhook URL encrypted at rest.
refreshTokenNoOptional OAuth 2.0 refresh token or OAuth 1.0a access token secret used for automatic token rotation and health recovery.
customClientIdNoBYOK 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).
customClientSecretNoBYOK OAuth App Client Secret, API Key Secret, or Bluesky App Password encrypted at rest with AES-256-GCM in the Nuntior Vault.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare openWorldHint=true and destructiveHint=false, and the description adds real value beyond that: AES-256-GCM encryption at rest, zero markup on BYOK, live latency diagnostics, and a specific failure mode (structured PLAN_CONNECTION_LIMIT_REACHED prompt when the connection quota is full). It stops short of saying whether disconnect is reversible or what authentication/permission level is needed for the vaulted key operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is densely front-loaded and enumerates each action with its internal action name, which is genuinely useful. But it is a single run-on sentence packed with marketing phrasing ('1-click', 'zero markup', 'vault'), and the second and third sentences repeat the returns explanation rather than adding new routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-action, 9-parameter tool with no output schema, the description covers the full action surface, the return shapes (metadata, authorizationUrl, latency diagnostics), and an error contract. What's missing is per-action required-parameter guidance in prose and any notion of OAuth flow completion or authorization failures, leaving a small gap for a fairly complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 9 parameters is already documented in the schema, including enum meanings and conditional requirements (platform required for connect_oauth/connect_byok, accountId required for disconnect). The description doesn't add syntax, format, or interaction detail beyond restating the action list, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names five specific operations (list, connect_oauth, connect_byok, health checks, disconnect) mapped to the action enum, and states the resource domain (social accounts across 18+ platforms). It distinguishes itself from siblings like account_register and account_status by focusing on OAuth/BYOK credential lifecycle rather than registration or status reporting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete when-to-use clause: '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.' That covers the main triggers well. However, it never explicitly excludes or routes against the closest siblings (account_register, account_status), which an agent may confuse with account creation or status inspection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_statusInspect Account Status & Plan QuotasA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
apiKeyNoOptional Nuntior Bearer API key (`ntr_live_...`) override when not supplied via the HTTP `Authorization` header.
workspaceIdNoOptional workspace identifier (`ws_...`) to inspect a specific tenant workspace when managing multiple workspaces.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered; the description reinforces 'read-only diagnostic' and, importantly, discloses that it returns a structured summary object with named keys, which annotations cannot convey. It omits error behavior for unauthenticated or invalid workspace IDs, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the scope of inspection before the usage directive and return shape. The long enumeration of tier/quota values is information-dense but each item is genuinely inspectable output, so it earns its place; slightly sentence-heavy but well ordered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the returned object's keys (workspace, planLimits, usage, billing, profiles, connectedAccounts), and it establishes the auth model via the API key mention. Missing only edge-case behavior such as what happens with an invalid workspaceId.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the apiKey override and workspaceId tenant-selection semantics are already documented in the schema. The prose adds no further parameter detail (no format hints, no interaction between apiKey and the Authorization header), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (inspect) and resource (authenticated workspace's account status), then enumerates exactly what is surfaced: subscription tier values, quota limits, monthly post usage, API key prefix, Stripe billing status, and brand profiles. This is clearly distinguishable from siblings like billing_upgrade or accounts_manage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to reach for it: before connecting new social accounts or launching high-volume campaigns, to verify quota availability and readiness. It does not name an alternative tool for the upgrade path (e.g., billing_upgrade), so it stops short of full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ads_campaignsPaid Social Ad Campaigns & Post BoostingA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
nameNoHuman-readable campaign name (e.g. 'Q4 AI Agent Launch — LinkedIn Sponsored Update').
actionYesPaid 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'.
platformNoTarget ad network platform (e.g. 'linkedin', 'x', 'facebook', 'instagram', 'tiktok').linkedin
objectiveNoCampaign optimization objective: 'leads' (lead gen forms/signups), 'traffic' (website clicks), 'engagement' (likes/replies), or 'awareness' (reach/impressions).leads
profileIdNoBrand profile identifier (`prof_...`) linked to the ad account.prof_allometrik
targetingNoStructured audience targeting criteria such as countries, job titles, industries, or interest keywords (e.g. `{ "countries": ["US", "AE", "ES"], "titles": ["CTO", "Founder"] }`).
campaignIdNoAd campaign identifier (`camp_...`). Required when pausing, resuming, or querying a specific campaign.
postIdToBoostNoExisting Nuntior organic post ID (`post_...`) to promote when `action` is 'boost_post'.
dailyBudgetUsdNoDaily ad spend cap in USD (e.g. 25 for $25/day). Nuntior charges 0% markup on ad spend.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses key behavioral traits beyond the schema and annotations, such as the business advantage of '0% Nuntior ad-spend commission' and the exact data returned ('real-time spend/conversion snapshots').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is dense but efficient, using every sentence to convey either a capability, a scope, a business benefit, or an output specification. It is perfectly sized for its complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's multi-platform nature and the breadth of its functions, the description is highly complete, covering the full lifecycle of an ad campaign and the context of its operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema is complete, the description reinforces the scope by listing specific supported platforms and clearly linking the 'boost_post' action to the strategic use case, helping the agent choose the correct parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides an exhaustive list of capabilities: 'Create, list, pause, resume, inspect metrics, or boost organic posts.' This clearly defines the scope of the tool beyond just 'ads_campaign' and specifies the platforms it supports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a perfect 'when-to-use' scenario: 'Use this tool when an organic post performs strongly and should be amplified.' This is highly effective for routing the agent when a post goes viral organically.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analytics_queryCross-Network Analytics & Live Social ListeningA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
queryNoSearch 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').
actionYesAnalytics or listening mode: 'account_overview' for cross-network KPIs, 'post_metrics' for individual post performance, 'audience_growth' for follower velocity, 'best_times' for highest-lift publishing windows, or 'social_listen' for live keyword/intent discovery.
postIdNoOptional post identifier (`post_...`) when inspecting granular metrics via `action: 'post_metrics'`.
platformNoOptional social network filter to scope metrics or listening to a single platform.
profileIdNoBrand profile identifier (`prof_...`) to aggregate analytics for.prof_allometrik
periodDaysNoLookback window in days (e.g. 7, 30, 90) for aggregating impressions, engagements, and follower growth.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint/idempotentHint/openWorldHint), so the bar is lower. The description adds real value by describing what comes back — aggregated engagement metrics, X Smart Link cost savings, CET/UTC posting slots, or live signals with direct thread URLs and author handles — which the annotations do not disclose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the action modes and their purpose. The trailing sentence on return values is useful but partially duplicates what the leading sentences already implied about outputs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by sketching the return shape for each action, and it names the five modes and covered networks. It omits nothing critical for calling the tool, though per-action parameter requirements (e.g., that query matters only for social_listen) are left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (including the action enum and query) is already documented in the schema and the description's restatement adds little. Baseline 3 applies; the description neither adds syntax/format detail nor introduces confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names specific verbs (query, compute, execute) and enumerates the five action modes alongside the covered networks, so an agent knows exactly what the tool does and how it differs from siblings like traffic_analytics. The distinction between analytics, best_times, and social_listen is spelled out rather than implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes one mode ('Use `social_listen` to discover live community threads, competitor mentions, and high-intent buyer questions'), which is clear when-to-use guidance for that action. It stops short of naming a sibling alternative or stating when not to use this tool versus traffic_analytics, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

billing_upgradeGenerate Stripe Plan Upgrade or Portal LinkA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
planNoTarget subscription tier: 'starter' ($19/mo, 12 connections), 'builder' ($35/mo, 35 connections), or 'scale' ($79/mo, 100 connections).starter
actionNoBilling operation: 'checkout' creates a new Stripe Checkout upgrade session URL; 'portal' generates a Stripe Customer Portal link to manage existing payment methods and invoices.checkout
apiKeyNoOptional Nuntior Bearer API key (`ntr_live_...`) override when not provided in the HTTP `Authorization` header.
dedicated_phoneNoWhen 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.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (destructiveHint=false, openWorldHint=true), so the bar is lower; the description adds value by disclosing the return payload (checkoutUrl/portalUrl, plan metadata, quotas, instructions). It could go further on the payment lifecycle — e.g., that no charge occurs until the user completes checkout — and the stated 'idempotentHint: true' sits slightly awkwardly with 'generates a live 1-click session URL' each call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and output type, then dense supporting detail. The pricing/quota enumeration is long but each figure is decision-relevant for an agent choosing a plan; nothing is clearly padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-shape burden and does so (checkoutUrl/portalUrl plus instructions). Auth is covered indirectly by the schema's apiKey note. Minor gap: it doesn't state that the returned URL must be surfaced to the end user in a browser, which matters for correct handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters and both enums, making 3 the baseline. The description reinforces the plan tiers and adds one genuinely new fact — the $0.50 per extra connection overage — but otherwise largely restates the enum documentation rather than adding usage semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Generate) and concrete resources (Stripe Checkout session URL / Customer Billing Portal link), scoped to workspace subscription upgrades. The plan tiers and add-on are spelled out, so an agent can immediately distinguish this from account_register, account_status, and the other billing-adjacent siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The upgrade context is clear ('to upgrade a Nuntior workspace subscription') and the two modes are named, with plan choices enumerated. However, it never explicitly routes the agent — the checkout-vs-portal decision only appears in the schema's `action` description, and there are no stated prerequisites (e.g., must already have an account or active subscription) or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blogs_publishPublish Canonical Blog Articles & SyndicationAInspect

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 syndicate across 18 social networks. Returns the live articleId, slug, public url, blogMirrorUrl, and publication timestamp.

NameRequiredDescriptionDefault
slugNoCustom URL slug (e.g. 'agent-first-social-mcp-architecture'). Auto-generated from `title` if omitted.
tagsNoArray of topic tags or categories attached to the article for SEO discovery (e.g. `['AI Agents', 'MCP', 'Automation']`).
titleNoFull headline title of the blog article (used for H1, OpenGraph tags, and automatic slug generation).
actionYesCMS 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.
platformNoDestination blog or CMS engine: 'nuntior' (instant hosted reader at nuntior.com/p/:slug), 'ghost', 'wordpress', 'webflow', 'devto', 'medium', or 'hashnode'.nuntior
articleIdNoExisting article identifier (`art_...`) when updating an article via `action: 'update_article'`.
profileIdNoBrand profile identifier (`prof_...`) credited as the publication author.prof_allometrik
canonicalUrlNoOptional canonical URL (`<link rel="canonical">`) when cross-syndicating an existing blog post to Dev.to, Medium, or Hashnode.
markdownBodyNoComplete long-form article body formatted in standard Markdown (supports headings, code blocks, tables, and links).
publishStatusNoPublication visibility state: 'published' makes the article immediately live; 'draft' stages it for review.published

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorld=true, non-idempotent, non-destructive writes, so the safety profile is covered. The description adds real value by disclosing the return payload (articleId, slug, url, blogMirrorUrl, timestamp) for a tool with no output schema, plus the canonical-URL mechanic. It stops short of stating auth/profile requirements or what happens to an existing article on republish.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action and destinations, then workflow, then return values — no filler. It is dense with platform names and could be trimmed, but every clause carries routing or expectation-setting information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, multi-platform write tool with no output schema, the description supplies the missing return-value and workflow context an agent needs. Minor gaps remain: per-platform prerequisites/credentials and whether 'update_article' is idempotent when a slug collides are not addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and three enums are fully self-documenting, so the schema carries parameter meaning. The description's only added semantics are the canonical/syndication role of canonicalUrl and the auto-slug fallback, both already implied or stated in the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Publish or update long-form Markdown SEO articles') and enumerates the exact destinations (Nuntior Live Reader, Ghost, WordPress, Webflow, Dev.to, Medium, Hashnode). It also explicitly distinguishes itself from the sibling posts_publish by declaring this the canonical/article tool and that one the syndication tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit workflow: publish the full technical article here first to obtain a live canonical URL, then feed that URL into posts_publish with xLinkStrategy 'first_reply'. That names the alternative, the ordering, and the parameter handoff — an agent can route without inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comments_moderateModerate Comments & Viral Auto-PlugA
Idempotent
Inspect

List, reply to, hide, or delete public comments on published social posts, 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.

NameRequiredDescriptionDefault
actionYesComment moderation action: 'list' comments on a post, 'reply' publicly to a comment, 'hide' or 'delete' spam/abusive comments, or 'auto_plug' to attach an automatic threshold-triggered reply.
postIdNoTarget social post identifier (`post_...`) whose comments are being listed, moderated, or configured for Auto-Plug.
commentIdNoSpecific comment identifier (`cmt_...`) when replying to, hiding, or deleting an individual comment.
profileIdNoBrand profile identifier (`prof_...`) that owns the social post and comments.prof_allometrik
replyTextNoPublic reply message text when `action` is 'reply'.
autoPlugMessageNoCall-to-action comment text (e.g. link to docs, newsletter, or product page) automatically posted once the post reaches `autoPlugTriggerLikes`.
autoPlugTriggerLikesNoLike count threshold (e.g. 25 or 50 likes) that triggers Nuntior to automatically publish `autoPlugMessage` as a follow-up comment.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds real behavioral context (a threshold-triggered automatic follow-up comment, supported platforms, returned status/config), but it explicitly offers a 'delete' action while annotations declare destructiveHint=false, a meaningful mismatch for an agent deciding whether the call can remove data. The tension is never resolved (soft-hide vs permanent removal), so the behavioral picture is muddied rather than clarified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action set before the usage and return-value sentences; two sentences carry the whole load with no filler. It is dense but every clause maps to a distinct capability or outcome.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return information is disclosed ('moderation execution status or the active Auto-Plug rule configuration'), which matters since there is no output schema, and all seven parameters are schema-documented. What's missing is the per-action dependency logic (which of postId/commentId/replyText are required for each action), which an agent must guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter already carries enum values, formats (`post_...`, `cmt_...`), and defaults, so the schema does the heavy lifting. The description adds no syntax or conditional guidance beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs (list, reply, hide, delete, configure) against a concrete resource (public comments on published social posts) and names the conditional Auto-Plug behavior. An agent can distinguish this from siblings such as inbox_messages or posts_manage without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear use cases ('engage commenters', 'remove spam on X/LinkedIn/Instagram/YouTube', 'plug a newsletter or product URL underneath high-performing posts'), which frames the when-to-use context well. It does not state when NOT to use it or explicitly route to alternatives (e.g. inbox_messages for DMs vs comments), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inbox_messagesUnified Social & Messaging InboxBInspect

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.

NameRequiredDescriptionDefault
actionYesInbox 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.
platformNoOptional social or messaging platform filter (e.g. 'linkedin', 'x', 'instagram', 'telegram', 'whatsapp').
threadIdNoConversation thread identifier (`thr_...`). Required when `action` is 'reply' and optional target for 'read_thread' or 'mark_read'.
profileIdNoBrand profile identifier (`prof_...`) whose unified inbox should be queried or replied from.prof_allometrik
replyBodyNoText body of the outbound direct message reply when `action` is 'reply'. Required for 'reply'.
unreadOnlyNoWhen true, filters `list_threads` to return only unread inbound conversations requiring agent or human attention.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, and the description usefully adds the return shape (normalized objects with sender handles, direction, delivery confirmation). It omits the consequences an agent most needs: that 'reply' sends a real external message through the connected network, that 'mark_read' mutates state, and any authorization or rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the scope, then operation modes, then return values — no filler. Its one flaw is that the platform roll-call names only 6 of the 18 platforms in the enum, which is noise that could mislead rather than inform.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description partially compensates by describing the returned normalized conversation objects. But for an open-world, non-idempotent multi-modal tool it still leaves out error behavior, the fact that unsupported platform values exist beyond the six listed, and any prerequisite for outbound replies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter including the action enum, threadId format (`thr_...`), profileId, and unreadOnly. The description merely restates the action list rather than adding format, defaulting, or dependency semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (unified cross-network social and messaging inbox) and enumerates the four discrete operations, so an agent knows exactly what the tool does. It does not, however, differentiate itself from plausible siblings such as telecom_messaging or comments_moderate, leaving the boundary to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action is glossed ('listing conversation threads', 'dispatching outbound replies', 'marking threads as read'), which implies when each mode applies. But there is no explicit when-to-use/when-not guidance and no routing statement versus siblings like comments_moderate for public comments or telecom_messaging for SMS/voice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

media_pipelineMedia Upload, Auto-Fit Video & Clip PipelineA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
actionYesMedia pipeline operation: 'presign_upload' creates a direct PUT upload URL, '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.
promptNoCreative prompt or visual template instructions when running `action: 'media_generate'` (e.g. 'Minimalist B2B architecture diagram for MCP server launch').
fileNameNoOriginal file name with extension (e.g. 'keynote-demo.mp4' or 'launch-carousel.png') when requesting a presigned upload URL.
mimeTypeNoMIME type of the media asset being uploaded or generated (e.g. 'video/mp4', 'image/png', 'image/jpeg', 'image/svg+xml').video/mp4
clipCountNoNumber of short highlight clips (1 to 10) to extract from a long-form source video when `action` is 'extract_clips'.
profileIdNoBrand profile identifier (`prof_...`) that owns the media asset.prof_allometrik
sizeBytesNoFile size in bytes used to validate upload quotas and allocate storage buffers.
mediaAssetIdNoExisting media asset identifier (`med_...`) to reframe, extract clips from, or inspect status.
targetAspectRatiosNoTarget aspect ratios for automatic video/image reframing: '9:16' (Reels/TikTok/Shorts), '16:9' (X/LinkedIn/YouTube), '1:1' (Square), '4:5' (Portrait Feed).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare mutability, open-world behavior, idempotency, and non-destructiveness. The description adds useful behavioral detail beyond annotations by naming the returned artifacts: presigned PUT URLs, CDN URLs, aspect-ratio variant maps, and clip URLs. It does not cover auth requirements, rate limits, or persistence side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with capabilities, then usage guidance, then return values. It is dense but appropriately sized for a multi-action pipeline with nine parameters, though the first sentence is long and packs several capabilities together.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully explains the kinds of URLs and variant maps returned. It covers the main actions and workflow, but does not mention `check_status` polling in the prose and gives no error or quota behavior details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all nine parameters and the action enum are already documented in structured fields. The description reinforces the major operations and aspect ratios but does not add syntax or format details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific set of verbs and resources: media ingestion, storage uploads, aspect-ratio video reframing, clip extraction, and AI visual generation. It also explicitly distinguishes the tool from `posts_publish` by describing the upload/transcode workflow that must happen first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear when-to-use rule: call before `posts_publish` when a campaign needs media uploads or landscape-to-vertical conversion. It names the related sibling and the workflow ordering, though it does not state explicit exclusions or when not to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

posts_manageManage Scheduled & Published Social PostsA
Idempotent
Inspect

List, inspect, update, delete, or retry scheduled, queued, and published social media posts stored in Nuntior Cloud. Use this tool to audit the content calendar, edit copy or scheduled timestamps before publication, remove cancelled posts, or automatically retry any failed platform deliveries. Returns matching ScheduledPost records with per-platform delivery status and timestamps.

NameRequiredDescriptionDefault
actionYesPost management operation: 'list' posts (optionally filtered by status), 'get' a single post by `postId`, 'update' post content or schedule time, 'delete' a post, or 'retry_failed' to re-dispatch failed deliveries.
postIdNoUnique post identifier (`post_...`). Required when `action` is 'get', 'update', or 'delete'.
contentNoUpdated post text content when executing `action: 'update'`.
profileIdNoBrand profile identifier (`prof_...`) used to scope the post query or mutation.prof_allometrik
scheduledForNoUpdated ISO-8601 publication timestamp when rescheduling a post via `action: 'update'`.
statusFilterNoOptional status filter when listing posts (e.g. 'published', 'scheduled', 'queued', 'failed', 'draft').

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, idempotent, open-world, non-destructive behavior, so the bar is lower. The description usefully adds the return shape (ScheduledPost records with per-platform delivery status and timestamps) and that retry re-dispatches failed deliveries, but says nothing about whether delete is permanent, whether updates affect already-published posts, or what retry_failed does on success. Note: destructiveHint=false sits uneasily with the advertised delete action, though that is an annotation-to-capability tension rather than a description contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: capabilities and target store first, use cases second, return shape last. No filler, nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter, action-dispatched tool with no output schema, the description covers what the tool reaches, when to use each action, and what comes back. It stops short of per-action preconditions (e.g., retry_failed only meaningful when deliveries failed, delete irreversibility), which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains action, postId, content, profileId, scheduledFor, and statusFilter with per-action conditions. The description adds no syntax, defaults, or edge-case detail beyond that, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names specific verbs (list, inspect, update, delete, retry) against a concrete resource (scheduled/queued/published social posts in Nuntior Cloud). Scope is unambiguous, though it never explicitly contrasts with the sibling posts_publish, which an agent could confuse for the update/publish boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Enumerates concrete use cases mapped to actions: auditing the content calendar, editing copy or timestamps before publication, removing cancelled posts, retrying failed deliveries. Clear context for when to reach for it, but no explicit exclusions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

posts_publishPublish & Cross-Post Across 18 Social NetworksAInspect

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).

NameRequiredDescriptionDefault
actionYesPublishing 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.
contentYesPrimary post body text, caption, or thread hook. May include hashtags, mentions, and URLs (external URLs on X are automatically handled according to `xLinkStrategy`).
platformsYesNon-empty array of destination social network slugs to publish or cross-post to (e.g. `['x', 'linkedin', 'bluesky', 'threads']`).
profileIdNoBrand profile identifier (`prof_...`) whose connected social accounts will publish the post.prof_allometrik
scheduledForNoOptional ISO-8601 UTC or offset timestamp (e.g. '2026-10-27T08:30:00+01:00') specifying when a scheduled post should go live.
mediaAssetIdsNoOptional list of Nuntior media asset IDs (`med_...`) from `media_pipeline` to attach as images, carousels, or videos.
xLinkStrategyNoX (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.first_reply
autoAdjustMediaNoWhen 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.
authModeOverrideNoOptional authentication override forcing delivery through 'managed' Nuntior OAuth credentials or 'byok' customer-supplied keys.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides rich behavioral detail beyond the standard hints, especially regarding the `xLinkStrategy`. It explains the economic and functional benefits of link optimization (85% cost reduction, avoiding reach penalties), offering critical context for decision-making.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is highly dense but logically structured, front-loading the primary function and then detailing complex, high-value features (X Link Optimization and return values) efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (18 platforms, scheduling, media, optimization, authentication). The description covers every major functional area, ensuring an agent has complete context before attempting an invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds high semantic value by clarifying the operational difference between the `action` enum modes and explaining the specific implications of using the `xLinkStrategy` parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's purpose as publishing and cross-posting across 18+ social networks, which is highly specific. It immediately distinguishes itself from other potential publishing tools by specifying its scope and modes of operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit usage guidelines by defining four distinct operational modes (`publish_now`, `schedule`, `queue`, `cross_post`) and explaining the specific conditions under which each mode should be invoked.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

profiles_manageManage Multi-Tenant Brand ProfilesA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
nameNoHuman-readable brand, executive, or client display name for the profile (e.g. 'Allometrik Official' or 'Acme Corp').
actionYesProfile 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.
timezoneNoIANA timezone identifier (e.g. 'Europe/Madrid', 'America/New_York', 'Asia/Dubai') used for queue scheduling and best-time-to-post analytics.Europe/Madrid
profileIdNoTarget profile identifier (e.g. 'prof_allometrik'). Required for 'update' and 'delete' actions; optional custom ID when creating a profile.
handleSlugNoURL-friendly canonical handle slug (e.g. 'allometrik') used to verify social handle consistency across connected platforms.
autoAdjustMediaNoWhen 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).
defaultXLinkStrategyNoDefault 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.first_reply

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond safety hints by specifying the behavioral scope of the management, such as including 'default timezone' and 'automatic media aspect-ratio fitting rules.' It also explicitly clarifies the possible return values (list or a specific record).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Although lengthy, the description is well-justified by the tool's complexity (7 parameters, multi-action support). The core function and major benefits are front-loaded into the first two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the detailed input schema and annotations, the description is highly complete. It explains complex settings (like media fitting and link strategy) and confirms the expected output behavior, leaving no critical behavioral unknowns for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial semantic value by explaining the *business impact* of specific parameters, such as the X Smart Link strategy 'saving 85% in X API link fees' and 'avoid[ing] reach penalties.' This context is far richer than the schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool clearly states its purpose as managing isolated multi-tenant brand or client profiles using the specific verbs: create, list, update, or delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides excellent context on *when* to use this tool—specifically for segmenting social accounts by brand, business unit, or agency client. While it doesn't name alternatives, the strong focus on isolation defines its necessary use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

telecom_messagingSend SMS, WhatsApp Templates & AI Voice CallsAInspect

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.

NameRequiredDescriptionDefault
bodyNoUTF-8 message body for SMS or parameter payload for WhatsApp messages.
actionYesTelecom 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.
toNumberNoRecipient E.164 phone number including country prefix (e.g. '+971500000000' or '+14155550199'). Required for 'send_sms', 'send_whatsapp_template', and 'place_call'.
profileIdNoBrand profile identifier (`prof_...`) associated with the sender number.prof_allometrik
fromNumberNoSender E.164 phone number provisioned in the workspace (e.g. '+34919019988').+34919019988
templateNameNoApproved WhatsApp Business Cloud template identifier (e.g. 'executive_briefing_confirm' or 'order_status_update') when `action` is 'send_whatsapp_template'.
voiceScriptOrAgentIdNoSpoken script text or Voice AI Agent ID to execute when placing an outbound call via `action: 'place_call'`.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-idempotent, non-destructive, open-world operation, and the description adds useful beyond-schema facts: per-message pricing ($0.004/msg), the pre-approved template constraint, and the returned confirmation fields. The significant omission is the non-idempotency risk: nothing warns that retrying a send may dispatch duplicate messages or calls, which is exactly the behavior an agent most needs disclosed for a costly outbound action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads the four actions before use cases and return values; every sentence carries information. It is tightly packed rather than padded, though the sentence is long and would scan faster if the action list and use-case list were separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by summarizing return values (dispatch confirmation, messageId, E.164 numbers, per-message cost). For a multi-action tool with 7 parameters, the gaps are behavioral rather than structural: no rate limits, no idempotency warning, and no statement of what the `logs` action returns relative to the dispatch actions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter is already documented in the schema, including required-combination notes for toNumber, templateName, and voiceScriptOrAgentId. The description reinforces the action-to-parameter mapping in prose but adds no format, constraint, or interaction detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names specific verbs and resources for each mode: transactional SMS, WhatsApp Business Cloud template dispatch, outbound AI voice calls, and telecom usage ledger audit, each tied to its action value in backticks. The purpose is unmistakable. It does not explicitly contrast itself with the sibling telecom_numbers tool, which manages numbers rather than sending, so it falls just short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Concrete use cases are given: out-of-band customer notifications, executive alerts, appointment reminders, autonomous voice follow-ups. It also states that WhatsApp messages must be pre-approved templates, which is a real prerequisite. However, it offers no when-not guidance and no explicit alternative routing (e.g., when to use telecom_numbers instead for provisioning).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

telecom_numbersProvision Dedicated Telecom & Voice AI NumbersA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
actionYesTelecom 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.
numberIdNoInternal telecom number identifier (`num_...`) when configuring SIP routing via `configure_sip_voice_agent`.
profileIdNoBrand profile identifier (`prof_...`) that owns the telecom number.prof_allometrik
countryCodeNoTwo-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).ES
phoneNumberNoSpecific E.164 phone number (e.g. '+34919021101' or '+14158904321') to provision when `action` is 'provision'.
sipTrunkUriNoDestination SIP or WebRTC trunk URI (e.g. 'sip:voice-agent@sip.nuntior.com') for routing live inbound/outbound AI voice calls.
voiceAgentPromptNoSystem instructions and persona prompt for the realtime AI Voice Agent answering or placing calls on this number.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, idempotent, open-world and non-destructive, so the safety profile is covered. The description adds value with per-number cost ($1.50/mo vs $59/mo legacy bundles) and the shape of returned capabilities, though it says nothing about what happens when a requested number is unavailable or whether provisioning can be undone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the operations and then the use case, with no filler. The parenthetical price comparison is slightly promotional but does carry decision-relevant cost information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-action, seven-parameter tool with no output schema, the description covers what each action does, the geographic scope, the cost, and the returned record fields. Gaps remain around failure modes (number already taken, unsupported country) and the fact that SIP configuration requires an existing numberId.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the enum's own description already explains each action and the country/phone-number formats. The description only echoes the same action list and country set, adding no format or constraint detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names four concrete operations (search E.164 numbers, provision, list, bind to SIP/WebRTC trunk) on a clearly identified resource, so an agent can see the scope immediately. It does not mention the sibling tool telecom_messaging, so the boundary between 'numbers' and 'messaging' is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives an explicit triggering condition: use it when an agent needs a dedicated SMS, WhatsApp Business Cloud, or voice number in the listed countries. It supplies no exclusion or alternative-tool guidance, and never says when to prefer the telecom_messaging sibling instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

traffic_analyticsReal-Time Traffic & MCP Attribution TelemetryA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
limitNoMaximum number of recent live traffic events to return in the event stream (default: 50, max: 200).
eventTypeNoOptional filter to restrict recent events to a specific telemetry event type (e.g. 'mcp_call', 'signup', 'checkout').
windowHoursNoLookback aggregation time window in hours (default: 168 hours = 7 days; use 24 for last 24 hours).
sourceChannelNoOptional filter by acquisition source channel slug (e.g. 'glama', 'smithery', 'pulsemcp', 'mcp-registry', 'n8n', 'grok-bot', 'cursor', 'direct').

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds useful context beyond annotations by framing it as live production observability and by naming the return categories: aggregated counters, channel breakdowns, latency percentiles, and recent event logs. It still does not mention rate limits, auth requirements, or exact data-freshness semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the action and metric scope, and the return-value sentence is relevant. The long parenthetical channel list is somewhat list-heavy, but it supports the sourceChannel field and does not obscure the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description names the return categories and the production-monitoring purpose, which is enough for an agent to understand what to expect. It could still clarify freshness, pagination, or output shape details, but it is largely complete for a read-only query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already documents limit, eventType, windowHours, and sourceChannel with defaults, max values, enums, and examples. The description echoes the channel list and event-stream concept but does not add syntax or filtering behavior beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Query' and enumerates the telemetry resources it covers, such as traffic, attribution, MCP tool calls, OAuth funnel, geography, and live events. It clearly separates this from account, billing, posts, and messaging siblings by domain, though it does not explicitly distinguish itself from the generic analytics_query sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this read-only observability tool to monitor how developers and AI agents discover and invoke Nuntior in production, which gives a clear usage context. It does not name exclusions or route the agent to alternatives such as analytics_query when a broader or different analytics scope is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedaccount_status1 field changed
      • changedInput schema / properties / apiKey / description
        Previous value: -"Optional Nuntior Bearer API key (`nnt_live_...`) override when not supplied via the HTTP `Authorization` header."New value: +"Optional Nuntior Bearer API key (`ntr_live_...`) override when not supplied via the HTTP `Authorization` header."
    • Changedbilling_upgrade1 field changed
      • changedInput schema / properties / apiKey / description
        Previous value: -"Optional Nuntior Bearer API key (`nnt_live_...`) override when not provided in the HTTP `Authorization` header."New value: +"Optional Nuntior Bearer API key (`ntr_live_...`) override when not provided in the HTTP `Authorization` header."
  2. 16 tool updates
    • Changedaccount_register5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / agentHarness / description
        Previous value: -"Calling AI agent harness (e.g. grok-bot, cursor, claude-code, openclaw, hermes)"New value: +"Identifier of the calling AI agent harness or MCP client (e.g. 'grok-bot', 'cursor', 'claude-code', 'n8n', 'openclaw', 'windsurf') for telemetry attribution."
      • changedInput schema / properties / email / description
        Previous value: -"User or agent owner email address"New value: +"Owner or developer email address used to identify the Nuntior account and receive workspace claim notifications (e.g. 'founder@company.com')."
      • changedInput schema / properties / name / description
        Previous value: -"User or agent display name"New value: +"Display name for the human owner or autonomous agent operator (e.g. 'Alex Rivera' or 'Growth Agent')."
      • changedInput schema / properties / organizationName / description
        Previous value: -"Company or workspace name"New value: +"Organization, agency, or workspace name used to label the multi-tenant workspace and default brand profile."
    • Changedaccount_status3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / apiKey / description
        Previous value: -"Optional nnt_live_... API key override if not passed via Authorization header"New value: +"Optional Nuntior Bearer API key (`nnt_live_...`) override when not supplied via the HTTP `Authorization` header."
      • changedInput schema / properties / workspaceId / description
        Previous value: -"Optional workspace ID filter"New value: +"Optional workspace identifier (`ws_...`) to inspect a specific tenant workspace when managing multiple workspaces."
    • Changedaccounts_manage11 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / accessToken / description
        Previous value: -"Access token, Bot token, or Webhook URL"New value: +"BYOK OAuth 2.0 Bearer access token, OAuth 1.0a access token, Telegram Bot token, or Discord Webhook URL encrypted at rest."
      • addedInput schema / properties / accountId / description
        Added value: +"Connected social account identifier (e.g. 'acc_x_byok_01'). Required when `action` is 'disconnect' and optional filter for 'account_health'."
      • addedInput schema / properties / action / description
        Added value: +"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."
      • changedInput schema / properties / customClientId / description
        Previous value: -"BYOK OAuth App Client ID / Bot ID / Handle (encrypted via AES-256-GCM)"New value: +"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)."
      • changedInput schema / properties / customClientSecret / description
        Previous value: -"BYOK OAuth App Secret / App Password (encrypted via AES-256-GCM)"New value: +"BYOK OAuth App Client Secret, API Key Secret, or Bluesky App Password encrypted at rest with AES-256-GCM in the Nuntior Vault."
      • addedInput schema / properties / platform / description
        Added value: +"Target social, blog, or messaging platform slug (e.g. 'x', 'linkedin', 'bluesky', 'instagram', 'threads', 'youtube', 'tiktok', 'reddit'). Required for 'connect_oauth' and 'connect_byok'."
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "x",
        -  "linkedin",
        -  "instagram",
        -  "facebook",
        -  "threads",
        -  "tiktok",
        -  "youtube",
        -  "bluesky",
        -  "mastodon",
        -  "farcaster",
        -  "reddit",
        -  "pinterest",
        -  "google_business",
        -  "telegram",
        -  "discord",
        -  "ghost",
        -  "wordpress",
        -  "webflow"
        -]New value: +[
        +  "x",
        +  "linkedin",
        +  "bluesky",
        +  "instagram",
        +  "facebook",
        +  "threads",
        +  "tiktok",
        +  "youtube",
        +  "reddit",
        +  "pinterest",
        +  "mastodon",
        +  "telegram",
        +  "discord",
        +  "google_business",
        +  "ghost",
        +  "wordpress",
        +  "webflow",
        +  "whatsapp"
        +]
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (e.g. 'prof_allometrik') that owns or filters the social account connections."
      • changedInput schema / properties / refreshToken / description
        Previous value: -"Refresh token or OAuth 1.0a token secret"New value: +"Optional OAuth 2.0 refresh token or OAuth 1.0a access token secret used for automatic token rotation and health recovery."
      • addedInput schema / properties / username / description
        Added value: +"Account handle, username, Bluesky ATProto handle (e.g. 'brand.bsky.social'), or Mastodon instance handle associated with the social account."
    • Changedads_campaigns15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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'."
      • addedInput schema / properties / campaignId / description
        Added value: +"Ad campaign identifier (`camp_...`). Required when pausing, resuming, or querying a specific campaign."
      • addedInput schema / properties / dailyBudgetUsd / default
        Added value: +25
      • addedInput schema / properties / dailyBudgetUsd / description
        Added value: +"Daily ad spend cap in USD (e.g. 25 for $25/day). Nuntior charges 0% markup on ad spend."
      • addedInput schema / properties / name / description
        Added value: +"Human-readable campaign name (e.g. 'Q4 AI Agent Launch — LinkedIn Sponsored Update')."
      • addedInput schema / properties / objective / default
        Added value: +"leads"
      • addedInput schema / properties / objective / description
        Added value: +"Campaign optimization objective: 'leads' (lead gen forms/signups), 'traffic' (website clicks), 'engagement' (likes/replies), or 'awareness' (reach/impressions)."
      • addedInput schema / properties / platform / default
        Added value: +"linkedin"
      • addedInput schema / properties / platform / description
        Added value: +"Target ad network platform (e.g. 'linkedin', 'x', 'facebook', 'instagram', 'tiktok')."
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "x",
        -  "linkedin",
        -  "instagram",
        -  "facebook",
        -  "threads",
        -  "tiktok",
        -  "youtube",
        -  "bluesky",
        -  "mastodon",
        -  "farcaster",
        -  "reddit",
        -  "pinterest",
        -  "google_business",
        -  "telegram",
        -  "discord",
        -  "ghost",
        -  "wordpress",
        -  "webflow"
        -]New value: +[
        +  "x",
        +  "linkedin",
        +  "bluesky",
        +  "instagram",
        +  "facebook",
        +  "threads",
        +  "tiktok",
        +  "youtube",
        +  "reddit",
        +  "pinterest",
        +  "mastodon",
        +  "telegram",
        +  "discord",
        +  "google_business",
        +  "ghost",
        +  "wordpress",
        +  "webflow",
        +  "whatsapp"
        +]
      • addedInput schema / properties / postIdToBoost / description
        Added value: +"Existing Nuntior organic post ID (`post_...`) to promote when `action` is 'boost_post'."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) linked to the ad account."
      • addedInput schema / properties / targeting / description
        Added value: +"Structured audience targeting criteria such as countries, job titles, industries, or interest keywords (e.g. `{ \"countries\": [\"US\", \"AE\", \"ES\"], \"titles\": [\"CTO\", \"Founder\"] }`)."
    • Changedanalytics_query9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"Analytics or listening mode: 'account_overview' for cross-network KPIs, 'post_metrics' for individual post performance, 'audience_growth' for follower velocity, 'best_times' for highest-lift publishing windows, or 'social_listen' for live keyword/intent discovery."
      • addedInput schema / properties / periodDays / description
        Added value: +"Lookback window in days (e.g. 7, 30, 90) for aggregating impressions, engagements, and follower growth."
      • addedInput schema / properties / platform / description
        Added value: +"Optional social network filter to scope metrics or listening to a single platform."
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "x",
        -  "linkedin",
        -  "instagram",
        -  "facebook",
        -  "threads",
        -  "tiktok",
        -  "youtube",
        -  "bluesky",
        -  "mastodon",
        -  "farcaster",
        -  "reddit",
        -  "pinterest",
        -  "google_business",
        -  "telegram",
        -  "discord",
        -  "ghost",
        -  "wordpress",
        -  "webflow"
        -]New value: +[
        +  "x",
        +  "linkedin",
        +  "bluesky",
        +  "instagram",
        +  "facebook",
        +  "threads",
        +  "tiktok",
        +  "youtube",
        +  "reddit",
        +  "pinterest",
        +  "mastodon",
        +  "telegram",
        +  "discord",
        +  "google_business",
        +  "ghost",
        +  "wordpress",
        +  "webflow",
        +  "whatsapp"
        +]
      • addedInput schema / properties / postId / description
        Added value: +"Optional post identifier (`post_...`) when inspecting granular metrics via `action: 'post_metrics'`."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) to aggregate analytics for."
      • changedInput schema / properties / query / description
        Previous value: -"Keyword or brand query for live social_listen"New value: +"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')."
    • Changedbilling_upgrade5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / action / description
        Previous value: -"Generate a new Stripe Checkout upgrade session (checkout) or Stripe Billing Portal link (portal)"New value: +"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."
      • changedInput schema / properties / apiKey / description
        Previous value: -"Optional nnt_live_... API key if not passed in Authorization header"New value: +"Optional Nuntior Bearer API key (`nnt_live_...`) override when not provided in the HTTP `Authorization` header."
      • changedInput schema / properties / dedicated_phone / description
        Previous value: -"Include dedicated E.164 phone number add-on ($1.50/mo for SMS/WhatsApp/SIP Voice AI)"New value: +"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."
      • changedInput schema / properties / plan / description
        Previous value: -"Target subscription tier: starter ($19/mo, 12 connections), builder ($35/mo, 35 connections), or scale ($79/mo, 100 connections)"New value: +"Target subscription tier: 'starter' ($19/mo, 12 connections), 'builder' ($35/mo, 35 connections), or 'scale' ($79/mo, 100 connections)."
    • Changedblogs_publish14 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / articleId / description
        Added value: +"Existing article identifier (`art_...`) when updating an article via `action: 'update_article'`."
      • addedInput schema / properties / canonicalUrl / description
        Added value: +"Optional canonical URL (`<link rel=\"canonical\">`) when cross-syndicating an existing blog post to Dev.to, Medium, or Hashnode."
      • addedInput schema / properties / markdownBody / description
        Added value: +"Complete long-form article body formatted in standard Markdown (supports headings, code blocks, tables, and links)."
      • addedInput schema / properties / platform / default
        Added value: +"nuntior"
      • addedInput schema / properties / platform / description
        Added value: +"Destination blog or CMS engine: 'nuntior' (instant hosted reader at nuntior.com/p/:slug), 'ghost', 'wordpress', 'webflow', 'devto', 'medium', or 'hashnode'."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) credited as the publication author."
      • addedInput schema / properties / publishStatus / default
        Added value: +"published"
      • addedInput schema / properties / publishStatus / description
        Added value: +"Publication visibility state: 'published' makes the article immediately live; 'draft' stages it for review."
      • addedInput schema / properties / slug / description
        Added value: +"Custom URL slug (e.g. 'agent-first-social-mcp-architecture'). Auto-generated from `title` if omitted."
      • addedInput schema / properties / tags / description
        Added value: +"Array of topic tags or categories attached to the article for SEO discovery (e.g. `['AI Agents', 'MCP', 'Automation']`)."
      • addedInput schema / properties / title / description
        Added value: +"Full headline title of the blog article (used for H1, OpenGraph tags, and automatic slug generation)."
    • Changedcomments_moderate9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"Comment moderation action: 'list' comments on a post, 'reply' publicly to a comment, 'hide' or 'delete' spam/abusive comments, or 'auto_plug' to attach an automatic threshold-triggered reply."
      • addedInput schema / properties / autoPlugMessage / description
        Added value: +"Call-to-action comment text (e.g. link to docs, newsletter, or product page) automatically posted once the post reaches `autoPlugTriggerLikes`."
      • addedInput schema / properties / autoPlugTriggerLikes / description
        Added value: +"Like count threshold (e.g. 25 or 50 likes) that triggers Nuntior to automatically publish `autoPlugMessage` as a follow-up comment."
      • addedInput schema / properties / commentId / description
        Added value: +"Specific comment identifier (`cmt_...`) when replying to, hiding, or deleting an individual comment."
      • addedInput schema / properties / postId / description
        Added value: +"Target social post identifier (`post_...`) whose comments are being listed, moderated, or configured for Auto-Plug."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) that owns the social post and comments."
      • addedInput schema / properties / replyText / description
        Added value: +"Public reply message text when `action` is 'reply'."
    • Changedinbox_messages10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / platform / description
        Added value: +"Optional social or messaging platform filter (e.g. 'linkedin', 'x', 'instagram', 'telegram', 'whatsapp')."
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "x",
        -  "linkedin",
        -  "instagram",
        -  "facebook",
        -  "threads",
        -  "tiktok",
        -  "youtube",
        -  "bluesky",
        -  "mastodon",
        -  "farcaster",
        -  "reddit",
        -  "pinterest",
        -  "google_business",
        -  "telegram",
        -  "discord",
        -  "ghost",
        -  "wordpress",
        -  "webflow"
        -]New value: +[
        +  "x",
        +  "linkedin",
        +  "bluesky",
        +  "instagram",
        +  "facebook",
        +  "threads",
        +  "tiktok",
        +  "youtube",
        +  "reddit",
        +  "pinterest",
        +  "mastodon",
        +  "telegram",
        +  "discord",
        +  "google_business",
        +  "ghost",
        +  "wordpress",
        +  "webflow",
        +  "whatsapp"
        +]
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) whose unified inbox should be queried or replied from."
      • addedInput schema / properties / replyBody / description
        Added value: +"Text body of the outbound direct message reply when `action` is 'reply'. Required for 'reply'."
      • addedInput schema / properties / threadId / description
        Added value: +"Conversation thread identifier (`thr_...`). Required when `action` is 'reply' and optional target for 'read_thread' or 'mark_read'."
      • addedInput schema / properties / unreadOnly / default
        Added value: +false
      • addedInput schema / properties / unreadOnly / description
        Added value: +"When true, filters `list_threads` to return only unread inbound conversations requiring agent or human attention."
    • Changedmedia_pipeline15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"Media pipeline operation: 'presign_upload' creates a direct PUT upload URL, '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."
      • addedInput schema / properties / clipCount / default
        Added value: +3
      • addedInput schema / properties / clipCount / description
        Added value: +"Number of short highlight clips (1 to 10) to extract from a long-form source video when `action` is 'extract_clips'."
      • addedInput schema / properties / fileName / description
        Added value: +"Original file name with extension (e.g. 'keynote-demo.mp4' or 'launch-carousel.png') when requesting a presigned upload URL."
      • addedInput schema / properties / mediaAssetId / description
        Added value: +"Existing media asset identifier (`med_...`) to reframe, extract clips from, or inspect status."
      • addedInput schema / properties / mimeType / default
        Added value: +"video/mp4"
      • addedInput schema / properties / mimeType / description
        Added value: +"MIME type of the media asset being uploaded or generated (e.g. 'video/mp4', 'image/png', 'image/jpeg', 'image/svg+xml')."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) that owns the media asset."
      • changedInput schema / properties / prompt / description
        Previous value: -"Prompt or template spec for media_generate add-on"New value: +"Creative prompt or visual template instructions when running `action: 'media_generate'` (e.g. 'Minimalist B2B architecture diagram for MCP server launch')."
      • addedInput schema / properties / sizeBytes / default
        Added value: +10485760
      • addedInput schema / properties / sizeBytes / description
        Added value: +"File size in bytes used to validate upload quotas and allocate storage buffers."
      • addedInput schema / properties / targetAspectRatios / default
        Added value: +[
        +  "9:16",
        +  "16:9"
        +]
      • addedInput schema / properties / targetAspectRatios / description
        Added value: +"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)."
    • Changedposts_manage8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"Post management operation: 'list' posts (optionally filtered by status), 'get' a single post by `postId`, 'update' post content or schedule time, 'delete' a post, or 'retry_failed' to re-dispatch failed deliveries."
      • addedInput schema / properties / content / description
        Added value: +"Updated post text content when executing `action: 'update'`."
      • addedInput schema / properties / postId / description
        Added value: +"Unique post identifier (`post_...`). Required when `action` is 'get', 'update', or 'delete'."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) used to scope the post query or mutation."
      • addedInput schema / properties / scheduledFor / description
        Added value: +"Updated ISO-8601 publication timestamp when rescheduling a post via `action: 'update'`."
      • addedInput schema / properties / statusFilter / description
        Added value: +"Optional status filter when listing posts (e.g. 'published', 'scheduled', 'queued', 'failed', 'draft')."
    • Changedposts_publish12 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / authModeOverride / description
        Added value: +"Optional authentication override forcing delivery through 'managed' Nuntior OAuth credentials or 'byok' customer-supplied keys."
      • addedInput schema / properties / autoAdjustMedia / description
        Added value: +"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."
      • changedInput schema / properties / content / description
        Previous value: -"Post text (may include URLs to optimize on X)"New value: +"Primary post body text, caption, or thread hook. May include hashtags, mentions, and URLs (external URLs on X are automatically handled according to `xLinkStrategy`)."
      • addedInput schema / properties / mediaAssetIds / description
        Added value: +"Optional list of Nuntior media asset IDs (`med_...`) from `media_pipeline` to attach as images, carousels, or videos."
      • addedInput schema / properties / platforms / description
        Added value: +"Non-empty array of destination social network slugs to publish or cross-post to (e.g. `['x', 'linkedin', 'bluesky', 'threads']`)."
      • changedInput schema / properties / platforms / items / enum
        Previous value: -[
        -  "x",
        -  "linkedin",
        -  "instagram",
        -  "facebook",
        -  "threads",
        -  "tiktok",
        -  "youtube",
        -  "bluesky",
        -  "mastodon",
        -  "farcaster",
        -  "reddit",
        -  "pinterest",
        -  "google_business",
        -  "telegram",
        -  "discord",
        -  "ghost",
        -  "wordpress",
        -  "webflow"
        -]New value: +[
        +  "x",
        +  "linkedin",
        +  "bluesky",
        +  "instagram",
        +  "facebook",
        +  "threads",
        +  "tiktok",
        +  "youtube",
        +  "reddit",
        +  "pinterest",
        +  "mastodon",
        +  "telegram",
        +  "discord",
        +  "google_business",
        +  "ghost",
        +  "wordpress",
        +  "webflow",
        +  "whatsapp"
        +]
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) whose connected social accounts will publish the post."
      • changedInput schema / properties / scheduledFor / description
        Previous value: -"ISO-8601 timestamp when scheduling"New value: +"Optional ISO-8601 UTC or offset timestamp (e.g. '2026-10-27T08:30:00+01:00') specifying when a scheduled post should go live."
      • changedInput schema / properties / xLinkStrategy / description
        Previous value: -"Moves links on X to 1st reply to save $0.17/post ($0.20 -> $0.03 or $0 BYOK) and boost reach."New value: +"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."
    • Changedprofiles_manage8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / autoAdjustMedia / description
        Added value: +"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)."
      • addedInput schema / properties / defaultXLinkStrategy / description
        Added value: +"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."
      • changedInput schema / properties / handleSlug / description
        Previous value: -"URL-friendly slug"New value: +"URL-friendly canonical handle slug (e.g. 'allometrik') used to verify social handle consistency across connected platforms."
      • changedInput schema / properties / name / description
        Previous value: -"Brand or client display name"New value: +"Human-readable brand, executive, or client display name for the profile (e.g. 'Allometrik Official' or 'Acme Corp')."
      • changedInput schema / properties / profileId / description
        Previous value: -"Profile ID (for update/delete)"New value: +"Target profile identifier (e.g. 'prof_allometrik'). Required for 'update' and 'delete' actions; optional custom ID when creating a profile."
      • addedInput schema / properties / timezone / description
        Added value: +"IANA timezone identifier (e.g. 'Europe/Madrid', 'America/New_York', 'Asia/Dubai') used for queue scheduling and best-time-to-post analytics."
    • Changedtelecom_messaging10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / body / description
        Added value: +"UTF-8 message body for SMS or parameter payload for WhatsApp messages."
      • addedInput schema / properties / fromNumber / default
        Added value: +"+34919019988"
      • addedInput schema / properties / fromNumber / description
        Added value: +"Sender E.164 phone number provisioned in the workspace (e.g. '+34919019988')."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) associated with the sender number."
      • addedInput schema / properties / templateName / description
        Added value: +"Approved WhatsApp Business Cloud template identifier (e.g. 'executive_briefing_confirm' or 'order_status_update') when `action` is 'send_whatsapp_template'."
      • addedInput schema / properties / toNumber / description
        Added value: +"Recipient E.164 phone number including country prefix (e.g. '+971500000000' or '+14155550199'). Required for 'send_sms', 'send_whatsapp_template', and 'place_call'."
      • addedInput schema / properties / voiceScriptOrAgentId / description
        Added value: +"Spoken script text or Voice AI Agent ID to execute when placing an outbound call via `action: 'place_call'`."
    • Changedtelecom_numbers9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / action / description
        Added value: +"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."
      • addedInput schema / properties / countryCode / description
        Added value: +"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)."
      • addedInput schema / properties / numberId / description
        Added value: +"Internal telecom number identifier (`num_...`) when configuring SIP routing via `configure_sip_voice_agent`."
      • addedInput schema / properties / phoneNumber / description
        Added value: +"Specific E.164 phone number (e.g. '+34919021101' or '+14158904321') to provision when `action` is 'provision'."
      • addedInput schema / properties / profileId / default
        Added value: +"prof_allometrik"
      • addedInput schema / properties / profileId / description
        Added value: +"Brand profile identifier (`prof_...`) that owns the telecom number."
      • addedInput schema / properties / sipTrunkUri / description
        Added value: +"Destination SIP or WebRTC trunk URI (e.g. 'sip:voice-agent@sip.nuntior.com') for routing live inbound/outbound AI voice calls."
      • addedInput schema / properties / voiceAgentPrompt / description
        Added value: +"System instructions and persona prompt for the realtime AI Voice Agent answering or placing calls on this number."
    • Changedtraffic_analytics6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / eventType / description
        Previous value: -"Optional filter for recent events by event_type"New value: +"Optional filter to restrict recent events to a specific telemetry event type (e.g. 'mcp_call', 'signup', 'checkout')."
      • changedInput schema / properties / limit / description
        Previous value: -"Number of recent live traffic events to return (default: 50, max: 200)"New value: +"Maximum number of recent live traffic events to return in the event stream (default: 50, max: 200)."
      • changedInput schema / properties / sourceChannel / description
        Previous value: -"Optional filter by source_channel (e.g. smithery, glama, pulsemcp, grok-bot, cursor, direct)"New value: +"Optional filter by acquisition source channel slug (e.g. 'glama', 'smithery', 'pulsemcp', 'mcp-registry', 'n8n', 'grok-bot', 'cursor', 'direct')."
      • changedInput schema / properties / windowHours / description
        Previous value: -"Time window in hours to aggregate traffic events (default: 168 = 7 days)"New value: +"Lookback aggregation time window in hours (default: 168 hours = 7 days; use 24 for last 24 hours)."
      • addedInput schema / required
        Added value: +[]
  3. 1 tool update
    • Addedtraffic_analytics
  4. 15 tool updates
    • First observedaccount_register
    • First observedaccount_status
    • First observedaccounts_manage
    • First observedads_campaigns
    • First observedanalytics_query
    • First observedbilling_upgrade
    • First observedblogs_publish
    • First observedcomments_moderate
    • First observedinbox_messages
    • First observedmedia_pipeline
    • First observedposts_manage
    • First observedposts_publish
    • First observedprofiles_manage
    • First observedtelecom_messaging
    • First observedtelecom_numbers

Publisher details

Operator
Nuntior
Operator website
https://nuntior.com
Vendor relationship
First-party
Trust center
Not available
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Social media API and MCP server for AI agents that enables publishing to X, Instagram, LinkedIn, Reddit, Bluesky, and Threads from a single endpoint.
    100 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to post, schedule, thread, delete, and analyze social media posts across platforms like X, Bluesky, LinkedIn, and Instagram through a single MCP interface.
    241 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Social media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.
    74 npm
    98
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A hosted MCP server that lets AI assistants schedule and publish social media posts across Instagram, TikTok, X, LinkedIn, YouTube, Pinterest, Facebook, Telegram, Threads, and Bluesky. It provides tools for managing accounts, posts, media, and analytics, including post previewing before publishing.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources