Skip to content

Model Context Protocol

Kabo MCP docs

Creator evidence, connected.

Connect your AI assistant to public YouTube, Instagram and TikTok evidence. Set up Kabo's remote MCP endpoint, explore its tools, and understand access and usage.

Remote serverOAuth · sign in with Kabo
Server endpoint
https://kabo.sh/mcp-pub

Streamable HTTP · Stateless · POST only

Quickstart

Connect in a few minutes.

Kabo works with clients that can add a remote MCP server over HTTP and sign in with OAuth. Menu names differ, but the steps are the same.

  1. Add a remote server

    Open your client's MCP or connector settings and add a server with the URL https://kabo.sh/mcp-pub.

  2. Sign in to Kabo

    Your client opens Kabo's sign-in page in your browser. Sign in or create an account, check the access Kabo asks for, and approve it.

  3. Check available tools

    Ask your assistant to call get_research_capabilities with an empty object. It reports which research data tools are ready for your account without using your allowance.

Example JSON configuration
{
  "mcpServers": {
    "kabo": {
      "url": "https://kabo.sh/mcp-pub"
    }
  }
}

If your client uses a JSON file, the entry usually looks like this. Field names vary by client, so check its documentation.

Try this after connecting

Use Kabo to show which research tools are available. Then help me find public YouTube videos about beginner photography from the last seven days. Ask before starting a paid video analysis.

Skills

Add Skills to your MCP connection.

Already connected? Kabo's ten optional Skills add workflows for account reviews, trends, competitors, video analysis, ideas and scripts. They reuse your existing MCP connection and Kabo sign-in. Connecting MCP alone does not install them.

Kabo Skills can be used in compatible agents on your computer, in remote workspaces or in cloud environments. Codex, Claude Code and Cursor are examples, not a complete list of supported environments.

The agent environment must be able to load SKILL.md and its bundled files, run the required scripts with Python 3, and use your authorized Kabo MCP connection. Compatibility depends on these capabilities, not on whether the interface is a desktop app or a web page.

Official repository and README
https://github.com/kabo-sh/kabo-mcp-plugin

Option 1: Clone the GitHub repository

Clone the stable release
git clone --branch stable --single-branch https://github.com/kabo-sh/kabo-mcp-plugin.git

After cloning, configure your agent to load the complete Skill folders from kabo-mcp-plugin/skills/, or copy or import those folders into its supported Skills location. Keep all scripts, references and assets. Cloning alone does not register Skills with the agent.

Option 2: Use the skills CLI (npx)

The skills CLI is an optional installation method. You can also clone the GitHub repository or download a ZIP. Choose whichever method fits your environment and preference.

Install all ten Skills
npx skills add 'kabo-sh/kabo-mcp-plugin#stable' --skill '*'

Run this in your project directory and select your agent in the installer. Installation defaults to the current project; add -g to install for all projects.

CLI target examples: --agent codex, --agent claude-code or --agent cursor. These examples do not limit which agents can use Kabo Skills.

Check the installation with npx skills list, or npx skills list -g for a global installation. Start a new host session to load the Skills.

The full Kabo plugin already includes these Skills. Skip this separate installation if you use the plugin, to avoid duplicate entries.

Option 3: Download a ZIP

The release ZIP is the full plugin package. For manual Skills-only installation, copy each complete folder under skills/ into your host's Skills directory, including scripts, references and assets. Copying only SKILL.md is insufficient. Manual copies are not tracked by the CLI updater.

Versions and updates

The stable branch follows published releases. Installed Skills do not update in the background. Read GitHub Releases for new versions and release notes, then update when you choose.

Update a clone on stable
git -C kabo-mcp-plugin pull --ff-only

For a clone on the stable branch, run this in the directory containing kabo-mcp-plugin. If you copied or imported the Skill folders elsewhere, replace those copies as well. Git and ZIP installations are not tracked by the skills CLI updater.

