Server definition
- Hash
- sha256:52e6fd69c644b44a2a33b9dc767d0b86251cbb2c1af1698c37ad4375f77cf5f8
- What it is
- What a remote MCP server returned when asked what it offers: 35 tools
The blob, as servednamed by its sha256
{
"instructions": "MCP.AI platform v0.9.358 | Adapters: youtube v1.1.0. When the user asks about the version (e.g. \"qual a versão\", \"which version\"), call the show_version tool. NEW MCPs/tools/integrations (capabilities not already in this toolkit) come from the official mcp.ai catalog: the `marketplace` tool (action=search) finds and runs them. You are not authenticated yet. Call the authenticate tool first — it will give the user a browser link to log in and copy a token. No other tools will work until authenticated.",
"tools": [
{
"description": "MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: \"<jwt>\" } after the user pastes, or with no args to get the link.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "authenticate",
"outputSchema": null
},
{
"description": "Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "connect",
"outputSchema": null
},
{
"description": "The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\", \"consulta um CPF\", \"is there a tool for Y\". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"default": "search",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
],
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"cancel_comment": {
"default": "",
"type": "string"
},
"cancel_reason": {
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
],
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 10,
"type": "number"
},
"mcp_id": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"items": {
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
],
"type": "string"
},
"type": "array"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"query": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"tier_slug": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"name": "marketplace",
"outputSchema": null
},
{
"description": "Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "report_bug",
"outputSchema": null
},
{
"description": "Show the current MCP platform and adapter versions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "show_version",
"outputSchema": null
},
{
"description": "Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "toolkit_info",
"outputSchema": null
},
{
"description": "Escape hatch: call any path on the YouTube backend. Pass path (e.g. /search), optional method (default GET), query map, and JSON body for POST. Prefer the named youtube_* tools when available; this is for routes not in the manifest.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"body": {},
"method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"path": {
"type": "string"
},
"query": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"path"
],
"type": "object"
},
"name": "youtube_api",
"outputSchema": null
},
{
"description": "Channel description, links, country, subscriber count, banner.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "youtube_channel_about",
"outputSchema": null
},
{
"description": "Community posts tab for a channel.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_community",
"outputSchema": null
},
{
"description": "Featured channels listed on a channel. Note: YouTube deprecated the featured-channels tab; this route exists upstream but typically returns an empty/error envelope.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_featured",
"outputSchema": null
},
{
"description": "Channel home page payload (featured shelves + meta).\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_home",
"outputSchema": null
},
{
"description": "Channel playlists tab.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"sort_by": {
"type": "string"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_playlists",
"outputSchema": null
},
{
"description": "Search a channel's own videos and playlists.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"query": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "youtube_channel_search",
"outputSchema": null
},
{
"description": "Channel shorts tab.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_shorts",
"outputSchema": null
},
{
"description": "POST variant of channel shorts. Requires a `params` continuation token from a prior GET response. Skip in daily smoke (no synthetic params).\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"params": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"params"
],
"type": "object"
},
"name": "youtube_channel_shorts_post",
"outputSchema": null
},
{
"description": "Store / merch shelf for a channel.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "youtube_channel_store",
"outputSchema": null
},
{
"description": "Channel videos tab.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"sort_by": {
"type": "string"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_channel_videos",
"outputSchema": null
},
{
"description": "POST variant of channel videos. Requires a `params` continuation token captured from a prior GET response — used to fetch deeper pages or filtered shelves that the GET surface can't address. Skip in daily smoke (no synthetic params).\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"forUsername": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"params": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"params"
],
"type": "object"
},
"name": "youtube_channel_videos_post",
"outputSchema": null
},
{
"description": "Apaga DEFINITIVAMENTE um comentário (não tem desfazer). Só funciona em comentário do próprio canal ou em vídeo do canal conectado. Para esconder sem apagar, prefira youtube_comment_moderate com `rejected`. Custa 50 unidades da cota.\n\nBulk support: accepts comment_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"comment_id": {
"type": "string"
},
"comment_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"comment_id"
],
"type": "object"
},
"name": "youtube_comment_delete",
"outputSchema": null
},
{
"description": "Modera comentários no canal conectado: publica (`published`), segura para revisão (`heldForReview`) ou rejeita (`rejected`). `ban_author` só é aceito junto de `rejected`. Vale apenas para comentários em vídeos do próprio canal. Custa 50 unidades por comentário.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"ban_author": {
"type": "boolean"
},
"comment_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"published",
"heldForReview",
"rejected"
],
"type": "string"
}
},
"required": [
"comment_ids",
"status"
],
"type": "object"
},
"name": "youtube_comment_moderate",
"outputSchema": null
},
{
"description": "Publica um comentário NOVO de topo em um vídeo, como o canal conectado. Para responder alguém, use youtube_comment_reply. Custa 50 unidades da cota.\n\nBulk support: accepts video_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"text": {
"type": "string"
},
"video_id": {
"type": "string"
},
"video_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"video_id",
"text"
],
"type": "object"
},
"name": "youtube_comment_post",
"outputSchema": null
},
{
"description": "Responde comentários como o canal conectado. Aceita VÁRIAS respostas numa chamada (`replies`), e um item que falha não derruba os outros. `parent_id` tem que ser o id de um comentário de TOPO (campo `id` do thread devolvido por youtube_comment_threads), nunca o id de uma resposta. Cada resposta consome 50 unidades da cota da API do YouTube, então responda o que importa em vez de varrer o canal.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"replies": {
"items": {
"properties": {
"parent_id": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"parent_id",
"text"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"replies"
],
"type": "object"
},
"name": "youtube_comment_reply",
"outputSchema": null
},
{
"description": "Comentários de TOPO pela API oficial, com as respostas já existentes. É daqui que sai o `parent_id` usado em youtube_comment_reply (o id do thread), então prefira esta tool a youtube_comments quando a intenção for responder. Sem `video_id`, traz os comentários do canal conectado inteiro (bom para 'o que ainda não respondi'). Custa 1 unidade da cota.\n\nBulk support: accepts video_ids, channel_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"channel_id": {
"type": "string"
},
"channel_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"max_results": {
"type": "number"
},
"moderation_status": {
"enum": [
"heldForReview",
"likelySpam",
"published"
],
"type": "string"
},
"order": {
"enum": [
"time",
"relevance"
],
"type": "string"
},
"page_token": {
"type": "string"
},
"search_terms": {
"type": "string"
},
"video_id": {
"type": "string"
},
"video_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "youtube_comment_threads",
"outputSchema": null
},
{
"description": "Edita o texto de um comentário ou resposta PUBLICADO pelo canal conectado (corrigir um erro sem apagar e repostar, o que perderia as curtidas e o encadeamento). Só funciona em comentário de autoria do próprio canal. Custa 50 unidades da cota.\n\nBulk support: accepts comment_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
},
"comment_id": {
"type": "string"
},
"comment_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
}
},
"required": [
"comment_id",
"text"
],
"type": "object"
},
"name": "youtube_comment_update",
"outputSchema": null
},
{
"description": "Top-level comments thread for a video.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"sort_by": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "youtube_comments",
"outputSchema": null
},
{
"description": "Stream/download metadata for a video (formats, audio/video URLs, status).\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cgeo": {
"type": "string"
},
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "youtube_download",
"outputSchema": null
},
{
"description": "Posts under a hashtag (without leading #).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"type": "string"
},
"token": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"tag"
],
"type": "object"
},
"name": "youtube_hashtag",
"outputSchema": null
},
{
"description": "YouTube home feed (anonymous, geo/lang aware).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"geo": {
"type": "string"
},
"lang": {
"type": "string"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_home_feed",
"outputSchema": null
},
{
"description": "YouTube Hype: viral / hyped videos feed.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"geo": {
"type": "string"
},
"lang": {
"type": "string"
},
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_hype",
"outputSchema": null
},
{
"description": "Lista os canais do YouTube conectados (os que podem responder e moderar comentários), com id, nome e estatísticas. Use antes de responder para confirmar de qual canal a resposta vai sair. Custa 1 unidade da cota.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_my_channels",
"outputSchema": null
},
{
"description": "Playlist items by playlist id.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "youtube_playlist",
"outputSchema": null
},
{
"description": "Resolve a YouTube URL or share link to its videoId / pageType.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "youtube_resolve_url",
"outputSchema": null
},
{
"description": "Search videos, channels, playlists.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"duration": {
"type": "string"
},
"geo": {
"type": "string"
},
"lang": {
"type": "string"
},
"query": {
"type": "string"
},
"sort_by": {
"type": "string"
},
"token": {
"type": "string"
},
"type": {
"type": "string"
},
"upload_date": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "youtube_search",
"outputSchema": null
},
{
"description": "Trending videos by region.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"geo": {
"type": "string"
},
"lang": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"name": "youtube_trending",
"outputSchema": null
},
{
"description": "Related videos for a given video id.\n\nBulk support: accepts ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"token": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "youtube_video_related",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:52e6fd69c644b44a2a33b9dc767d0b86251cbb2c1af1698c37ad4375f77cf5f8 | sha256sum