Skip to main content
Glama
Reeling MCP

Reeling MCP

Reeling MCP server

MCP checks GitHub release License: MIT Glama validation

Official open-source Model Context Protocol (MCP) server for Reeling, an AI social media scheduler and short-form video publishing platform.

Use Reeling from Claude Desktop, Cursor, Windsurf, OpenClaw, ChatGPT-compatible connectors, or your own MCP client. The server gives an AI agent a controlled interface for cross-platform social publishing, scheduling, analytics, audience comments, and content adaptation.

This repository is the public developer companion for Reeling. It contains the MCP adapter; runnable API examples live in reeling-examples; Reeling's private application, production infrastructure, customer data, and credentials are not part of this repository.

Links: Reeling homepage · AI Plugins & Skills Hub · 15 Channel Integrations · Developer portal · Hosted MCP install · API settings · Pricing


Platform integrations (15 supported channels)

Availability depends on the connected account, app access and current capabilities. TikTok inbox delivery requires finishing in TikTok; X (Companion mode), Reddit (Companion mode), Medium, and Quora use the Reeling Companion Chrome extension to bridge your authenticated browser session. Check the current platform matrix before publishing.

  • 🎵 TikTok

  • 📸 Instagram Reels & Stories

  • ▶️ YouTube Shorts & Video

  • 🦋 Bluesky

  • 🧵 Threads

  • 📌 Pinterest

  • 💼 LinkedIn

  • 🐦 Twitter / X (OAuth 2.0 or Free Companion Bridge)

  • 👽 Reddit (Companion Bridge or Script OAuth + Topic Radar & Spam Shield)

  • ❓ Quora (Companion Bridge + Question Radar & 75-Word Burden-of-Proof Shield)

  • ✍️ Medium (Companion Bridge + AI Cliché & Tag Shield)

  • 📘 Facebook Pages

  • 💬 Discord & Telegram

  • 🐘 Mastodon


Related MCP server: Outpost

🛠️ Available MCP Tools (16 Tools)

Tool Name

Description

reeling_list_projects

Lists all projects & workspaces in your Reeling account.

reeling_list_channels

Lists all connected channels across all 15 networks with handle names and account status.

reeling_get_channel_options

Retrieves publishing options for a connected channel, such as Pinterest boards (ID, name, privacy) or TikTok creator options.

reeling_publish_post

Publishes or schedules short-form videos, articles, or community answers across targeted platforms (includes Pre-Publish Spam Shield & 3/day, 3/week cadence guard).

reeling_get_post_status

Checks delivery, processing, and publishing status for a specific post.

reeling_discover_community_questions

Discovers high-intent daily questions on Reddit and Quora matching your topics and returns remaining daily/weekly cadence quota.

reeling_draft_community_answer

Generates a value-first, non-promotional answer for a Reddit or Quora thread and evaluates its 0–100 Pre-Publish Spam & Shadowban score.

reeling_get_analytics

Fetches aggregated analytics: total views, likes, comments, impressions, and per-platform breakdown.

reeling_sync_metrics

Triggers a live sync against YouTube, Bluesky, Instagram, Threads, and TikTok APIs.

reeling_evaluate_content_jev

Evaluates video scripts and captions using Reeling's JEV hook and retention diagnostics.

reeling_get_inbox

Retrieves audience comments across social channels into a unified inbox.

reeling_reply_to_comment

Posts a direct reply to a comment on any connected social platform.

reeling_adapt_content_ai

Uses Reeling's AI copy engine to adapt a hook/script for TikTok, Instagram, YouTube, Threads, or Bluesky.

reeling_generate_video

Requests short-form video generation through Reeling’s configured service; plan allowance and provider processing apply.

reeling_create_storyboard

Generates structured multi-scene storyboards (30s up to 5 minutes) broken into consecutive 5s cinematic cuts with audio/foley cues.

reeling_stitch_storyboard

Requests scene rendering and stitching through Reeling’s configured video workflow.


🔑 Getting Started

  1. Obtain your API Key:

    • Go to reeling.app and sign in.

    • Navigate to Settings → API Keys.

    • Generate a new key (starts with rl_...).

  2. Run the server:

    npx -y github:yomariano/reeling-mcp#v1.1.0

    Or connect to the hosted Streamable HTTP endpoint at https://mcp.reeling.app/mcp using the installation guide.


💻 Configuration Examples

1. Claude Desktop

Add this to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "reeling": {
      "command": "npx",
      "args": ["-y", "github:yomariano/reeling-mcp#v1.1.0"],
      "env": {
        "REELING_API_KEY": "rl_your_live_api_key_here",
        "REELING_API_URL": "https://api.reeling.app"
      }
    }
  }
}

Or run directly from source:

{
  "mcpServers": {
    "reeling": {
      "command": "node",
      "args": ["/absolute/path/to/reeling-mcp/bin/cli.js"],
      "env": {
        "REELING_API_KEY": "rl_your_live_api_key_here"
      }
    }
  }
}

2. Cursor IDE

Create or edit .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "reeling": {
      "command": "npx",
      "args": ["-y", "github:yomariano/reeling-mcp#v1.1.0"],
      "env": {
        "REELING_API_KEY": "rl_your_live_api_key_here"
      }
    }
  }
}

3. Antigravity (AGY)

Add to your ~/.gemini/antigravity-cli/mcp_config.json or project MCP configuration:

{
  "mcpServers": {
    "reeling": {
      "command": "node",
      "args": ["/absolute/path/to/reeling-mcp/bin/cli.js"],
      "env": {
        "REELING_API_KEY": "rl_your_live_api_key_here"
      }
    }
  }
}

4. Remote Hosted SSE Server (for Grok Bot, Claude Remote, Web Agents)

You can run reeling-mcp as a persistent Server-Sent Events (SSE) server for remote AI agents:

# Run locally or deploy to Railway / Render / VPS / Docker
npx -y github:yomariano/reeling-mcp#v1.1.0 --sse --port 3005

Endpoints exposed:

  • GET /health: Health check status.

  • GET /sse: Server-Sent Events connection stream (provide a credential through your client’s secret header configuration).

  • POST /messages?sessionId=...: JSON-RPC protocol message receiver.

Grok Bot Configuration (xAI)

Add to your Grok Bot custom MCP servers:

  • Transport: SSE

  • Endpoint: https://mcp.reeling.app/sse (or http://localhost:3005/sse)

  • Headers: X-API-Key: rl_your_live_api_key_here


🤖 Agent integrations

The hosted server exposes installable bundles and connector metadata for ChatGPT-compatible connectors, Claude, and Grok at mcp.reeling.app/install. The local package works with any MCP client that can launch an npm package or connect to the HTTP transport.

For API-level integrations, see the Reeling developer portal. Please open an issue when you build a client, example, or platform adapter that other Reeling users could reuse.


🧪 Testing Locally

You can test the MCP server manually using the MCP inspector:

npx @modelcontextprotocol/inspector node bin/cli.js

Or test SSE mode:

node bin/cli.js --sse --port 3005
curl http://localhost:3005/health

📄 License

MIT © reeling.app

Contributing

Issues and pull requests are welcome for client compatibility, documentation, examples, and safe improvements to the MCP transport. Do not commit API keys, production URLs containing secrets, customer data, or private Reeling application code. See the repository's security policy before reporting a vulnerability.

Working examples

Clone reeling-examples for account discovery, a reviewed video request, bounded delivery-status polling, analytics retrieval and an editable content calendar. Start in offline mode. Read the example guide.

Architecture

flowchart LR
  Client[Your MCP client] -->|stdio or HTTPS /mcp| Adapter[Reeling MCP adapter]
  Adapter -->|API key| API[Reeling REST API]
  API --> Queue[Publishing queue]
  Queue --> Channels[Authorized social channels]
  API -->|Per-destination state| Adapter

The adapter sends authenticated requests to the Reeling API. Account, plan and platform permissions determine what can run. Review write tools in your client; a tool result or upload receipt alone does not establish public publication.

Development and releases

npm ci
npm test
npm run check
npm pack --dry-run

See CONTRIBUTING.md, CHANGELOG.md, and GitHub releases. Installs above use a versioned GitHub tag; npm publication requires a separate authenticated npm release.

Setup guide preview

Reeling MCP setup guide with transport choices and configuration instructions

Local preview of the public developer guide. Open the current setup guide.

Available Tools

18 tools
reeling_adapt_content_aiBInspect

Use Reeling's AI content adapter to transform a single hook, script, or topic into platform-tailored copy for TikTok, Instagram Reels, YouTube Shorts, Threads, and Bluesky.

NameRequiredDescriptionDefault
toneNoOptional tone: 'engaging', 'humorous', 'educational', 'viral', 'professional'.
topicYesCore topic, transcript, or draft text to adapt.
api_keyNoOptional Reeling API key.
platformsNoTarget platforms to generate copy for.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the transformation itself: no statement about output format, determinism, latency/cost, or the fact that api_key is optional-only-when-needed. For a generative tool with zero annotation coverage this is a significant gap.

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 well-formed sentence with the action verb front-loaded and the platform list at the end. No filler, though it is thin for the amount of behavior an annotation-free tool must explain.

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?

With four parameters, no output schema, and no annotations, the description is the only source of behavioral context and it covers essentially just purpose. It is minimally adequate for calling the tool but leaves output shape, platform constraints, and auth behavior unstated.

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 topic, tone, platforms, and api_key; the description adds only a loose mapping of 'hook, script, or topic' to the topic parameter and implies which platforms are supported. Baseline 3 is appropriate when the schema carries the detail.

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?

States a specific verb (transform) and inputs (a single hook, script, or topic) and names the concrete target platforms, so the resource and scope are unambiguous. It does not differentiate itself from siblings such as reeling_evaluate_content_jev or reeling_generate_video, so it stops short of a 5.

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?

The imperative 'Use ... to transform' implies the use case, but there is no explicit when-to-use vs. alternatives, no exclusions, and no mention of when the sibling evaluate/generate tools would be preferable. Usage is implied rather than guided.

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

reeling_check_spam_scoreAInspect

PUBLIC DISCOVERY TOOL (No API key required): Evaluates a draft title and post body against Reeling's Pre-Publish Spam & AutoModerator Shield for Reddit, Quora, Medium, LinkedIn, or X. Returns a 0–100 safety_score, specific trigger explanations, auto-sanitized copy, and a shareable verification badge.