For Skills installed with the skills CLI, choose the update scope:

Update project Skills
npx skills update -p
Update global Skills
npx skills update -g

These commands update all tracked Skills in the selected scope, including other sources. To refresh only Kabo, rerun the installation command with the same agent and project/global scope.

In skills CLI 1.7.4, skills check runs the update logic and can replace installed files. Use the release page to read about updates without changing your installation.

Replace #stable with #v1.0.1 to pin that release. Updating a pinned installation does not switch to a newer tag; install the new tag explicitly.

See the README for verified hosts and workflow requirements. A successful installation alone does not confirm a complete workflow.

Tools

The tools your assistant can call.

Discover the current tools and input schemas through your client's tools/list request. These are the main starting points.

get_research_capabilities

Ask your assistant to call get_research_capabilities with an empty object. It reports which research data tools are ready for your account without using your allowance.

collect_instagram_trend_candidates

Find public Instagram Reels for a topic within a time window.

enrich_instagram_shortlist

Compare a Reels shortlist with each account's own recent posts, so a breakout is measured against its usual reach.

collect_youtube_trend_candidates

Find public YouTube videos for a topic and publication window.

enrich_youtube_shortlist

Add exact public metrics and same-channel upload history to a YouTube shortlist.

analyze_content_video

Start a saved analysis of a public YouTube, Instagram or TikTok video. Requires an active Kabo Pro subscription and your confirmation; it does not use the daily data allowance.

get_analysis_run

Read the status, transcript and result of a video analysis you started.

For trend research: collect candidates, choose a relevant shortlist, then enrich it with public metrics and account baselines.

The server also lists public data tools for YouTube, Instagram and TikTok: profiles, posts, comments, transcripts, search and trending sound boards.

Read results without restarting work

For a data job, pass its job_id to get_research_data_job. Read its artifacts with read_research_data_artifacts. For a video analysis, pass the returned id to get_analysis_run. Poll pending work instead of starting it again.

Authentication

Sign in with your Kabo account.

Sign-in: OAuth with PKCE and dynamic client registration, no API key to copy

OAuth resource
https://kabo.sh/mcp-pub
Supported scopes
offline_accessopenidprofileemaildatavideoworkspace:readworkspace:write

The OAuth resource must exactly match the server endpoint above. A token issued for /mcp or another endpoint will not work here.

Sign in without a browser

If your MCP client runs where it cannot open a browser or receive an OAuth redirect, such as a remote server or a headless terminal, it can sign in with the OAuth device flow (RFC 8628) instead. Use the fixed client ID below. Client IDs from dynamic client registration are not accepted for device sign-in.

Client ID
kabo-mcp-pub
Device authorization endpoint
https://kabo.sh/api/auth/device/code
Request a device code
curl -X POST https://kabo.sh/api/auth/device/code \
  -H 'content-type: application/json' \
  -d '{"client_id":"kabo-mcp-pub","scope":"openid offline_access data video"}'
Exchange the approved code
curl -X POST https://kabo.sh/api/auth/oauth2/token \
  -d grant_type=urn:ietf:params:oauth:grant-type:device_code \
  -d device_code=DEVICE_CODE \
  -d client_id=kabo-mcp-pub

The response includes a user_code and a verification_uri_complete link. Open the link on any device, sign in to Kabo and check that the code matches. Meanwhile, poll the token endpoint at the returned interval until it returns an access token instead of authorization_pending. The scope must include offline_access and can include any of the supported scopes above. The token works only on the server endpoint above; renew it with the refresh token.

The device code expires after 15 minutes (expires_in in the response). Poll no faster than interval, which is 5 seconds; if the server returns slow_down, add 5 seconds. authorization_pending means keep polling with the same code. expired_token means the code expired: request a new one. access_denied means the user declined: stop and do not retry on your own. While a code is still valid, do not request another one: each request creates a new code, and only the code the user approves signs in.

