Summarize YouTube videos or fetch transcripts. Pay-per-call via x402 (USDC on Base), no account.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Validate raw JSON and return it pretty-printed or minified. `pretty` (default true) uses two-space indentation; false minifies. `sort_keys` (default false) sorts object keys alphabetically and leaves array order alone. Input is capped at 1 MB. Invalid JSON raises with the line and column and is not charged. Pay-per-call via x402 (USDC on Base), no account or API key.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Validate raw JSON and return it pretty-printed or minified. `pretty` (default true) uses two-space indentation; false minifies. `sort_keys` (default false) sorts object keys alphabetically and leaves array order alone. Input is capped at 1 MB. Invalid JSON raises with the line and column and is not charged. Pay-per-call via x402 (USDC on Base), no account or API key.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| pretty | boolean | |
| sort_keys | boolean |
{
"type": "object",
"title": "format_jsonArguments",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"title": "Text"
},
"pretty": {
"type": "boolean",
"title": "Pretty",
"default": true
},
"sort_keys": {
"type": "boolean",
"title": "Sort Keys",
"default": false
}
}
}Fetch the raw transcript text of a YouTube video (no model run — the cheaper SKU), in any of 100+ languages (`language` param, BCP-47). Pay-per-call via x402 (USDC on Base), no account. A video without captions returns an error and is not charged.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| language | string |
{
"type": "object",
"title": "get_youtube_transcriptArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"language": {
"type": "string",
"title": "Language",
"default": "en"
}
}
}New videos on a YouTube channel since your last poll — stateless channel monitoring, no accounts or webhooks. Pass a channel URL, @handle, or channel id, plus an optional cursor (`since_video_id` or `since`, an ISO 8601 timezone-aware timestamp) from your last call. Returns new video ids/titles/publish times, newest first, plus `newest_video_id` to use as your next cursor. Pay-per-call via x402 (USDC on Base), no account or API key. An unresolvable channel or a naive `since` timestamp returns an error and is not charged.
| Argument | Type | Description |
|---|---|---|
| since | any | |
| channel* | string | |
| since_video_id | any |
{
"type": "object",
"title": "list_new_channel_videosArguments",
"required": [
"channel"
],
"properties": {
"since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Since",
"default": null
},
"channel": {
"type": "string",
"title": "Channel"
},
"since_video_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Since Video Id",
"default": null
}
}
}Summarize a YouTube video with Claude and return the summary text, in any of 100+ output languages (`language` param, BCP-47). Pay-per-call via x402 (USDC on Base) — no account or API key. Cheaper than pulling the full transcript into your own context. A bad URL or a video without captions returns an error and is not charged. New videos up to 60 minutes; longer ones (or ones whose length can't be determined) return an error and are not charged.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| language | string |
{
"type": "object",
"title": "summarize_youtube_videoArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"language": {
"type": "string",
"title": "Language",
"default": "en"
}
}
}