NameRequiredDescriptionDefault
titleNoOptional post title or headline (important for Reddit and Medium).
contentYesDraft post body, comment, or answer to inspect.
platformNoTarget community or social platform.reddit

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, and the description usefully discloses that no API key is required and what the tool returns: a safety_score, trigger explanations, sanitized copy, and a verification badge. However, it does not cover side effects, data retention, rate limits, or whether the original content is modified.

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 two sentences, front-loads the public/no-key access context, then states the core operation and outputs. Every sentence contributes useful information without waste.

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 simple three-parameter public evaluation tool with full schema coverage, the description covers purpose, access requirements, and return values even though no output schema exists. It lacks sibling routing and deeper behavioral details, but is otherwise complete enough to invoke correctly.

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%, so the schema already documents all three parameters. The description mentions the title, body, and platforms, but adds no format, default, or enum information beyond what the schema provides.

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 a specific verb and resource: it evaluates a draft title and post body against a spam/automod shield for listed platforms. This is clear, but it does not explicitly differentiate itself from sibling tools such as reeling_evaluate_content_jev.

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 terms 'Pre-Publish' and 'draft' clearly signal the usage context: checking content before publication. It also notes 'No API key required,' giving access context, but it does not state exclusions or name alternative tools for related evaluations.

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

reeling_create_storyboardBInspect

Generate an AI multi-scene storyboard (from 30 seconds up to 5 minutes) broken into sequential 5-second cinematic cuts with timecodes, scene titles, camera movements, and audio/foley cues.

NameRequiredDescriptionDefault
styleNoVisual style preference (e.g. 'Cinematic', 'Photoreal', 'Cyberpunk', 'Anime').
topicYesVideo topic, narrative concept, or full script to break into storyboard scenes.
cameraNoCamera motion preference (e.g. 'FPV Chase', 'Smooth Tracking', 'Macro Close-Up').
api_keyNoOptional Reeling API key.
duration_secondsNoTarget total duration in seconds (e.g. 30, 60, 120, 180, 300). Default is 30.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the shape of the generated artifact (5-second cuts, timecodes, camera movements, foley cues), but says nothing about whether the storyboard is persisted, whether an API key is required despite the optional api_key parameter, rate limits, or cost. The output-format detail is real value, but key operational traits are missing.

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?

A single dense sentence with the core action and the produced artifact front-loaded, and no filler. Every clause (duration range, cut length, output fields) earns its place.

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 effectively substitutes by enumerating what the storyboard contains (timecodes, scene titles, camera movements, audio/foley cues), so an agent knows what comes back. It is still thin on auth/persistence behavior and on distinguishing itself from sibling generation tools, which keeps it from a 5.

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%, so every parameter is already documented in the schema and the baseline is 3. The description corroborates the duration range ('from 30 seconds up to 5 minutes') matching duration_seconds, but adds no syntax or meaning beyond what the schema states.

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?

States a specific verb ('Generate') and resource ('AI multi-scene storyboard') and specifies output granularity (sequential 5-second cinematic cuts with timecodes, scene titles, camera movements, audio/foley cues). It is clearly distinct from reeling_stitch_storyboard and reeling_generate_video, but it never names or contrasts those siblings explicitly, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus reeling_generate_video or reeling_stitch_storyboard, and no prerequisites or exclusions. The only usage hint is the implicit 30-second to 5-minute duration scope, which is context but not guidance.

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

reeling_discover_community_questionsBInspect

Discover daily Reddit threads and Quora questions matching target keywords & subreddits, and check the account's safe Cadence Guard counters (max 3 answers/day & max 3 top-level posts/week).

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
keywordsNoTarget topic keywords (e.g. ['AI video', 'social media marketing']).
project_idNoOptional project ID.
subredditsNoOptional subreddit names for Reddit search (e.g. ['SaaS', 'entrepreneur']).

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses concrete rate limits (max 3 answers/day, 3 top-level posts/week) that an agent could not learn elsewhere, but it never states the operation is read-only, whether api_key is needed for full results, or anything about the shape of the returned threads/questions.

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 front-loaded sentence with no filler, and the discovery scope leads. It does somewhat conflate two functions (searching and checking quota counters) in one line, which costs a small amount of crispness.

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?

With no annotations, no output schema, and four optional parameters, the description covers the main search and the quota limits but leaves open return format, whether quotas gate the discovery call, and what happens with missing api_key or project_id. Adequate but with clear gaps for a multi-parameter read 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 the schema already documents keywords, subreddits, api_key, and project_id. The description names keywords and subreddits consistently with the schema but adds no syntax, defaults, or interactions beyond it.

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?

States a specific verb (discover) and concrete resources (daily Reddit threads and Quora questions) scoped by keywords/subreddits, which distinguishes it from siblings like reeling_draft_community_answer or reeling_reply_to_comment. The secondary mention of Cadence Guard counters slightly muddies the single-function read, but the core purpose is unmistakable.

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?

'Daily' implies a recurring discovery workflow and the subreddit/keyword scoping hints at when to use it, but there is no explicit when-not-to-use or named alternative. The natural 'discover first, then draft' relationship to reeling_draft_community_answer is left for the agent to infer.

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

reeling_draft_community_answerAInspect

Draft a value-first, non-spammy answer for a Reddit thread or Quora question, verified by Reeling's Spam Shield.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
platformYesTarget platform ('reddit' or 'quora').
subredditNoOptional subreddit name if platform is 'reddit'.
question_titleYesTitle of the Reddit thread or Quora question.
project_contextNoOptional domain expertise or background context.
question_snippetNoOptional body snippet or context of the question.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The word 'Draft' usefully signals this does not publish, and 'verified by Reeling's Spam Shield' discloses a validation step, but it says nothing about whether the draft is persisted, what permission/auth is needed (api_key is described as optional in the schema only), or any rate limits.

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?

