mark-coach-mcp
This server turns Mark Builds Brands' YouTube content into a local AI coaching assistant for ecommerce and Facebook Ads. Here's what you can do:
Search Mark's knowledge base (
search_mark_knowledge): Query indexed transcripts from 100+ YouTube videos to find Mark's advice on Facebook Ads strategy, ad creatives, campaign scaling, metrics analysis, and ecommerce best practices. Control how many results are returned via then_resultsparameter (defaults to 6).Analyze Ads Manager screenshots: Ask Claude to interpret your screenshots using Mark's frameworks and vocabulary.
Debug campaigns: Troubleshoot Facebook ad campaigns based on Mark's mental models and strategies.
Get strategic coaching: Receive advice on creatives, scaling, and metrics using Mark's specific frameworks.
Integrate with Claude: Available via Claude Desktop (through custom instructions) or Claude Code as a global skill activated by
/mark-coachor automatically when relevant.Stay local & private: All data stays on your machine — no external API keys required for knowledge search.
Extend the knowledge base: Easily add new videos from Mark's channel or your own transcripts.
Downloads and indexes transcripts from YouTube videos to provide searchable knowledge for coaching in ecommerce and Facebook Ads.
Click on "Install 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., "@mark-coach-mcpAnalyze this Facebook Ads screenshot for scaling issues"
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.
mark-coach-mcp
Local MCP server that turns Mark Builds Brands' YouTube knowledge into an AI coaching assistant for ecommerce and Facebook Ads.
Ask Claude to analyze your Ads Manager screenshots, debug campaigns, or get strategic advice — and it'll respond using Mark's actual frameworks, vocabulary, and mental models from his 100+ videos.
How it works
Downloads transcripts from Mark's YouTube channel
Indexes them locally into a vector database (ChromaDB)
Exposes a
search_mark_knowledgetool via MCPA Claude skill activates the persona and queries the knowledge base
All data stays on your machine. No API keys required.
Related MCP server: YouTube MCP Server
Install (one line)
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/BlueNacho/mark-coach-mcp/main/install.sh | bashWindows (PowerShell)
iwr -useb https://raw.githubusercontent.com/BlueNacho/mark-coach-mcp/main/install.ps1 | iexThat's it. The installer will:
Clone the repo to
~/mark-coach-mcp(or%USERPROFILE%\mark-coach-mcpon Windows)Install
uv(Python package manager) if neededInstall
yt-dlpif neededInstall Python dependencies
Download Mark's transcripts (~100 videos, a few minutes)
Index everything into a local vector DB
Auto-detect Claude Code and/or Claude Desktop on your machine and configure both
Install the
mark-coachskill globally for Claude Code
After it finishes, restart Claude Desktop / Claude Code and start using /mark-coach.
Pick a different install dir? macOS/Linux:
INSTALL_DIR=~/projects/mark-coach-mcp curl -fsSL ... | bashWindows:$env:INSTALL_DIR = "D:\projects\mark-coach-mcp"; iwr -useb ... | iex
Manual install
macOS / Linux
git clone https://github.com/BlueNacho/mark-coach-mcp ~/mark-coach-mcp
cd ~/mark-coach-mcp
./setup.shWindows (PowerShell)
git clone https://github.com/BlueNacho/mark-coach-mcp $env:USERPROFILE\mark-coach-mcp
cd $env:USERPROFILE\mark-coach-mcp
powershell -ExecutionPolicy Bypass -File .\setup.ps1If you prefer WSL on Windows, follow the macOS/Linux instructions inside your WSL terminal — the bash scripts work as-is.
Using it
Claude Code
The skill is installed globally. Just open Claude Code and type:
/mark-coachOr describe an ecommerce / Facebook Ads question and the skill activates automatically.
Claude Desktop
After restart, the search_mark_knowledge tool is available. To get the persona/voice, create a Project in Claude.ai (or Cowork Space) and paste the contents of skills/mark-coach.md into the project's Custom Instructions.
Adding new videos
When Mark publishes new content:
cd ~/mark-coach-mcp
./setup.shThe setup script is idempotent — it re-downloads only new videos and re-indexes only the new ones (existing indexed videos are skipped via data/processed.txt).
Using your own transcripts
If you have your own .vtt files (from any creator), drop them into transcripts/ and run:
./setup.shThe indexer accepts any YouTube .vtt file — it strips timestamps, dedupes, and chunks the text.
Project structure
mark-coach-mcp/
install.sh ← one-line bootstrap (clones repo, runs setup.sh)
setup.sh ← installs deps, downloads/indexes, wires Claude
pyproject.toml ← Python dependencies (managed by uv)
src/
indexer.py ← converts .vtt transcripts → ChromaDB
server.py ← MCP server with search_mark_knowledge tool
skills/
mark-coach.md ← Claude skill / persona definition
transcripts/ ← your .vtt files (gitignored)
data/ ← ChromaDB vector store (gitignored)Requirements
macOS, Linux, or Windows 10/11
gitmacOS: included with Xcode CLT (
xcode-select --install)Linux: install via your package manager
Windows: https://git-scm.com/download/win
Claude Code and/or Claude Desktop
Everything else (uv, yt-dlp, Python deps) is installed automatically.
Troubleshooting
MCP says "Failed to connect" after a reboot
The MCP needs the absolute path to uv. The setup script handles this automatically; if you registered manually, make sure your claude mcp add command uses the full path (e.g. /Users/you/.local/bin/uv on macOS, C:\Users\you\.local\bin\uv.exe on Windows — not just uv).
Windows: "running scripts is disabled on this system"
PowerShell blocks unsigned scripts by default. Run setup with the bypass flag:
powershell -ExecutionPolicy Bypass -File .\setup.ps1The one-line installer already does this.
Re-run setup
The setup script is safe to run any number of times. It detects what's already in place and skips it.
cd ~/mark-coach-mcp && ./setup.shUninstall
macOS / Linux:
claude mcp remove -s user mark-coach 2>/dev/null
rm -rf ~/.claude/skills/mark-coach
rm -rf ~/mark-coach-mcpWindows (PowerShell):
claude mcp remove -s user mark-coach 2>$null
Remove-Item -Recurse -Force $env:USERPROFILE\.claude\skills\mark-coach
Remove-Item -Recurse -Force $env:USERPROFILE\mark-coach-mcpFor Claude Desktop, edit the config file and remove the mark-coach entry from mcpServers:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Available Tools
1 toolsearch_mark_knowledgeA
Busca en la base de conocimiento de Mark Builds Brands. Úsalo para encontrar qué dice Mark sobre cualquier tema de ecommerce, Facebook Ads, creatividades, escalado, análisis de métricas, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| n_results | 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 provided, the description carries the full burden. It implies a read-only search operation but does not explicitly state non-destructiveness or any side effects. This is adequate but minimal.
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 two sentences, front-loading the verb and resource, with no wasted words. It is efficient and directly usable.
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 search tool with an output schema (though not shown), the description is mostly complete. It could mention the return format or that results are text excerpts, but the current version is sufficient.
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 description coverage is 0%, so the description must compensate, but it does not explain the 'query' or 'n_results' parameters. While the purpose is inferable, the lack of any parameter details weakens utility.
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 verb 'search' and the resource 'knowledge base of Mark Builds Brands', with specific examples of topics (ecommerce, Facebook Ads, etc.), making the purpose unambiguous.
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 explicitly advises to use it for finding Mark's insights on various topics, which provides clear usage context. No exclusions or alternatives are needed due to lack of siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion between tools. The tool's purpose is clear and distinct.
The single tool 'search_mark_knowledge' follows a clear verb_noun pattern, consistent with common MCP naming conventions.
One tool is minimal but appropriate for a focused knowledge base search server. It is borderline thin but not excessive for its narrow scope.
The search tool covers the primary need of querying the knowledge base. Missing features like listing or retrieving specific entries are minor gaps given the server's apparent read-only role.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceCustom MCP server that extends ChatGPT's knowledge with local and WordPress data sources through search and fetch endpoints.
- AlicenseNot gradedqualityDmaintenanceA local MCP server that connects Claude to your YouTube channel, enabling video analysis, performance tracking, comment reading, and niche suggestions.27MIT
- AlicenseNot gradedqualityDmaintenanceA local MCP server that runs Llama models entirely on your machine. No API keys, no cloud costs, 100% private and offline-capable.MIT
- AlicenseNot gradedqualityDmaintenanceA local MCP server that gives AI coding agents persistent memory and context across sessions.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ignaciotachini/mark-coach-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server