get_research_capabilitiesAsk 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.
Model Context Protocol
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.
https://kabo.sh/mcp-pubStreamable HTTP · Stateless · POST only
Quickstart
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.
Open your client's MCP or connector settings and add a server with the URL https://kabo.sh/mcp-pub.
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.
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.
{
"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.
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
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
git clone --branch stable --single-branch https://github.com/kabo-sh/kabo-mcp-plugin.gitAfter 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.
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.
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.
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.
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.
git -C kabo-mcp-plugin pull --ff-onlyFor 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:
npx skills update -pnpx skills update -gThese 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
Discover the current tools and input schemas through your client's tools/list request. These are the main starting points.
get_research_capabilitiesAsk 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_candidatesFind public Instagram Reels for a topic within a time window.
enrich_instagram_shortlistCompare a Reels shortlist with each account's own recent posts, so a breakout is measured against its usual reach.
collect_youtube_trend_candidatesFind public YouTube videos for a topic and publication window.
enrich_youtube_shortlistAdd exact public metrics and same-channel upload history to a YouTube shortlist.
analyze_content_videoStart 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_runRead 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.
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: OAuth with PKCE and dynamic client registration, no API key to copy
https://kabo.sh/mcp-puboffline_accessopenidprofileemaildatavideoworkspace:readworkspace:writeThe OAuth resource must exactly match the server endpoint above. A token issued for /mcp or another endpoint will not work here.
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.
kabo-mcp-pubhttps://kabo.sh/api/auth/device/codecurl -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"}'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-pubThe 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.
Request only what the task needs. Each tool checks one permission, and a missing one returns 403 insufficient_scope naming it.
offline_accessopenidprofileemaildatavideoworkspace:readworkspace:writeAccess 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.
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 usagePublic 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
Agents that connect to Kabo should follow these rules.
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.
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.
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.
The request may already have run. Check its result first. Save and update tools accept an idempotency key, so an identical retry is safe.
While a device code is still valid, keep polling it instead of requesting a new one.
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.
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.
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.
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.
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.
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.