{"server":{"name":"io.github.Shree-git/sendit","title":"SendIt","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://sendit.infiniteappsai.com/api/mcp","type":"streamable-http"}],"version":"1.2.0","repository":{"url":"https://github.com/Shree-git/sendit-agent-integrations","source":"github"},"websiteUrl":"https://sendit.infiniteappsai.com/documentation.html","description":"Publish and schedule social posts, upload media, and review analytics through OAuth."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-30T02:03:11.555025Z","publishedAt":"2026-09-30T02:03:11.555025Z","statusChangedAt":"2026-09-30T02:03:11.555025Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://sendit.infiniteappsai.com/api/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":false},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":221,"consecutive_failures":0,"last_probe_at":"2026-10-20T01:41:31.351Z","last_ok_at":"2026-10-20T01:41:31.351Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"analyze_project","title":"Analyze Project","description":"Analyze a project for audience, positioning, differentiators, content pillars, and risks.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"approve_post","title":"Approve Post","description":"Approve a scheduled post that is pending approval. Once approved, it will be published at the scheduled time.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_approve_plan","title":"Approve Autopilot Plan","description":"Approve all pending items in an autopilot plan, or approve/reject individual items.\n\nAfter approval, use autopilot_execute_plan to schedule the approved posts.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_execute_plan","title":"Execute Autopilot Plan","description":"Schedule all approved posts in an autopilot plan.\n\nPosts are spaced out over time and scheduled via the standard publishing pipeline.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_generate_plan","title":"Generate Autopilot Plan","description":"Generate a weekly content plan for an autopilot goal.\n\nChains 5 AI agents: Strategy Planner -> Content Ideation -> Calendar Optimizer -> Multi-Format Composer -> Variant Repurposer.\nReturns a plan with individual post items for review.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_get_progress","title":"Get Autopilot Progress","description":"Get progress metrics for an autopilot goal — weeks planned, posts approved, scheduled, published.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_list_goals","title":"List Autopilot Goals","description":"List all autopilot goals for the current user.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"autopilot_set_goal","title":"Set Autopilot Goal","description":"Set a social media goal for the AI autopilot to work toward.\n\nThe autopilot will use AI agents to plan content, generate posts, and schedule them.\nExample goals: 'Grow LinkedIn followers by 20%', 'Post 5x/week on Instagram about AI'.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"bulk_schedule","title":"Bulk Schedule Posts","description":"Schedule multiple posts at once from CSV content.\n\nUSE THIS WHEN:\n• User has a spreadsheet or list of posts to schedule\n• Planning a content calendar for a month\n• Migrating content from another tool\n\nCSV FORMAT (required columns):\n• platform: linkedin, instagram, x, tiktok, threads\n• scheduled_time: ISO 8601 format (e.g., 2024-02-15T10:00:00Z)\n• text: Post content/caption\n\nOPTIONAL COLUMNS:\n• media_url: Image or video URL\n• first_comment: First comment to add (Instagram/LinkedIn)\n• hashtags: Additional hashtags to append\n\nPROCESS:\n1. First call with validate_only: true to check for errors\n2. Review validation report with user\n3. Call again with validate_only: false to execute import","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"bulk_update_calendar_events","title":"Bulk Update Calendar Events","description":"Apply one bulk action to many calendar events at once, including shifts, explicit reschedules, queue moves, cancellations, or assignments.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"cancel_recurring_series","title":"Cancel Recurring Series","description":"Cancel a recurring series and stop future pending occurrences from publishing.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"check_ai_media_status","title":"Check AI Media Status","description":"Check the status of an AI media generation job.\n\nReturns current status (pending, processing, completed, failed) and result URL when complete.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"complete_goal","title":"Complete Product Hunt Goal","description":"Mark a Product Hunt goal as complete or incomplete.\n\nREQUIREMENTS:\n• Must have Product Hunt account connected\n• Write access requires app whitelisting by Product Hunt","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_bluesky","title":"Connect Bluesky","description":"Get the credential setup schema to connect Bluesky using API key or token credentials.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_connector","title":"Connect a Connector","description":"Initiate authentication flow for a connector.\n\nFor OAuth2 connectors, returns an authorization URL.\nFor API key connectors, stores the provided key.\nFor webhook connectors, registers the webhook URL.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_devto","title":"Connect DEV.to","description":"Get the credential setup schema to connect DEV.to using API key or token credentials.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_discord","title":"Connect Discord","description":"Get the webhook setup schema to connect Discord.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_dribbble","title":"Connect Dribbble","description":"Get the OAuth URL to connect your Dribbble account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_facebook","title":"Connect Facebook","description":"Get the OAuth URL to connect your Facebook account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_gmb","title":"Connect Google My Business","description":"Get the OAuth URL to connect your Google My Business account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_hashnode","title":"Connect Hashnode","description":"Get the credential setup schema to connect Hashnode using API key or token credentials.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_instagram","title":"Connect Instagram","description":"Get the OAuth URL to connect your Instagram account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_lemmy","title":"Connect Lemmy","description":"Get the credential setup schema to connect Lemmy using API key or token credentials.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_linkedin","title":"Connect LinkedIn","description":"Get the OAuth URL to connect your LinkedIn account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_linkedin-page","title":"Connect LinkedIn Page","description":"Get the OAuth URL to connect your LinkedIn Page account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_mastodon","title":"Connect Mastodon","description":"Get the OAuth URL to connect your Mastodon account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_nostr","title":"Connect Nostr","description":"Get the custom connection setup instructions for Nostr. Note: This is an unofficial connector and may change without notice.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_pinterest","title":"Connect Pinterest","description":"Get the OAuth URL to connect your Pinterest account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_platform","title":"Connect Platform","description":"Connect a platform dynamically by platform ID. Returns OAuth URL, webhook setup details, or credential form contract depending on the platform auth method.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_producthunt","title":"Connect Product Hunt","description":"Get the OAuth URL to connect your Product Hunt account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_slack","title":"Connect Slack","description":"Get the webhook setup schema to connect Slack.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_telegram","title":"Connect Telegram","description":"Get the credential setup schema to connect Telegram using API key or token credentials.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_threads","title":"Connect Threads","description":"Get the OAuth URL to connect your Threads account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_tiktok","title":"Connect TikTok","description":"Get the OAuth URL to connect your TikTok account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_whop","title":"Connect Whop","description":"Get the credential setup schema to connect Whop using API key or token credentials. Note: This is an unofficial connector and may change without notice.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_x","title":"Connect X","description":"Get the OAuth URL to connect your X account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"connect_youtube","title":"Connect YouTube","description":"Get the OAuth URL to connect your YouTube account.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_ad_campaign","title":"Create Ad Campaign","description":"Create a new advertising campaign on a connected ad platform.\n\nSupports campaign creation across Meta Ads, Google Ads, LinkedIn Ads, TikTok Ads, Pinterest Ads, and all other connected ad platforms.\n\nThe AI Campaign Builder agent can help design optimal campaign structures.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_ad_creative","title":"Create Ad Creative","description":"Create an ad creative (image, video, carousel, or text ad).\n\nThe Creative Asset agent can help generate ad visuals and copy.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_brand_voice","title":"Create Brand Voice","description":"Create a brand voice profile to guide AI content generation.\n\nConfigurable fields:\n• tone: Overall tone (professional, casual, energetic, witty, etc.)\n• personality: Brand personality description\n• writingStyle: Writing style guidelines\n• doRules: Array of things the brand voice SHOULD do\n• dontRules: Array of things the brand voice should NEVER do\n• examplePosts: Example posts in this brand voice\n• approvedHashtags: Preferred hashtags to prioritize\n• bannedWords: Words to never use in content\n• keyPhrases: Key phrases to incorporate naturally","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_goal","title":"Create Product Hunt Goal","description":"Create a new maker goal on Product Hunt.\n\nREQUIREMENTS:\n• Must have Product Hunt account connected\n• Write access requires app whitelisting by Product Hunt\n• Goal title limited to 280 characters\n\nIf write access is not available, you'll receive an error with instructions to request whitelisting.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_library_item","title":"Create Library Item","description":"Save content to your library as a draft, template, or evergreen content for reuse. Alias for save_to_library.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_project","title":"Create Project","description":"Create a Projects workspace for a product, app, or codebase.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_scheduled_report","title":"Create Scheduled Report","description":"Create a recurring analytics report that's generated and delivered automatically.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_upload_session","title":"Create Upload Session","description":"Create a browser upload link for media files. ALWAYS use this when the user shares an image or video in chat — their file is local and cannot be passed directly to publish_content.\n\nWORKFLOW:\n1. Call this tool to get an uploadUrl\n2. Give the user the link to open in their browser and upload their file\n3. After upload, call get_upload_session to get the public media URL(s)\n4. Use the returned URL with publish_content or schedule_content\n\nSupports up to 20 files per session. Expires in 15 minutes.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"create_workflow","title":"Create Workflow","description":"Create a new automation workflow.\n\nWorkflows consist of a trigger and a sequence of steps.\n\nTrigger types:\n• manual - Run on demand\n• schedule - Cron-based schedule\n• event - Triggered by SendIt events (post published, mention detected, etc.)\n• webhook - Triggered by external webhook\n• connector_event - Triggered by connector-specific events\n\nStep types:\n• connector_action - Execute a connector operation\n• connector_operation - Alias of connector_action\n• agent_invoke - Run an AI agent\n• condition - Conditional control step (skip subsequent steps)\n• delay - Wait for a duration\n• http_request - Outbound HTTP request\n• transform - Transform data between steps\n• notify - Send notification (email, Slack, etc.)","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"critique_post","title":"Critique Post","description":"Score and critique post content with AI-powered suggestions. Returns a quality score (0-100), breakdown, and improvement tips.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"delete_library_item","title":"Delete Library Item","description":"Delete a content library item.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"delete_post","title":"Delete Published Post","description":"Delete a published post from a platform. Supports: X, Facebook, LinkedIn, Threads, YouTube, Pinterest, Bluesky, Mastodon, Telegram.\n\nProvide the post ID (database ID returned when published through SendIt), the platform post ID, or the post URL.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"delete_scheduled_post","title":"Delete Scheduled Post","description":"Cancel a scheduled post before it's published.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"delete_workflow","title":"Delete Workflow","description":"Delete a workflow permanently.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"disconnect_connector","title":"Disconnect a Connector","description":"Disconnect and revoke credentials for a connector.","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"draft_reply","title":"Draft Reply","description":"Generate an AI-powered reply draft for a social mention. Returns a draft with tone and safety flags.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"duplicate_scheduled_post","title":"Duplicate Scheduled Post","description":"Create a new scheduled post by duplicating an existing scheduled post. If no time is supplied, SendIt shifts it forward automatically.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"edit_post","title":"Edit Published Post","description":"Edit a published post on a supported platform. Updates the text/caption of an already published post.\n\nSUPPORTED: YouTube (title/description/tags), LinkedIn, Facebook, Mastodon, Telegram, Bluesky\nNOT SUPPORTED: X, Threads, Instagram, Pinterest, TikTok\n\nRequires the published post ID returned when the post was originally published through SendIt.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"edit_scheduled_post","title":"Edit Scheduled Post","description":"Edit a pending scheduled post. Supports text, media, platform, timing, approval-scope, and publish-now updates.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"escalate_to_support","title":"Escalate to Support","description":"Escalate a social conversation to a connected support platform (Zendesk, Intercom, etc.).\n\nCreates a support ticket from the conversation context.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"execute_connector_operation","title":"Execute Connector Operation","description":"Execute a specific operation on a connected connector.\n\nUse get_connector_capabilities to discover available operations.\nOperations include read/write actions specific to each connector.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"generate_ai_media","title":"Generate AI Media","description":"Generate AI images or videos using approved media providers.\n\nSupported providers:\n- heygen-mcp: HeyGen Direct API or MCP video/avatar generation\n- codex-oauth-image: Codex OAuth image generation for gpt-image-2\n\nReturns a job ID that can be polled for status.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"generate_content","title":"Generate AI Content","description":"Generate AI-powered platform-optimized content without publishing.\n\nUses AI to create platform-specific text, hashtags, and titles from a prompt or media URL.\nRespects brand voice profiles if configured.\n\nReturns generated content variants for each target platform. Use publish_content to publish the generated content, or publish_ai to generate and publish in one step.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"generate_post_bundle","title":"Generate Post Bundle","description":"Generate multi-variant AI content with quality scoring for multiple platforms. Returns the best variant plus alternatives.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"generate_project_strategy","title":"Generate Project Strategy","description":"Generate project-local brand voice, positioning, audience, and social content strategy.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_ad_performance","title":"Get Ad Performance","description":"Get performance metrics for campaigns, ad sets, or creatives.\n\nReturns impressions, clicks, spend, conversions, CTR, CPC, CPM, ROAS, and custom metrics.\nSupports date range filtering and breakdown by day.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_agent_policies","title":"Get Agent Policies","description":"Get the active policies/guardrails for an agent.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_agent_run","title":"Get Agent Run Details","description":"Get the details and output of a specific agent run.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_analytics","title":"Get Analytics","description":"Get engagement analytics for a platform. Facebook and TikTok can include account-wide posts not published through SendIt; unresolved TikTok inbox-draft deliveries may appear as placeholders until SendIt can link them.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_anomaly_alerts","title":"Get Anomaly Alerts","description":"Get recent anomaly alerts detected across metrics.\n\nIncludes sudden drops/spikes in engagement, unusual spend patterns, and content performance outliers.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_approval_comments","title":"Get Approval Comments","description":"List approval comments for one scheduled post in team approval scope.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_attribution_report","title":"Get Attribution Report","description":"Generate an attribution report showing how channels contribute to conversions.\n\nModels:\n• first_touch - All credit to first interaction\n• last_touch - All credit to last interaction\n• linear - Equal credit across all touchpoints\n• time_decay - More credit to recent touchpoints\n• position_based - 40% first, 40% last, 20% middle\n• data_driven - ML-based attribution","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_audit_log","title":"Get Audit Log","description":"Retrieve audit log entries for your account.\n\nShows a timestamped trail of all actions performed: publishes, schedules, account connections, content library changes, etc.\n\nFilter by action type, resource type, or date range.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_benchmark_comparison","title":"Get Benchmark Comparison","description":"Compare your performance against industry benchmarks.\n\nReturns how your engagement rates, growth, and content performance compare to similar accounts in your industry.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_best_times","title":"Get Best Times to Post","description":"Get the optimal posting times for a platform based on your historical engagement data.\n\nReturns top time slots ranked by engagement score. Falls back to industry defaults when insufficient personal data exists.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_calendar_gaps","title":"Get Calendar Gaps","description":"Detect open days in the publishing calendar and return gap metadata for planning.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_calendar_recommendations","title":"Get Calendar Recommendations","description":"Return top recommended recurring posting slots from historical performance data.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_connector_capabilities","title":"Get Connector Capabilities","description":"Get detailed capabilities and operations for a specific connector.\n\nReturns supported operations, auth requirements, rate limits, and constraints.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_connector_health","title":"Get Connector Health","description":"Get health status and SLO metrics for a connector.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_conversation","title":"Get Conversation","description":"Get full conversation thread with all messages.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_inbox_summary","title":"Get Inbox Summary","description":"Get a summary of the unified inbox: total conversations, unread count, sentiment breakdown, and response time metrics.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_library_item","title":"Get Library Item","description":"Get a specific content library item by ID.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_platform_requirements","title":"Get Platform Requirements","description":"Get detailed content requirements for a platform.\n\nReturns: Character limits, media specifications, rate limits, and special notes.\n\nCall this when you need specifics like exact character counts, file size limits, or supported formats. The publish_content description has a quick reference, but this tool provides complete details.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_platform_settings_schema","title":"Get Platform Settings Schema","description":"Get the JSON schema contract for content.platformSettings.<platformId>, including platform-specific publish options, validation-only gates, and supported per-platform content overrides.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_post_analytics","title":"Get Post Analytics","description":"Fetch drilldown analytics for one published post, including per-snapshot metrics and campaign context.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_producthunt_analytics","title":"Get Product Hunt Analytics","description":"Get analytics for your products on Product Hunt.\n\nReturns:\n• Total products, votes, comments, reviews\n• Number of featured products\n• Per-product metrics including vote counts and ratings\n\nWorks with read-only access (no whitelisting required).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_project_analysis","title":"Get Project Analysis","description":"Fetch stored project analysis, strategy, recent generations, and activity.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_scheduled_post","title":"Get Scheduled Post","description":"Fetch one scheduled post with approval, recurrence, retry, and published-link metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_scheduled_posts","title":"Get Scheduled Posts","description":"List scheduled posts and their current status, including pending, publishing, TikTok draft-delivered, published, failed, or cancelled posts.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_tiktok_creator_info","title":"Get TikTok Creator Info","description":"Fetch fresh TikTok Content Posting API creator info for the connected account. Use this before rendering TikTok publish settings.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_unified_ad_report","title":"Get Unified Ad Report","description":"Get a cross-platform advertising performance report.\n\nAggregates metrics across all connected ad platforms into a single view.\nUseful for comparing performance across Meta, Google, LinkedIn, TikTok, etc.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_unified_analytics","title":"Get Unified Analytics","description":"Get cross-platform analytics combining organic and paid performance.\n\nAggregates metrics across all connected platforms into a single view.\nSupports time-series breakdowns and platform comparison.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_upload_session","title":"Get Upload Session","description":"Check the status of an upload session and get the media URL(s) once uploaded.\n\nCall this after the user clicks the upload link to see if they've completed the upload.\n\nReturns:\n• status: 'pending' - User hasn't uploaded yet\n• status: 'uploaded' - Upload complete, includes mediaUrl, mediaUrls, fileCount, mediaItems\n• status: 'expired' - Session expired (15 min limit)","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"get_workflow_run","title":"Get Workflow Run Details","description":"Get detailed step-by-step execution log for a workflow run.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"import_project_source","title":"Import Project Source","description":"Import GitHub, app-store, website, file, or media source context into a project.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"invoke_agent","title":"Invoke AI Agent","description":"Invoke a specific AI agent with given inputs.\n\nThe agent will execute within policy constraints and return structured output.\nAll agent runs are logged for audit and traceability.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_ad_accounts","title":"List Ad Accounts","description":"List all connected advertising accounts across platforms.\nReturns ad accounts from Meta Ads, Google Ads, LinkedIn Ads, TikTok Ads, etc.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_ad_campaigns","title":"List Ad Campaigns","description":"List campaigns for an ad account with status and performance summary.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_agent_runs","title":"List Agent Runs","description":"List recent agent runs with status and summary.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_agents","title":"List AI Agents","description":"List all available AI agents and their capabilities.\n\nSendIt includes 12 specialized agents:\n• Strategy Planner - Content strategy from audience/trend analysis\n• Content Ideation - Topic ideas from trends and calendar gaps\n• Multi-Format Composer - Platform-optimized content from a brief\n• Creative Asset - AI image/video generation orchestration\n• Variant Repurposer - Repurpose content for different platforms\n• Calendar Optimizer - Optimal posting time suggestions\n• Listening Analyst - Social mention and sentiment analysis\n• Inbox Reply - Contextual reply drafts with brand voice\n• Campaign Builder - Ad campaign structure recommendations\n• Budget Optimizer - Spend pacing and budget reallocation\n• Experimentation - A/B test design and analysis\n• Executive Insights - Executive summary reports","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_analytics_reports","title":"List Analytics Reports","description":"List saved analytics report definitions for the current personal or team scope.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_brand_voices","title":"List Brand Voices","description":"List all brand voice profiles. Brand voices guide AI content generation with tone, personality, writing rules, and example posts.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_calendar_events","title":"List Calendar Events","description":"List scheduled and published calendar events with optional date-range, status, platform, and pagination filters.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_connected_accounts","title":"List Connected Accounts","description":"List all connected social media accounts. Pass team_id to see a team's accounts instead of your personal ones.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_connected_connectors","title":"List Connected Connectors","description":"List all currently connected connectors with their status and health.\nIncludes both legacy platform connections and new connector connections.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_connectors","title":"List Available Connectors","description":"List all available connectors in the SendIt platform.\n\nReturns connectors organized by category: organic, paid_media, automation, workspace.\nEach connector includes its ID, name, status, auth strategy, and capabilities.\n\nUse this to discover what integrations are available before connecting.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_conversations","title":"List Conversations","description":"List unified inbox conversations across all connected channels.\n\nAggregates comments, mentions, DMs, and messages from all organic and workspace connectors into a single inbox view.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_dead_letter","title":"List Dead Letter Posts","description":"List posts that failed all retry attempts and were moved to the dead letter queue. Review and decide to requeue or discard them.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_inbox","title":"List Social Inbox","description":"List comment threads on your published posts.\n\nReturns threads from your social inbox, showing comments and replies from followers on your posts across all platforms.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_library","title":"List Content Library","description":"List saved content from your library. Returns drafts, templates, and evergreen content.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_media_assets","title":"List Media Assets","description":"List media library assets with filtering by collection, type, tags, search, and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_pending_approvals","title":"List Pending Approvals","description":"List all scheduled posts that are pending approval. These posts won't be published until approved.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_projects","title":"List Projects","description":"List imported product/codebase projects for social strategy and content generation.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_recurring_series","title":"List Recurring Series","description":"List recurring scheduled-post series and their recurrence metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_teams","title":"List Teams","description":"List all teams you belong to. Returns team names, IDs, and your role. Use the returned team ID with the team_id parameter in other tools to operate in team context.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_workflow_runs","title":"List Workflow Runs","description":"List recent runs for a workflow.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"list_workflows","title":"List Workflows","description":"List all automation workflows with their status and trigger info.","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"preview_content","title":"Preview Content","description":"Generate a visual preview of how content will appear on each platform.\n\nUSE THIS WHEN:\n• Before publishing to see how posts will look\n• To validate content against platform requirements\n• To check character counts, hashtag limits, and media requirements\n\nReturns an HTML preview mockup for each platform with validation results:\n• Character count vs limit\n• Hashtag count (Instagram has 30 max)\n• Media requirement check\n• Platform-specific warnings and errors","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"publish_ai","title":"AI Generate & Publish","description":"Generate AI content and publish it in a single step.\n\nCombines generate_content + publish_content into one call.\nFirst generates platform-optimized content using AI, then publishes to the specified platforms.\n\nSame platform requirements as publish_content apply.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"publish_content","title":"Publish Content","description":"Publish content to social media platforms.\n\nMEDIA RULES:\n• mediaUrl must be a public HTTPS URL — NOT a local file path.\n• If the user shares an image/video in chat, call create_upload_session FIRST to get a browser upload link, then use the returned URL here.\n• Text-only works on: LinkedIn, Threads, X, Facebook.\n• Image required: Instagram, Pinterest.\n• TikTok supports one video or 1-35 Photo Mode images.\n• Video required: YouTube.\n\nCall validate_content to check before publishing.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"publish_from_library","title":"Publish from Library","description":"Publish content directly from your library to one or more platforms.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"reject_post","title":"Reject Post","description":"Reject a scheduled post that is pending approval. The post will not be published.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"reply_to_comment","title":"Reply to Comment","description":"Reply to a comment on one of your published posts.\n\nSupported platforms: X (reply tweets), Threads, Instagram, Facebook, YouTube.\nNot supported: LinkedIn, Pinterest, TikTok.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"reply_to_conversation","title":"Reply to Conversation","description":"Send a reply in a conversation.\n\nThe reply is sent through the original channel (e.g., Instagram comment, X reply, Facebook comment, etc.).\n\nReplies require conversation reply routing metadata (credential + operation). Provide \"routing\" once and it will be stored on the conversation for future replies.\n\nUse the Inbox Reply agent to get AI-drafted replies with brand voice.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"repurpose_url","title":"Repurpose URL Content","description":"Takes a URL (article, YouTube video, or podcast) and repurposes its content into platform-optimized posts.\n\nSupports:\n• Web articles — extracts text content\n• YouTube videos — extracts transcript/captions\n• Podcast RSS feeds — extracts episode descriptions and show notes\n\nReturns platform-specific formatted output (X threads, Instagram carousel slides, Medium articles, etc.) with a quality score (0-100) for each variant.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"request_project_content","title":"Request Project Content","description":"Generate UGC, slideshow, remix, caption, or calendar content from project intelligence.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"requeue_dead_letter","title":"Requeue Dead Letter Post","description":"Requeue a dead letter post for another publishing attempt. Creates a new scheduled post from the dead letter entry.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"retry_scheduled_post","title":"Retry Scheduled Post","description":"Retry a failed scheduled post, optionally editing the content, narrowing to failed platforms, rescheduling, or publishing immediately.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"run_analytics_report","title":"Run Analytics Report","description":"Execute one saved analytics report immediately and return the generated run plus aggregated analytics data.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"save_project_content_to_library","title":"Save Project Content To Library","description":"Generate project content and save the outputs into the reusable content library.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"save_to_library","title":"Save to Library","description":"Save content to your library as a draft, template, or evergreen content for reuse.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"schedule_content","title":"Schedule Content","description":"Schedule content for future publishing. Same media rules as publish_content apply.\n\n• mediaUrl must be a public HTTPS URL — call create_upload_session if user shares a file in chat.\n• Content is validated at schedule time, not publish time.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"schedule_content_advanced","title":"Schedule Content Advanced","description":"Schedule content with explicit target accounts, queue placement, recurrence, platform overrides, media library attachments, and score gating.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"schedule_multilang_content","title":"Schedule Multilang Content","description":"Schedule the same post in multiple languages, linking all variants into one translation group.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"score_content","title":"Score Content Quality","description":"Score content quality on a 0-100 scale before publishing.\n\nEvaluates 5 factors (20 points each):\n1. Text length optimization for target platforms\n2. Hashtag count optimization\n3. Posting time alignment with best engagement windows\n4. Media presence (images/videos)\n5. Content patterns (CTA, hooks, formatting, emoji)\n\nReturns overall score, per-factor breakdown, and improvement suggestions.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"set_default_brand_voice","title":"Set Default Brand Voice","description":"Set a brand voice profile as the default. The default brand voice is automatically used by all AI content generation tools.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"suggest_next_schedule_time","title":"Suggest Next Schedule Time","description":"Suggest the next recommended publish time using best-times insights or configured queue slots without creating a post.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"suggest_queue_slots","title":"Suggest Queue Slots","description":"Suggest reusable queue slots derived from best-time insights for one or more platforms.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"summarize_mentions","title":"Summarize Mentions","description":"Cluster and summarize recent social mentions by theme and sentiment using AI.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"trigger_scheduled_post","title":"Trigger Scheduled Post","description":"Manually trigger a scheduled post to publish immediately.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"trigger_workflow","title":"Trigger Workflow","description":"Manually trigger a workflow run.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_ad_campaign","title":"Update Ad Campaign","description":"Update campaign settings (name, budget, dates, status).","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_agent_policy","title":"Update Agent Policy","description":"Create or update a policy/guardrail for an agent.\n\nPolicy types:\n• brand_safety - Content must align with brand guidelines\n• platform_compliance - Must follow platform ad policies\n• approval_gate - Require human approval before execution\n• budget_limit - Cap spending or resource usage\n• content_filter - Filter certain topics or language","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_calendar_event","title":"Update Calendar Event","description":"Update one calendar event by rescheduling it, changing status, reassigning it, or storing metadata.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_conversation","title":"Update Conversation","description":"Update conversation status, priority, assignment, or tags.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_library_item","title":"Update Library Item","description":"Update an existing content library item.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_recurring_series","title":"Update Recurring Series","description":"Update the recurrence rule or end date for future occurrences in a recurring series.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"update_workflow","title":"Update Workflow","description":"Update a workflow's configuration or status.","annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"upload_media","title":"Upload Media","description":"FOR CLAUDE DESKTOP ONLY (with filesystem access).\nFor Claude.ai/web: Use create_upload_session instead - it provides a browser upload link.\n\nUpload local media to cloud storage, returning a public HTTPS URL.\n\nWHEN TO USE:\n• Instagram, LinkedIn, Threads, X: REQUIRED for local files before calling publish_content\n• TikTok: NOT NEEDED - pass local path directly to publish_content\n\nSUPPORTED FORMATS:\n• Images: jpg, png, gif, webp (max 10MB)\n• Videos: mp4, mov, webm (max 100MB)\n\nReturns { url: 'https://...' } for use in publish_content mediaUrl parameter.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"upvote_product","title":"Upvote Product Hunt Product","description":"Upvote a product on Product Hunt.\n\nREQUIREMENTS:\n• Must have Product Hunt account connected\n• Write access requires app whitelisting by Product Hunt\n\nProvide the Product Hunt post ID (not the slug).","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"},{"name":"validate_content","title":"Validate Content","description":"Validate content against platform requirements BEFORE publishing.\n\nUSE THIS WHEN:\n• Unsure if content will work on target platforms\n• Publishing to multiple platforms with different requirements\n• Want to catch errors before attempting publish\n\nReturns specific errors (e.g., 'TikTok requires video', 'Instagram needs media') and warnings (e.g., 'text close to character limit').","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:41:31.351Z"}],"dev.protogrid/trust":{"score":97,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":90},"drivers":["+repository","+namespace-matches-repo","+website","+reachable","+uptime-100%","+updated-20d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-20T01:39:48.550Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":82,"label":"good","components":{"auth":null,"hygiene":79,"protocol":75,"stability":100,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"148 of 148 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"92 of 148 tools declare all four hints; missing: list_connectors (idempotentHint); get_connector_capabilities (idempotentHint); connect_connector (idempotentHint); …","status":"warn","category":"hygiene"},{"id":"tools.token_cost","detail":"about 28,518 tokens to load every tool, a large share of an agent's context","status":"fail","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"no tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["-tools.token_cost","~protocol.modern","~tools.directory_hints"],"flags":[],"tool_count":148,"token_estimate":28518,"tools_hash":"6e90f5eb9eaf093c2e5f23dbfdc4f060","tools_changed_at":null,"computed_at":"2026-10-20T01:29:05.231Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.Shree-git/sendit","aliases":[],"alias_count":0,"repository_key":"github:shree-git/sendit-agent-integrations","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.Shree-git%2Fsendit/tools","arguments":{"name":"io.github.Shree-git/sendit"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.Shree-git%2Fsendit/connection?target=mcpServers","arguments":{"name":"io.github.Shree-git/sendit","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}