Device sign-in does not take a resource parameter. Tokens issued to kabo-mcp-pub are always bound to the server endpoint above.

Permissions and what they unlock

Request only what the task needs. Each tool checks one permission, and a missing one returns 403 insufficient_scope naming it.

offline_access
Needed for a refresh token. Without it, the session ends when the 2-hour access token expires. Required for device sign-in.
openidprofileemail
Sign-in identity only, with no tool access. profile adds your name and picture, and email adds your email address, to get_kabo_info.
data
Public research data: trend and lookup tools, research data jobs and get_research_capabilities.
video
Saved video analysis and video remakes. Starting a new analysis requires Kabo Pro and your approval.
workspace:read
Read your Kabo workspace: your Kabo info, connected accounts, creator profile, scripts and video library.
workspace:write
Save and update scripts, and connect public creator accounts.

Keep the connection between tasks

Access tokens last 2 hours. Refresh tokens last 30 days and rotate on every use, so each one works only once. Store them in the host's secure credential storage, never in the conversation or ordinary logs, and refresh from one place at a time: reusing an old refresh token signs out every session that client has for the account. Finishing a task does not need to end the sign-in. If your environment cannot keep credentials after a task, tell the user before signing in that they will need to sign in again next time.

Usage and access

Connecting is free. Public data requests may use your account's daily allowance. Starting a new saved video analysis requires Kabo Pro and your approval. Readiness and result checks do not use the data allowance.

View plans and usage

What can my assistant see through Kabo?

Public creator evidence that Kabo collects for your request, plus the analyses and research jobs you start under your own Kabo account. Kabo cannot read other users' runs or anyone's private messages, drafts or private insights.

No. Kabo researches and analyzes. It does not publish, comment, message or edit content on any platform.

Troubleshooting

Get your connection working.

Agents that connect to Kabo should follow these rules.

  1. Check before signing in

    Use the existing connection first, and sign in again only when the server returns 401. To check without using your allowance, call get_research_capabilities or get_kabo_info.

  2. Ask for what the task needs

    Request data for research data, video for saved video analysis, and workspace:read or workspace:write for the Kabo workspace. Do not request every permission by default, and do not leave out one the task needs.

  3. Match the fix to the error

    401: sign in. 403 insufficient_scope: authorize again with the permission named in the error. invalid_client: check the client ID. Allowance, subscription, rate or concurrency errors are not sign-in problems, so do not ask the user to sign in again.

  4. After a timeout, check before repeating

    The request may already have run. Check its result first. Save and update tools accept an idempotency key, so an identical retry is safe.

  5. Keep one device code

    While a device code is still valid, keep polling it instead of requesting a new one.

  6. Skills are not a connection

    Loaded Kabo Skills do not mean the Kabo MCP server is connected, and updating a plugin does not refresh the tools in the current session. Check that Kabo tools are listed before you use them.

Why does the endpoint show 405 in my browser?

The endpoint accepts MCP POST requests. Opening it in a browser sends GET, which returns 405 Method Not Allowed. Add the URL in your MCP client's settings instead.

Why am I getting 401 Unauthorized?

Complete Kabo sign-in in your client. If you already signed in, reconnect and authorize the exact resource URL shown above. Credentials for another Kabo endpoint cannot be reused.

Why does device sign-in return invalid_client or invalid_scope?

invalid_client means the client ID is not kabo-mcp-pub. Device sign-in does not accept client IDs from dynamic client registration. invalid_scope means offline_access is missing or you requested a permission this server does not offer.

Why am I getting 403 or insufficient_scope?

Reconnect and approve the permissions required by the tool: data for research data, video for saved video analysis. Your client must support OAuth for remote MCP servers.

What if a tool is unavailable or I hit a limit?

Check get_research_capabilities for data-source readiness. For allowance or subscription errors, check your Kabo plan and the returned error. An unavailable source is not a zero result; retry later when it is ready.

Get help