How to integrate Youtube MCP with Kimi Code

How to integrate Youtube MCP with Kimi Code Kimi Code is Moonshot AI's open-source coding agent, powered by Kimi K2.6. It runs in your terminal, reads and edits code, executes shell commands, and plans multi-step tasks, with native MCP support for extending it to outside tools. In this guide, I will explain the easiest and most secure way to connect your Youtube account to Kimi Code via Composio Connect, so it can list your most recent uploaded videos, get subscriber count for your channel, search YouTube for trending tutorials, and more without ever putting your account credentials at risk.

Youtube logoYoutube
Oauth2

YouTube is a leading video-sharing platform for uploading, streaming, and discovering content. It empowers creators and businesses to reach global audiences and monetize their work.

47 Tools4 Triggers

How to integrate Youtube MCP with Kimi Code

Kimi Code is Moonshot AI's open-source coding agent, powered by Kimi K2.6. It runs in your terminal, reads and edits code, executes shell commands, and plans multi-step tasks, with native MCP support for extending it to outside tools.

In this guide, I will explain the easiest and most secure way to connect your Youtube account to Kimi Code via Composio Connect, so it can list your most recent uploaded videos, get subscriber count for your channel, search YouTube for trending tutorials, and more without ever putting your account credentials at risk.

Also integrate Youtube with

Why use Composio?

Composio provides:

  • Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
  • Managed OAuth. You do not have to worry about authentication and authorization flows for every app.
  • Programmatic tool calling. Allows LLMs to write code in a remote workbench to handle complex tool chaining. This reduces back-and-forth for frequent tool calls.
  • Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
  • Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

Connect Youtube to Kimi Code

Kimi Code is a TypeScript agent distributed through npm. It acts as an MCP client and reads server definitions from an mcp.json file, and it can also add and authenticate servers conversationally through /mcp-config. Composio is a remote HTTP server that authenticates with OAuth, so no API key is stored anywhere.

1. Install Kimi Code

The quickest way is the official install script, which requires no pre-installed Node.js and places the kimi executable on your PATH.

bash
# macOS or Linux
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows PowerShell
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# Confirm the installation
kimi --version

2. Log in

Start Kimi Code in your project directory, then sign in from the interactive UI:

bash
kimi

Run /login and choose Kimi Code OAuth using the device-code flow, or use a Moonshot API key.

3. Add Composio with /mcp-config

In current versions of Kimi Code, MCP servers are managed inside the app, not with a shell subcommand. From the interactive UI, run:

bash
/mcp-config
Kimi Code MCP config flow for adding the Composio MCP server

Tell it the server name and URL in plain language. For example:

Server name is Composio, and here is the server URL: https://connect.composio.dev/mcp

Kimi Code asks whether to add it globally, at ~/.kimi-code/mcp.json, or project-local for the current checkout, then writes the entry for you:

bash
{
  "mcpServers": {
    "Composio": {
      "url": "https://connect.composio.dev/mcp"
    }
  }
}

There is no transport field to set. Kimi Code infers HTTP from the url.

4. Restart the session

The new server is picked up on a fresh session, not the current one. Start a new session:

bash
/new

On the new session, Kimi Code detects that the server needs authorization and prompts you to run:

bash
/mcp-config login Composio

5. Authorize with OAuth

Run the command Kimi suggests:

bash
/mcp-config login composio

Kimi Code opens Composio's authorization page or surfaces a URL. Approve access, then return to the session. You should see confirmation that the Composio MCP server is connected.

Composio authorization page for Kimi Code MCP setup

Check the connection status any time with /mcp. Composio should appear as connected with its tools listed.

Kimi Code showing Composio connected after OAuth authorization

Connect your Youtube account

Back in a Kimi Code session, ask the agent to connect to Youtube or give it any Youtube-related task.

For example, ask it to:

  • "List your most recent uploaded videos"
  • "Get subscriber count for your channel"
  • "Search YouTube for trending tutorials"

It will prompt you to authenticate and authorize access to Youtube.

That is it. Composio tools are now available in Kimi Code, and your Youtube account is ready to use.

Conclusion

