Loom Transcript MCP
# Loom Transcript MCP (Fixed)
A working Model Context Protocol (MCP) server for fetching transcripts and comments from Loom videos.
This is a fixed fork of `@daanvanhulsen/loom-transcript-mcp` that resolves the 400 GraphQL errors caused by recent changes to Loom's API.
## What Was Fixed
The original package stopped working due to three critical bugs:
1. **Array vs Object**: The original code sent GraphQL requests as an array `[{...}]` instead of a plain object `{...}`, which Loom's API now rejects with a 400 error.
2. **Missing Headers**: Added proper browser-like headers including `Accept` and `User-Agent` to pass Loom's validation.
3. **Response Parsing**: Fixed response data access from `response.data[0].data` to `response.data.data` to match the correct response format.
## Installation
### NPX (Recommended)
```json
{
"mcpServers": {
"loom-transcript": {
"command": "npx",
"args": ["-y", "@bstyler/loom-transcript-mcp"]
}
}
}
```
### Docker
```bash
# Build
cd C:\MCPs\loom-transcript-mcp-fixed
docker build -t loom-transcript-mcp .
# Add to Claude config
{
"mcpServers": {
"loom-transcript": {
"command": "docker",
"args": ["run", "--rm", "-i", "loom-transcript-mcp"]
}
}
}
```
### From Source
```bash
git clone https://github.com/bStyler/loom-transcript-mcp.git
cd loom-transcript-mcp
npm install
npm run build
node dist/index.js
```
## Features
- **getLoomTranscript**: Fetches the transcript text from any public Loom video URL
- **getLoomComments**: Fetches comments from a Loom video URL
## Usage
After configuring the MCP server in Claude Desktop, you can use it like this:
```
Can you get the transcript from this Loom video? https://www.loom.com/share/abc123
```
## Development
```bash
npm install
npm run build
npm start
```
## License
MIT
## Credits
Original package by @daanvanhulsen
Fixed by @bStyler
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one retrieves comments and the other retrieves transcript text from a Loom video URL. There is no overlap or ambiguity between them, as they target different data types from the same resource.
Both tools follow a consistent verb_noun pattern with 'get' as the verb and descriptive nouns ('LoomComments', 'LoomTranscript'). The naming is uniform and predictable across the tool set.
With only 2 tools, the server feels thin for a transcript-focused domain, lacking operations like search, update, delete, or other common transcript management functions. This minimal set may limit agent capabilities for comprehensive workflows.
The tool set is severely incomplete for a transcript domain, offering only retrieval functions without create, update, delete, or search capabilities. This creates significant gaps that could lead to agent failures when trying to perform full lifecycle operations.