Skip to main content
Glama

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

  1. Downloads transcripts from Mark's YouTube channel

  2. Indexes them locally into a vector database (ChromaDB)

  3. Exposes a search_mark_knowledge tool via MCP

  4. A 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 | bash

Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/BlueNacho/mark-coach-mcp/main/install.ps1 | iex

That's it. The installer will:

  1. Clone the repo to ~/mark-coach-mcp (or %USERPROFILE%\mark-coach-mcp on Windows)

  2. Install uv (Python package manager) if needed

  3. Install yt-dlp if needed

  4. Install Python dependencies

  5. Download Mark's transcripts (~100 videos, a few minutes)

  6. Index everything into a local vector DB

  7. Auto-detect Claude Code and/or Claude Desktop on your machine and configure both

  8. Install the mark-coach skill 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 ... | bash Windows: $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.sh

Windows (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.ps1

If 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-coach

Or 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.sh

The 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.sh

The 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

  • git

  • 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.ps1

The 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.sh

Uninstall

macOS / Linux:

claude mcp remove -s user mark-coach 2>/dev/null
rm -rf ~/.claude/skills/mark-coach
rm -rf ~/mark-coach-mcp

Windows (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-mcp

For Claude Desktop, edit the config file and remove the mark-coach entry from mcpServers:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Available Tools

1 tool
search_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
n_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

A4/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The tool's purpose is clear and distinct.

Naming Consistency5/5

The single tool 'search_mark_knowledge' follows a clear verb_noun pattern, consistent with common MCP naming conventions.

Tool Count3/5

One tool is minimal but appropriate for a focused knowledge base search server. It is borderline thin but not excessive for its narrow scope.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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