A single sentence with the action, target resource, and quality constraint front-loaded. Nothing is wasted or buried.

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?

For a 6-parameter generation tool with no output schema and no annotations, the description is thin. It does not say whether the returned draft is saved server-side, whether it can be passed straight to reeling_publish_post, or how strictly the Spam Shield changes the output.

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%, so the baseline applies. The description only echoes the platform enum (Reddit/Quora) and adds no meaning about subreddit, project_context, question_snippet, or the optional api_key beyond what the schema already documents.

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?

Specific verb plus resource: 'Draft a ... answer for a Reddit thread or Quora question.' That is clearly different from reeling_check_spam_score or reeling_discover_community_questions, but the description never names those siblings or explicitly places this tool after discovery, so differentiation is implied rather than stated.

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?

Usage is only implied: an agent can infer this is the drafting step that follows question discovery, and the Spam Shield mention implies the output is pre-validated before publishing. There is no explicit when-to-use, when-not-to-use, or named alternative such as reeling_check_spam_score or reeling_publish_post.

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

reeling_evaluate_content_jevBInspect

Run a Type-Safe JEV (Judgment & Evaluation Vector) diagnostic on published post metrics. Evaluates 0-3s hook velocity, cognitive concept fit, visual/code density, engagement triggers, and drop-off causes with Zod schema validation, returning actionable content prescriptions for future generations.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
force_freshNoWhether to re-evaluate directly against live post metrics rather than using cached evaluation.

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose that results come from Zod-validated evaluation and that caching exists (force_fresh toggles live vs cached), plus what is returned (prescriptions). However it omits auth/permission requirements, rate limits, and whether the operation is read-only, leaving meaningful gaps.

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?

Single sentence, front-loaded with the action, which is good. But it is dense and jargon-heavy, packing the acronym expansion and five evaluation dimensions into one clause, which costs readability.

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?

No output schema exists, and the description usefully previews the return (actionable prescriptions). However, it never explains how the target post is identified — there is no post-ID parameter, only api_key and force_fresh — leaving a significant ambiguity for a tool that claims to evaluate a specific post's metrics.

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 api_key and force_fresh are already documented in the schema. The description adds no syntax or semantics beyond that. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb (run a JEV diagnostic) on a specific resource (published post metrics) and enumerates the dimensions evaluated, so an agent can distinguish it from generic siblings like get_analytics or sync_metrics. The 'JEV' acronym is jargon but is expanded inline, keeping the purpose legible.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or prerequisite guidance is given. It never clarifies whether this should follow sync_metrics or complement get_analytics, nor what state a post must be in. Usage must be inferred from 'published post metrics'.

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

reeling_generate_videoBInspect

Generate short-form video clips in seconds using fal.ai MiniMax H3 Max and Video-01 text-to-video AI models. Automatically saves the video to Cloudflare R2 storage and returns the public media URL ready for publishing to YouTube, TikTok, Instagram, etc.

NameRequiredDescriptionDefault
promptYesText description of the video to generate (e.g. 'Cinematic drone shot of a futuristic neon city at sunset, 4k ultra detailed'). Optional if image_url is provided.
api_keyNoOptional Reeling API key.
image_urlNoOptional public image URL to animate into a video using image-to-video AI models.
fal_api_keyNoOptional custom fal.ai API key (BYOK). If omitted, the server default fal.ai key is used.
aspect_ratioNoAspect ratio for the generated video. '9:16' for vertical shorts/reels/tiktok, '16:9' for horizontal youtube.9:16

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations the description carries the full burden. It does disclose useful side effects: automatic save to Cloudflare R2 and a returned public media URL, plus a speed claim ("in seconds"). It omits whether generation is synchronous or a long-running job, any cost/quota or rate-limit behavior, and auth expectations despite an optional api_key param.

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 tight sentences with no filler, and the core action is front-loaded. The trailing "ready for publishing to..." clause adds intent but is slightly promotional rather than operational.

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?

It covers purpose, the storage side effect, and the return value, which is important since there is no output schema. It stops just short of the operational details (async vs sync, latency, cost) an agent generating media would want.

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 prompt, image_url, aspect_ratio, and the two keys. The description adds no parameter-level detail (e.g., interaction between prompt and image_url, or default behavior), 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?

States a specific verb and resource ("Generate short-form video clips") and even names the underlying models (MiniMax H3 Max, Video-01). It doesn't, however, distinguish itself from the storyboard siblings (create_storyboard, stitch_storyboard), which is the nearest overlapping capability set.

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

Usage Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance and never names an alternative. The only implied context is "ready for publishing to YouTube, TikTok, Instagram," which hints at downstream intent but does not help an agent decide between this and create_storyboard/stitch_storyboard.

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

reeling_get_analyticsCInspect

Retrieve aggregated performance analytics across all connected platforms (views, likes, comments, impressions, platform breakdown, and top-performing posts).

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
end_dateNoOptional ISO end date for analytics range.
start_dateNoOptional ISO start date for analytics range.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read, but omits whether retrieval triggers a sync, whether the api_key is required for authorization, rate limits, or default behavior when dates are omitted.

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 sentence, front-loaded with the verb and resource, with no padding. The metric list earns its place because no output schema exists to describe the return fields.

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?

