MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Descripción del creador (original en inglés)
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
HASDATA_API_KEY, x-api-keyLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"instagram": {
"command": "npx",
"args": [
"-y",
"@hasdata/instagram-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http instagram 'https://mcp.hasdata.com/mcp?apis=instagram' --header 'x-api-key: your-value'claude mcp add instagram --env HASDATA_API_KEY=your-value -- npx -y @hasdata/instagram-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"instagram": {
"url": "https://mcp.hasdata.com/mcp?apis=instagram",
"headers": {
"x-api-key": "your-value"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"instagram": {
"command": "npx",
"args": [
"-y",
"@hasdata/instagram-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"instagram": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=instagram",
"headers": {
"x-api-key": "your-value"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"instagram": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hasdata/instagram-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
x-api-key secreto obligatorio HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con el dominio hasdata.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: HASDATA_API_KEY, x-api-key
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (1.0.8) llegó al registro hace 43 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A hosted Instagram MCP server that gives Claude, Cursor, Windsurf and any other MCP client read-only Instagram tools. Look up a public profile by handle, walk its public post feed and read the comments on a public post or reel, as structured JSON.
It reads public data about accounts. It does not act as an account. There is nothing to connect and no account of yours involved anywhere in the flow.
1,000 free credits every month, no card required, which is 100 Instagram calls.
https://mcp.hasdata.com/mcp?apis=instagram
An MCP client that speaks streamable HTTP with custom headers. A HasData API key from the dashboard, free to create with no card, and the free tier covers 100 calls a month. Nothing else. This is a remote server, so the simplest path is a URL and a header, with no container to run. A stdio-only client can use the @hasdata/instagram-mcp (npm) or hasdata-instagram-mcp (PyPI) launcher instead.
| URL | https://mcp.hasdata.com/mcp?apis=instagram |
| Transport | HTTP, streamable |
| Auth header | x-api-key: HASDATA_API_KEY |
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
Claude Code
claude mcp add --transport http instagram "https://mcp.hasdata.com/mcp?apis=instagram" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
Claude Desktop loads only local (stdio) servers from its config file, so it reaches a remote server through a stdio launcher. The @hasdata/instagram-mcp package is that launcher, and it reads the key from the environment.
claude_desktop_config.json:
{
"mcpServers": { "instagram": { "command": "npx", "args": ["-y", "@hasdata/instagram-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
Python instead of Node? Swap the launcher for the PyPI package, which uvx runs without a manual install:
{
"mcpServers": { "instagram": { "command": "uvx", "args": ["hasdata-instagram-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
A client with OAuth support can instead add the URL as a custom connector and skip the launcher.
Cursor
.cursor/mcp.json:
{
"mcpServers": { "instagram": { "url": "https://mcp.hasdata.com/mcp?apis=instagram", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "instagram": { "serverUrl": "https://mcp.hasdata.com/mcp?apis=instagram", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Cline
{
"mcpServers": { "instagram": { "url": "https://mcp.hasdata.com/mcp?apis=instagram", "type": "streamableHttp", "headers": { "x-api-key": "HASDATA_API_KEY" }, "disabled": false } } }
VS Code
.vscode/mcp.json:
{
"servers": { "instagram": { "type": "http", "url": "https://mcp.hasdata.com/mcp?apis=instagram", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": { "instagram": { "httpUrl": "https://mcp.hasdata.com/mcp?apis=instagram", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Each of these is one tool call unless the count says otherwise.
Pull the profile for
@nasaand tell me the follower count, whether it is verified, and every link in the bio.
*One call, 10 credits. For a public account the profile response already carries the twelve most recent posts, so a follow-up about recent activity needs no second call.*
Compare
@nasa,@natgeoand@bbcearthon followers, accounts followed and whether each is verified.
*Three calls, 30 credits. One per handle.*
Walk the last fifty posts from
@nasaand list every hashtag with how often it appears.
*Five calls, 50 credits. Twelve posts arrive per call, and fifty takes five pages.*
For the last twelve posts on
@natgeo, list the accounts mentioned in each caption and the type of each post.
*One call, 10 credits. Mentions and hashtags arrive parsed out of the caption in the post objects.*
Two things make these work. Hashtags and mentions arrive as arrays parsed out of the caption, and an agent counts them instead of running a regex over prose. And a profile lookup returns the recent feed in the same response. That is why so many research questions land in a single call.
| Tool | What it returns |
|---|---|
hasdata_instagram_comments_getInstagramComments | Fetches the comments on a public post or reel by its URL and returns the post itself with its caption, media, likesCount, commentsCount and timestamp, then each comment with its text, like count, timestamp and author. 10 credits a call |
hasdata_instagram_posts_getInstagramPosts | Fetches the latest posts of a public Instagram account by username (handle) and returns each post with its id, shortcode, caption, type, productType, permalink, media URLs and pixel size, like and comment counts, the posting time, plus hashtags, mentions, tagged users and carousel members. 10 credits a call |
hasdata_instagram_profile_getInstagramProfile | Fetches a public Instagram profile by username (handle) and returns id, full name, biography, bio links, profile picture URL, followers and following counts, the verified flag and the twelve most recent posts. 10 credits a call |
Three tools, all read-only. Two are keyed on a public account handle, the third on the URL of a single post. Samples below are trimmed from real calls, and the numbers in them move as accounts post. Read them as shapes. Each tool name links to its endpoint reference.
The samples are the payload, not the whole response. A tools/call result carries one text block, and that text is itself JSON holding url, status, text and json, with the scraped data under json. From a raw JSON-RPC response the path is result.content[0].text, parsed, then .json. A chat client unwraps that for you and code talking to the endpoint directly does not.
hasdata_instagram_profile_getInstagramProfile
One public profile by handle.
| Parameter | Type | Required | Notes |
|---|---|---|---|
handle | string | yes | Username without the @, as it appears in the profile URL |
Returns id, username, fullName, biography, verified, the counters followersCount and followsCount, profilePicUrl, the internal fbid, the bioLinks array and latestPosts.
What is guaranteed and what is not, measured across twenty accounts: id, username, followersCount, followsCount, profilePicUrl and fbid came back every time. fullName, biography, verified, bioLinks and latestPosts came back for every public account and are the ones to read with a default.
A private account answers with
private: trueand little else. No bio, no counters beyond the follower numbers, no posts. Branch on that flag before you touch the rest of the payload.
bioLinksis an array of objects, not strings. Each entry carriesurl,title, Instagram's ownredirectUrlwrapper andlinkType. Read.urlwhen you want the destination.
{
"id": "528817151", "username": "nasa", "fullName": "NASA", "biography": "Making the seemingly impossible, possible. ✨", "verified": true, "followersCount": 104345698, "followsCount": 91, "profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/…", "fbid": "17841401474538262", "bioLinks": [ { "url": "https://www.nasa.gov", "title": "NASA.gov Homepage", "redirectUrl": "https://l.instagram.com/?u=https%3A%2F%2Fwww.nasa.gov%2F&e=…", "linkType": "external" } ], "latestPosts": [ "…the most recent posts, same shape as the posts tool…" ] }
hasdata_instagram_posts_getInstagramPosts
The public post feed for one handle, page by page.
| Parameter | Type | Required | Notes |
|---|---|---|---|
handle | string | yes | Username without the @ |
limit | number | Approximate ceiling on posts in one response. Twelve is the real maximum, and larger values do not fetch more | |
nextPageToken | string | The pagination.nextPageToken from the previous response |
limitis a rough cap rather than an exact count. Twelve posts is one Instagram page and the hard ceiling for a single call, andlimit: 50returns twelve. Below the ceiling the count lands near the number you asked for without always matching it, and how near depends on the account. Measured on@nasa, a limit of 2 returned 4 posts, 6 returned 6, 11 returned 10 and 13 returned 12. Treat it as "no more than roughly this many" and read the array length rather than assuming it.
The response carries posts and pagination, and nothing else. Earlier versions repeated the account's identity fields alongside the feed, so code written against that shape needs a profile call for the name and avatar.
Each post carries id, shortcode, caption, type, productType, url, ownerUsername, ownerId, displayUrl and images, the pixel size as dimensionsWidth and dimensionsHeight, and hasdataLink, a ready-made link to the comments endpoint for that post. hashtags and mentions appear only when the captio
Solo se muestra el principio; lee el resto en el repo