Social MCP
Extract transcripts from Instagram videos and reels using AssemblyAI transcription with timestamps and speaker labels.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Social MCPTranscribe the Instagram video at https://instagram.com/reel/xyz123/"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Social MCP
A Model Context Protocol (MCP) server for social media integration, specifically Instagram transcript extraction using AssemblyAI.
Prerequisites
Install uv
On Mac:
brew install uvOn Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"After installation on Windows, add uv to your PATH:
set Path=C:\Users\nntra\.local\bin;%Path%Environment Setup
Create a
.envfile in the project root with your AssemblyAI API key:
# Get your API key from: https://www.assemblyai.com/
ASSEMBLYAI_API_KEY=your_assemblyai_api_key_hereGet your AssemblyAI API key:
Sign up at AssemblyAI
Go to your dashboard and copy your API key
Add it to the
.envfile
Related MCP server: YouTube MCP Server
Claude Desktop Integration
To use this MCP server with Claude Desktop, you need to add it to your Claude Desktop configuration.
Open your Claude Desktop configuration file:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the following configuration to your
mcpServerssection (replace/path/to/your/social-mcpwith the actual path to this project folder):
{
"mcpServers": {
"social": {
"command": "/Users/your-username/.local/bin/uv",
"args": ["--directory", "/path/to/your/social-mcp", "run", "main.py"]
}
},
"globalShortcut": ""
}Important: Make sure to replace:
/path/to/your/social-mcpwith the actual path to where you cloned/downloaded this project/Users/your-username/.local/bin/uvwith the correct path to your uv installation (on Windows this would typically beC:\Users\your-username\.local\bin\uv.exe)
Save the file and restart Claude Desktop
Usage
Once configured, the Social MCP server will be available in Claude Desktop. You can use it to:
Extract transcripts from Instagram videos/reels by providing Instagram URLs
Get timestamped transcriptions with speaker labels
Process various Instagram URL formats (posts, reels, IGTV)
Example
Extract transcript from: https://instagram.com/reel/ABC123/The server will:
Extract the video URL from the Instagram post
Use AssemblyAI to transcribe the audio
Return a formatted transcript with timestamps and speaker labels
Development
This project uses uv for dependency management. The dependencies are defined in pyproject.toml and the lockfile is uv.lock.
To run the server locally:
uv run main.pyFeatures
✅ Instagram URL validation and processing
✅ Direct video URL extraction using instaloader
✅ AssemblyAI transcription with speaker labels
✅ Timestamp formatting
✅ Environment variable configuration
✅ Comprehensive error handling
Available Tools
1 toolget_instagram_transcriptA
Extract transcript from Instagram video/reel using AssemblyAI.
Args:
url: Instagram post or reel URL (e.g., https://instagram.com/p/ABC123/ or https://instagram.com/reel/XYZ789/)
assemblyai_api_key: AssemblyAI API key (optional if ASSEMBLYAI_API_KEY environment variable is set)
Returns:
The transcript text with timestamps and speaker labels
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| assemblyai_api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return format (timestamps and speaker labels) and the API key fallback to environment variable, but does not mention potential side effects, error conditions, or network/processing behavior. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with Args and Returns sections, and front-loaded with the main purpose. Every sentence provides useful information without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema (even if not shown), the description covers the essential usage details and return format. It lacks some edge-case handling (e.g., invalid URLs, missing API key errors), but the core operational context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description fully compensates by explaining both parameters: the 'url' parameter with concrete examples and the 'assemblyai_api_key' parameter with its optionality and environment variable fallback. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Extract transcript from Instagram video/reel using AssemblyAI.' It identifies a specific verb ('Extract') and resource (Instagram video/reel), and distinguishes the tool's purpose even without siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to use the tool, including URL formats and the optional API key behavior. It doesn't explicitly mention when not to use it or compare with alternatives, but since there are no sibling tools, the usage context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
get_instagram_transcript
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusing it with others. The tool's purpose is clearly stated and unambiguous.
The single tool name 'get_instagram_transcript' follows a clear verb_noun pattern, making it descriptive and predictable. Though there are no other tools to compare, the naming is well-formed and consistent with common conventions.
The server name 'Social MCP' implies a broad social media toolkit, yet it contains only one tool for Instagram transcripts. This is far too few for the apparent scope, making the tool count feel inadequate and mismatched.
For a social media server, having only Instagram transcript extraction leaves enormous gaps. There is no support for other platforms, and even for Instagram, there are no other operations beyond transcripts. The surface is severely incomplete for the stated domain.
Maintenance
Related MCP Connectors
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
Instagram MCP for public posts, comments, replies, users, and video/Reels speech-to-text.
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server designed to fetch transcripts for YouTube videos. It enables AI tools to access video text content for tasks like summarization, analysis, and key takeaway extraction.174MIT
- FlicenseNot gradedqualityDmaintenanceThis MCP server fetches and extracts transcripts from YouTube videos, enabling AI language models to access and analyze video content.1-
- FlicenseNot gradedqualityDmaintenanceMCP server providing tools to fetch YouTube video transcripts with metadata, supporting direct YouTube transcripts and audio transcription via multiple backends (whisper, AssemblyAI, OpenAI, Gemini).-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides speech-to-text transcription and speaker diarization using OpenAI Whisper and pyannote.audio.-