Enumerating return fields compensates for the absent output schema, and safety is not a concern for a read tool. However, with zero required parameters the description never explains default date behavior or auth expectations, leaving gaps an agent must guess at.

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%, with all three parameters (api_key, start_date, end_date) documented in-schema, so the baseline is 3. The description adds no extra parameter meaning such as date format requirements, defaults, or the effect of omitting a range.

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 verb (Retrieve) and resource (aggregated performance analytics) and enumerates the returned metrics, so the tool's function is unambiguous. It does not differentiate itself from siblings such as reeling_sync_metrics or reeling_get_post_status, which an agent could plausibly confuse it with.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. Nothing says whether metrics must first be refreshed via reeling_sync_metrics, or when to prefer this aggregate view over reeling_get_post_status for individual posts.

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

reeling_get_channel_optionsBInspect

Retrieve publishing options for a connected channel, such as Pinterest boards (ID, name, privacy) or TikTok creator configurations.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
channel_idYesUUID of the connected channel (from reeling_list_channels).

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. "Retrieve" implies a read-only, non-destructive operation and the examples usefully sketch the return shape (board ID, name, privacy). However, it omits auth requirements, rate limits, and whether options are paginated — real gaps for a zero-annotation tool.

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 tight sentence, front-loading the verb and resource with the examples as supporting detail. Nothing is wasted, though it is minimal enough that a little more context could fit without bloat.

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?

For a one-required-parameter read tool with no output schema, the description partially compensates by naming returned fields. But it gives no usage context or auth notes, so an agent still lacks the framing needed to know when this call belongs in a workflow.

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 the schema already explains channel_id as a UUID sourced from reeling_list_channels and marks api_key optional. The description adds 'connected channel' framing but no syntax or format 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 description pairs a specific verb ("Retrieve") with a specific resource ("publishing options for a connected channel") and disambiguates with concrete examples (Pinterest boards, TikTok creator configs). An agent can distinguish it from siblings like reeling_list_channels or reeling_publish_post. It stops short of explicitly naming a sibling it contrasts with, so it is not a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no alternatives mentioned. The agent must infer that this is a discovery call preceding publishing. The examples hint at purpose but don't route the agent between tools.

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

reeling_get_inboxBInspect

Fetch the unified social inbox containing audience comments and feedback across YouTube, Bluesky, Instagram, Threads, and TikTok.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
platformNoFilter by platform: 'all', 'youtube', 'bluesky', 'instagram', 'threads', 'tiktok'.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a read ("Fetch") and names the aggregated platforms, but says nothing about pagination, result ordering, volume, rate limits, or authentication needs despite the optional api_key parameter.

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?

A single front-loaded sentence that identifies the resource and its scope with no filler. Nothing is wasted and the key information leads.

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?

For a simple two-optional-parameter read tool with no output schema and no annotations, the description covers what the tool is but not what the response contains or how large it may be. Adequate but with clear gaps.

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 parameters are already documented, including the platform enum values. The description's platform list mirrors the schema rather than adding new semantics, so the baseline 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?

States a specific verb (Fetch) and resource (unified social inbox) and enumerates the covered platforms, so the agent knows exactly what comes back. It does not explicitly contrast itself with siblings such as reeling_reply_to_comment or reeling_get_analytics, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus alternatives like reeling_reply_to_comment or reeling_get_analytics, and no prerequisites or ordering guidance. Usage is only implied by the tool's name and purpose.

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

reeling_get_platform_matrixAInspect

PUBLIC DISCOVERY TOOL (No API key required): Returns Reeling's 15 supported social and community platforms, authentication methods (Direct OAuth 2.0 vs free Reeling Companion Chrome Extension), file/character limits, and pricing tiers.

NameRequiredDescriptionDefault
platformNoOptional platform key filter (e.g. 'reddit', 'tiktok', 'youtube', 'x', 'quora', 'medium').

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key traits: it is public, requires no API key, and returns static capability/pricing metadata rather than user data. It does not explicitly confirm read-only/no-side-effects or note caching or rate limits, but the 'Returns' framing and no-auth note cover the main concerns.

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?

One tightly packed sentence with the access qualifier and no-API-key note front-loaded, so the agent learns the most decision-relevant fact first. The enumerated payload list is dense but every element earns its place.

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 and no annotations, the description compensates by listing exactly what the response contains (platforms, auth methods, limits, pricing). Adequate for a zero-required-parameter reference tool; only the shape of the returned records is left unspecified.

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?