You have successfully connected Youtube to Kimi Code using Composio Connect. Your agent can now manage Youtube from the terminal with natural language, without exposing credentials in prompts or local scripts.

Since the same Composio endpoint exposes 1,000+ apps, you can add Slack, Calendar, Linear, and more to the same server and chain them into cross-app workflows.

TOOLS & TRIGGERS

Supported Tools and Triggers

Every Youtube action and event your agent gets out of the box.

Add Video to Playlist

Tool to add a video to a playlist by inserting a playlist item.

Insert Channel Section

Tool to create a new channel section for the authenticated user's YouTube channel.

Insert Comment Reply

Tool to create a reply to an existing YouTube comment.

Create Playlist

Tool to create a new YouTube playlist on the authenticated user's channel.

Delete Channel Section

Tool to delete a YouTube channel section.

Delete Comment

Tool to delete a YouTube comment owned by the authenticated user or channel.

Delete Playlist

Tool to delete a YouTube playlist owned by the authenticated user/channel.

Delete Playlist Item

Tool to delete a playlist item (remove a video from a playlist).

Delete Video

Tool to delete a YouTube video owned by the authenticated user/channel.

Get Channel Activities

Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.

Get channel ID by handle

Retrieves the YouTube Channel ID for a specific YouTube channel handle.

Get Channel Statistics

Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.

Video Details Batch

Retrieves multiple YouTube video resource parts in a single batch call.

Get Video Rating

Retrieves the ratings that the authorized user gave to a list of specified videos.

List captions

Retrieves a list of caption tracks for a YouTube video.

List Channel Sections

Tool to retrieve channel sections from YouTube.

List channel videos

Lists videos from a specified YouTube channel.

List Comments

List individual comments from YouTube videos.

List Comment Threads

Tool to retrieve comment threads from YouTube videos or channels matching API request parameters.

List I18n Languages

Returns a list of application languages that the YouTube website supports.

List I18n Regions

Tool to retrieve a list of content regions that the YouTube website supports.

List Live Chat Messages

Tool to list live chat messages for a specific chat.

List Playlist Images

Tool to retrieve playlist images associated with a specific playlist.

List Playlist Items

Tool to list videos in a playlist, with pagination support.

List Super Chat Events

Lists Super Chat events for a channel, showing supporter purchases during live streams.

List user playlists

Retrieves playlists owned by the authenticated user, implicitly using mine=True.

List user subscriptions

Retrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.

List Video Abuse Report Reasons

Tool to retrieve a list of abuse report reasons that can be used to report abusive videos on YouTube.

List Video Categories

Tool to list YouTube video categories that can be associated with videos.

Download YouTube caption track

Downloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text.

Multipart upload video

Uploads a video to YouTube using multipart upload in a single request.

Post Comment on Video

Tool to post a new top-level comment on a YouTube video.

Rate Video

Tool to add a like or dislike rating to a YouTube video, or remove an existing rating.

Report Video for Abuse

Tool to report a YouTube video for containing abusive content.

Search YouTube

Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response.

Set Comment Moderation Status

Tool to set the moderation status of one or more YouTube comments.

Subscribe to channel

Subscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.

Unsubscribe from channel

Tool to unsubscribe the authenticated user from a YouTube channel by deleting a subscription.

Update caption track

Updates a YouTube caption track's metadata such as name, language, or draft status.

Update channel

Updates a channel's metadata including branding settings and localizations.

Update Channel Section

Tool to update an existing YouTube channel section by ID.

Update Comment

Tool to modify the text of an existing YouTube comment.

Update Playlist

Tool to modify an existing YouTube playlist's metadata (title, description, privacy status).

Update Playlist Item

Tool to modify a playlist item's properties such as position or note.

Update thumbnail

Sets the custom thumbnail for a YouTube video using an image from a URL.

Update video

Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.

Upload video

Uploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.

FAQ

Frequently asked questions

With a standalone Youtube MCP server, the agents and LLMs can only access a fixed set of Youtube tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Youtube and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Kimi Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Youtube tools.

Yes, absolutely. You can configure which Youtube scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Youtube data and credentials are handled as safely as possible.

Start with Youtube.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Youtube tool your agent needs.Free to start.

Start building