The single optional 'platform' filter is fully documented in the schema at 100% coverage, including example keys, so the schema does the work. The description never mentions filtering, so it adds no meaning beyond the schema — 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 a specific verb (Returns) and a precise resource (Reeling's 15 supported platforms) and enumerates the payload (auth methods, limits, pricing tiers), which no sibling tool provides. An agent can immediately tell this is the reference/metadata tool rather than an action tool like reeling_publish_post or reeling_list_channels.

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?

'PUBLIC DISCOVERY TOOL (No API key required)' implies this is a lookup to consult before acting, but the description never says when to call it versus related siblings such as reeling_get_channel_options or reeling_list_channels. Usage is inferable rather than stated, with no explicit exclusions.

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

reeling_get_post_statusBInspect

Retrieve delivery and publishing status for a post across all targeted social networks.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
post_idYesUUID of the post to check.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden; it does convey that the result is aggregated across all targeted networks (useful scope behavior) and that the operation is a read. It says nothing about auth requirements, whether status is cached/eventually consistent, or how partial failures per network are represented.

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 front-loaded sentence with no filler or redundancy. It is efficient, though it is terse enough that it spends no words on routing or return-shape context.

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?

For a two-parameter read tool with no output schema and no annotations, the description is only marginally complete: it does not describe the shape of the returned per-network statuses, which an agent would need given the absence of an output 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% — post_id and api_key are both documented in the schema — so the baseline of 3 applies. The description adds no format, syntax, or uniqueness detail beyond what the schema already states.

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?

States a specific verb (retrieve) and resource (delivery and publishing status for a post), with a clear scope qualifier ('across all targeted social networks'). It is easy to distinguish from siblings like reeling_get_analytics or reeling_sync_metrics, though the description never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

No statement of when to use this versus alternatives such as reeling_get_analytics or reeling_sync_metrics, and no prerequisites or exclusions. Usage is only implied by the word 'status'.

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

reeling_list_channelsBInspect

List all connected social media channels (YouTube, TikTok, Instagram, Bluesky, Threads, Pinterest, LinkedIn, Twitter/X, Discord, Telegram, etc.) with account details, usernames, and statuses.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
project_idNoOptional UUID of the project to filter channels for.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose the return payload (account details, usernames, statuses), which is useful, but says nothing about read-only semantics, authentication requirements, or pagination/result limits for potentially long channel lists.

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 front-loaded sentence with no wasted clauses; the platform enumeration is arguably long but does add useful scope information. Nothing extraneous.

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 simple read-only listing tool with no output schema, the description covers the essentials by naming the returned fields. Missing only pagination/ordering behavior and auth expectations, which are minor for this 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%, so both optional parameters are already documented in the schema. The description adds no detail about the project_id filter or api_key beyond what the schema states, 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?

States a specific verb ('List') and resource ('connected social media channels') and enumerates the platforms covered, so the agent knows exactly what comes back. It does not explicitly contrast itself with siblings like reeling_list_projects or reeling_get_channel_options, but the scope is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus reeling_get_channel_options, nor any mention of prerequisites or the significance of the optional api_key/project_id. Usage must be inferred from the name alone.

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

reeling_list_projectsCInspect

List all projects / workspaces available in your reeling.app account.

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key if not set in environment.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a read-only listing and notes account scoping, but says nothing about authentication requirements, pagination, rate limits, or the shape of results. For a tool with zero annotation coverage, this is a significant gap.

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, front-loaded sentence with no wasted words; the verb and resource lead immediately. The only slight redundancy is the "projects / workspaces" pairing, which is minor.

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?

For a simple listing tool with one optional parameter and no output schema, the description is minimally adequate. However, it omits any mention of pagination, result size, or ordering, which an agent would benefit from knowing when enumerating projects.

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 the single api_key parameter is fully documented in the schema (optional, environment fallback). The description adds no syntax or format 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 description states a specific verb ("List") and resource ("projects / workspaces"), which is distinguishable from siblings that operate on channels, posts, or analytics. It clearly conveys scope ("available in your reeling.app account"), though it does not explicitly name a sibling it differs from, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as reeling_list_channels. Usage is only implied by the verb "List." No exclusions or routing hints are provided.

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

reeling_publish_postCInspect

Publish or schedule short-form videos, articles, and posts across multiple social platforms simultaneously (TikTok, Instagram Reels, YouTube Shorts, Threads, Bluesky, Facebook, Twitter/X, LinkedIn, Pinterest, Medium, Quora, Reddit).

NameRequiredDescriptionDefault
modeNoSet to 'reply' when answering an existing Reddit thread or Quora question via target_url (enforces max 3 answers/day). Defaults to 'post' (max 3 top-level posts/week on Reddit & Quora).
tagsNoOptional array of up to 5 topic tags for Medium stories (e.g. ['ai', 'marketing', 'saas']).
titleNoTitle or headline for YouTube Shorts, Pinterest pins, Medium stories, Quora shares, or Reddit posts.
api_keyNoOptional Reeling API key.
contentYesPost copy, article body, caption, or description.
platformsYesList of platform keys to publish to, e.g. ['x', 'tiktok', 'instagram', 'youtube', 'bluesky', 'threads', 'medium', 'quora', 'reddit'].
subredditNoOptional subreddit name for Reddit posts (e.g. 'saas' or 'entrepreneur'). Leave empty to post directly to the connected user profile.
video_urlNoPublicly accessible URL of the video file to publish (MP4, MOV, WebM). Optional when publishing text/article posts to X, Medium, Quora, or Reddit.
project_idNoOptional project ID to associate with the post.
target_urlNoOptional Reddit thread URL or Quora question URL to reply to directly via Reeling Companion.
scheduled_atNoOptional ISO 8601 timestamp (e.g. 2026-09-10T15:00:00Z) to schedule post for future publishing.
thumbnail_urlNoOptional URL to a custom JPEG, PNG, or WebP thumbnail image.
pinterest_linkNoOptional destination link for Pinterest Pin.
auto_sanitize_spamNoAutomatically clean affiliate parameters, ALL-CAPS titles, and AI clichés for Reddit, Medium, and Quora before publishing.
pinterest_board_idNoOptional Pinterest board ID to pin to. If omitted, uses default board or auto-creates 'Reeling Videos'.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries full burden for a destructive, multi-platform write operation, yet it discloses nothing about irreversibility, per-platform auth requirements, partial-failure behavior when one platform rejects the post, or rate limits. The rate-limit information that does exist (3/day, 3/week) lives only in the mode parameter description, not here.

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 front-loaded sentence with the verb in the first word and no filler. The long parenthetical platform list is somewhat bulky but does helpfully map human platform names to the platform keys used by the params.

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

Completeness2/5

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

For a 15-parameter, 13-platform publishing mutation with no annotations and no output schema, one sentence is far too thin. Nothing tells the agent what a successful or partially successful publish returns, how to verify results, or what to do when a platform key is invalid or a required per-platform field (e.g. video_url vs content) is missing.

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 15 parameters is already documented in the schema, including the mode enum, scheduling format, and Pinterest board fallback. The description adds no parameter-level meaning 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?

States a specific verb ('publish or schedule') plus the resource (short-form videos, articles, posts) and enumerates the target platforms, so the action is unambiguous. It does not distinguish itself from siblings such as reeling_generate_video or reeling_draft_community_answer, leaving the agent to infer where drafting/generation ends and publishing begins.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. connected channels via reeling_list_channels), and no named alternatives such as reeling_check_spam_score before publishing or reeling_get_post_status after. The agent must infer the entire workflow context from the tool name alone.

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

reeling_reply_to_commentBInspect

Send a direct reply to a comment on a social network (YouTube, Bluesky, Instagram, Threads, TikTok).

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
platformYesPlatform: 'youtube', 'bluesky', 'instagram', 'threads', 'tiktok'.
comment_idYesThe identifier of the comment being replied to.
reply_textYesText of the reply to publish.
reply_contextNoPlatform-specific reply context (e.g. root URI/CID for Bluesky).

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that the reply is published immediately (a mutation), what auth or permissions the api_key implies, whether replies are reversible/deletable, or any rate limits or platform-specific failure modes.

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?

One sentence, front-loaded with the core action and resource, with the platform scope appended. No padding or redundant restatement.

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

Completeness2/5

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

This is a write/mutation tool with no annotations and no output schema, and it carries a nested, platform-specific reply_context parameter (e.g. Bluesky root URI/CID). The description says nothing about platform-specific requirements, permissions, or what a successful reply returns, so it is thin for the actual complexity.

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 five parameters; the description only repeats the platform list. It adds no meaning for comment_id, reply_text, or the nested platform-specific reply_context object.

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 a specific verb and resource (send a direct reply to a comment) and enumerates the supported platforms. It is clearly distinguishable from siblings like reeling_publish_post or reeling_get_inbox, though it does not explicitly contrast itself with them.

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?

Usage is implied by the action and platform list, but the description offers no explicit when-to-use, when-not-to-use, or alternative-tool guidance (e.g. when to reply versus publish a new post). Nothing is misleading, but nothing routes the agent either.

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

reeling_stitch_storyboardAInspect

Render each scene in a storyboard via fal.ai MiniMax H3 and stitch them into a single continuous MP4 video with FFmpeg, uploading the final result to Cloudflare R2 storage.

NameRequiredDescriptionDefault
scenesYesArray of storyboard scene objects with 'prompt' (and optional 'videoUrl').
api_keyNoOptional Reeling API key.
fal_api_keyNoOptional custom fal.ai API key (BYOK).
aspect_ratioNo9:16

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose meaningful traits: external dependencies (fal.ai MiniMax H3, FFmpeg) and a persistent side effect (upload to Cloudflare R2, i.e., external storage mutation). However it omits cost/credit consumption for scene rendering, expected latency for a multi-scene render, partial-failure behavior, and what happens to scenes that already carry a videoUrl.

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?

A single sentence, front-loaded on the core action ('Render each scene...'), with zero filler and every clause contributing a distinct stage of the pipeline. Nothing redundant or padded.

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, so the description should ideally indicate the return value; it only implies the final artifact's storage destination (R2) without saying what is handed back (e.g., a URL). Combined with the absence of annotations and no mention of cost or handling of partial renders, it is adequate but leaves real gaps for a multi-step, paid, mutating pipeline.

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 75%, so the baseline of 3 applies. The description adds no parameter-level meaning: it does not explain the api_key vs fal_api_key (BYOK) split, how aspect_ratio affects output, or whether a scene's pre-supplied videoUrl means it is reused rather than re-rendered — a semantically important ambiguity left unresolved.

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 a concrete multi-stage verb pipeline: render each scene via fal.ai MiniMax H3, stitch into one continuous MP4 with FFmpeg, upload to Cloudflare R2. That is far more specific than a tautology and inherently separable from reeling_generate_video or reeling_create_storyboard, but it never names or routes against those siblings explicitly, so differentiation is left 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?

Usage is only implied: the required 'scenes' array signals this runs on an existing storyboard, so the ordering after reeling_create_storyboard is inferable. There is no explicit when-to-use statement, no exclusions, and no guidance on choosing this over reeling_generate_video.

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

reeling_sync_metricsBInspect

Trigger an on-demand real-time metric sync against live APIs (YouTube, Bluesky, Instagram, Threads, TikTok).

NameRequiredDescriptionDefault
api_keyNoOptional Reeling API key.
post_idNoOptional post UUID to sync metrics for a specific post.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It discloses that the sync hits live external APIs, hinting at network behavior, but says nothing about the required API key, rate limits, latency, idempotency, or whether metrics are written back to storage versus merely fetched — all material for a sync trigger.

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 tight sentence with the triggering action front-loaded and the platform list as useful scope. It is well-sized, though the parenthetical platform list is somewhat expendable.

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?

For a low-complexity tool with 2 optional flat parameters and no nested objects, the description is minimally adequate. However, with no annotations and no output schema, it should state whether the sync persists results, how long it takes, and when it should be preferred over reeling_get_analytics.

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 api_key ('Optional Reeling API key') and post_id ('Optional post UUID') are already documented in the schema. The description adds no meaning beyond that and never mentions either parameter, 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?

States a specific verb ('trigger') and resource ('on-demand real-time metric sync') and enumerates the platforms it operates against, so the action is clear. It fails to differentiate from the sibling reeling_get_analytics or reeling_get_post_status, leaving the read-vs-refresh boundary for the agent to guess.

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?

'On-demand' and 'live APIs' imply this is a user-triggered refresh rather than a passive cached read, which is weak implied guidance. There is no explicit when-to-use statement, no exclusion of the analytics/status siblings, and no note that post_id narrows the sync to one post.

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. 5 tool updatesv1.1.0
    • Addedreeling_check_spam_score
    • Addedreeling_discover_community_questions
    • Addedreeling_draft_community_answer
    • Addedreeling_get_platform_matrix
    • Changedreeling_publish_post9 fields changed
      • addedInput schema / properties / auto_sanitize_spam
        Added value: +{
        +  "description": "Automatically clean affiliate parameters, ALL-CAPS titles, and AI clichés for Reddit, Medium, and Quora before publishing.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / content / description
        Previous value: -"Post copy, caption, or description."New value: +"Post copy, article body, caption, or description."
      • addedInput schema / properties / mode
        Added value: +{
        +  "description": "Set to 'reply' when answering an existing Reddit thread or Quora question via target_url (enforces max 3 answers/day). Defaults to 'post' (max 3 top-level posts/week on Reddit & Quora).",
        +  "enum": [
        +    "post",
        +    "reply"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / platforms / description
        Previous value: -"List of platform keys to publish to, e.g. ['tiktok', 'instagram', 'youtube', 'bluesky', 'threads']."New value: +"List of platform keys to publish to, e.g. ['x', 'tiktok', 'instagram', 'youtube', 'bluesky', 'threads', 'medium', 'quora', 'reddit']."
      • addedInput schema / properties / subreddit
        Added value: +{
        +  "description": "Optional subreddit name for Reddit posts (e.g. 'saas' or 'entrepreneur'). Leave empty to post directly to the connected user profile.",
        +  "type": "string"
        +}
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "Optional array of up to 5 topic tags for Medium stories (e.g. ['ai', 'marketing', 'saas']).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / target_url
        Added value: +{
        +  "description": "Optional Reddit thread URL or Quora question URL to reply to directly via Reeling Companion.",
        +  "type": "string"
        +}
      • changedInput schema / properties / title / description
        Previous value: -"Title for video platforms like YouTube Shorts or Pinterest pin titles."New value: +"Title or headline for YouTube Shorts, Pinterest pins, Medium stories, Quora shares, or Reddit posts."
      • changedInput schema / properties / video_url / description
        Previous value: -"Publicly accessible URL of the video file to publish (MP4, MOV, WebM)."New value: +"Publicly accessible URL of the video file to publish (MP4, MOV, WebM). Optional when publishing text/article posts to X, Medium, Quora, or Reddit."
  2. 14 tool updatesv1.0.1
    • First observedreeling_adapt_content_ai
    • First observedreeling_create_storyboard
    • First observedreeling_evaluate_content_jev
    • First observedreeling_generate_video
    • First observedreeling_get_analytics
    • First observedreeling_get_channel_options
    • First observedreeling_get_inbox
    • First observedreeling_get_post_status
    • First observedreeling_list_channels
    • First observedreeling_list_projects
    • First observedreeling_publish_post
    • First observedreeling_reply_to_comment
    • First observedreeling_stitch_storyboard
    • First observedreeling_sync_metrics

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation5/5

Each tool targets a distinct action or resource within the social media workflow. While several tools involve content creation (adapt_content_ai, draft_community_answer, generate_video, create_storyboard), their descriptions clearly differentiate the target platforms and output types, preventing confusion.

Naming Consistency5/5

All tools are prefixed with 'reeling_' and use snake_case with a consistent verb_noun structure (e.g., reeling_get_platform_matrix, reeling_publish_post). The only variation is the inclusion of acronyms like JEV, but the pattern remains predictable.

Tool Count4/5

18 tools is slightly above the ideal 3-15 range but is justified by the breadth of functionality (discovery, creation, publishing, analytics, engagement). No obvious redundant tools, though the set could be trimmed if some advanced features are rarely used.

Completeness4/5

Coverage is strong across the core lifecycle: platform discovery, content creation, publishing, analytics, and engagement. Minor gaps exist, such as no tools for updating/deleting posts or managing projects/channels beyond listing, but these are likely handled via the web interface and do not block core agent workflows.

Maintenance

ActivityActive
ResponsivenessLimited data

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.
    76 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Open-source MCP server that routes tool calls to AdPanel's production gateway for brand asset management, timeline orchestration, and broadcast asset synthesis.
    4 npm
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for automatic Instagram publishing — single image, carousel and Reels — via the official Instagram Graph API.
    11 npm
    -