yt-mem-ai
yt-mem-ai — локальная память YouTube для вашего ИИ-ассистента
Дайте Claude, Codex, Cursor или любому MCP-хосту возможность смотреть YouTube за вас: транскрибировать видео, запоминать их, следить за подписками и превращать всё это в саммари, таймкод-выжимки, Q&A, дайджесты и видеонарезки. Всё работает на вашей машине — никакого облака, никаких API-ключей.

Пример — «сделай презентацию из этого видео» (Andrej Karpathy: From Vibe Coding to Agentic Engineering, Sequoia, 30 мин) → 13 слайдов, PDF, каждая цитата с таймкодом из транскрипта. От загрузки до слайдов — один запрос.
Содержание
Related MCP server: YouTube MCP Server
Возможности
🎧 Транскрибирует любое видео — субтитры YouTube, если они есть (быстро, любой язык), офлайн-Whisper, если их нет.
🧠 Помнит, что вы смотрели — каждый транскрипт сохраняется и индексируется локально, так что ваша библиотека остаётся доступной для поиска навсегда. Ничего не покидает вашу машину.
🔎 Находит нужный момент — спросите «что то видео говорило про X» и получите ответ с таймкодом, к которому можно перейти.
📡 Следит за вашими подписками — подхватывает новые загрузки и превращает день в один дайджест.
✍️ Ваш ассистент пишет сам — саммари, выжимки, Q&A, слайды — всё на языке видео, используя модель, за которую вы уже платите.
❤️ Учится вашим вкусам — ставьте лайки или дизлайки видео и получайте рекомендации из собственной библиотеки.
🎬 Создаёт и медиа — кликабельные документы с выжимками, кадры и отрендеренные суперкат-нарезки.
🔌 Работает с вашими инструментами — Claude Code, Claude Desktop, Codex, Cursor, Antigravity, OpenClaw, Hermes: навыки или MCP — на ваш выбор.
Как установить
1. Подключите своего ассистента ⭐
curl -LsSf https://raw.githubusercontent.com/dasein108/yt-mem-ai/main/install.sh | shОткроется интерактивный мастер. Выберите, что вам нужно, отметьте свои приложения, нажмите Enter:
step 1/2 — what (pick one) step 2/2 — where (tick any)
> Plugin skills + CLI [x] Claude Code [ ] Claude Desktop
MCP typed tools [x] Codex [ ] Cursor
[ ] Antigravity [ ] OpenClaw [ ] HermesПлагин учит ассистента действовать по обычным запросам — «сделай саммари этого видео». MCP вместо этого даёт ему набор инструментов. Не уверены? Начните с плагина; мастер можно запустить снова для другого варианта.
Он установит всё необходимое, отметит то, что у вас уже есть, и удалит всё, что вы снимете (сначала покажет план и спросит). Затем перезапустите приложение и попробуйте: сделай саммари 'https://youtu.be/…'.
Уже знаете, что хотите? Пропустите вопросы:
curl -LsSf https://raw.githubusercontent.com/dasein108/yt-mem-ai/main/install.sh \
| sh -s -- --plugin --claude-code --codex
curl -LsSf https://raw.githubusercontent.com/dasein108/yt-mem-ai/main/install.sh \
| sh -s -- --mcp --claude-desktop --cursorХосты: --claude-code --claude-desktop --codex --cursor --antigravity
--openclaw --hermes или --all. Полный список флагов и инструкции по
удалению: integrations/README.md. Предпочитаете,
чтобы это сделал агент? Вставьте integrations/PROMPT.md
в любого ассистента.
2. MCP вручную — одна запись в конфиге, самоустанавливающийся
Предварительная установка не нужна: uvx загрузит пакет при первом запуске
сервера хостом и будет хранить его в кеше. Вставьте это в MCP-конфиг вашего
хоста:
{
"mcpServers": {
"yt-mem-ai": {
"command": "uvx",
"args": ["--from", "yt-mem-ai[mcp]", "yt-ai-mcp"]
}
}
}Это вся настройка — никаких путей, никакого блока env. Настройки хранятся в
~/.yt-mem-ai/config.env, и агент может записать их сам с помощью инструмента
config_set (или вы — командой yt-ai config set).
Хост | Куда вставлять этот JSON |
Claude Desktop | macOS |
Claude Code |
|
Cursor |
|
Antigravity |
|
Codex |
|
OpenClaw |
|
Hermes |
|
# ~/.codex/config.toml
[mcp_servers.yt-mem-ai]
command = "uvx"
args = ["--from", "yt-mem-ai[mcp]", "yt-ai-mcp"]# ~/.hermes/config.yaml
mcp_servers:
yt-mem-ai:
command: "uvx"
args: ["--from", "yt-mem-ai[mcp]", "yt-ai-mcp"]
enabled: trueПерезапустите приложение — и инструменты появятся. Что они делают, см. в Использование.
Ничего не появилось или хост вышел по таймауту? Первый запуск скачивает зависимости и может превысить время проверки запуска хоста. Выполните
uvx --from 'yt-mem-ai[mcp]' yt-ai-mcp --helpодин раз, затем снова откройте приложение. Если хост всё ещё не может его запустить, укажите абсолютные пути —uv tool install 'yt-mem-ai[mcp]'и используйтеwhich yt-ai-mcpкакcommandс"args": [](GUI-приложения часто не видят~/.local/binв своёмPATH).
3. Claude Desktop — навыки (в приложении)
Desktop хранит плагины в вашем аккаунте Claude, а не на диске, поэтому никто не может установить их за вас. Это займёт минуту в приложении:
Customize (левая боковая панель) → Plugins → Personal plugins → + → Add marketplace → Add from a repository →
https://github.com/dasein108/yt-mem-ai→ Add → Installyt-mem-ai
Затем спросите: сделай саммари 'https://youtu.be/…'. Удаляется так же. Тот же плагин работает и на claude.ai, и в Cowork. Предпочитаете инструменты навыкам? MCP-настройка выше подходит и для Desktop — и её можно автоматизировать.
Каждый хост загружает файлы SKILL.md из каталога уровня пользователя: Codex
~/.codex/skills/ (CLI и IDE используют его совместно, v0.117.0+), Cursor
~/.cursor/skills/, Antigravity ~/.gemini/skills/, OpenClaw ~/.agents/skills/,
Hermes ~/.hermes/skills/ (где они становятся /yt и /yt-agent).
# from a checkout
cp -R skills/yt skills/yt-agent ~/.codex/skills/
# without a checkout
for s in yt yt-agent; do
mkdir -p ~/.codex/skills/$s
curl -LsSf "https://raw.githubusercontent.com/dasein108/yt-mem-ai/main/skills/$s/SKILL.md" \
-o ~/.codex/skills/$s/SKILL.md
doneДополнительно для Codex: промпты /yt-* (integrations/codex/prompts/*.md →
~/.codex/prompts/) и integrations/codex/AGENTS.md → ~/.codex/AGENTS.md.
Полное руководство: skills/README.md.
4. CLI сам по себе
Навыки управляют им, но это вполне самостоятельный инструмент:
uvx yt-mem-ai --help # zero-install run
uv tool install yt-mem-ai # or install the persistent `yt-ai` commandТребуется Python 3.11+ и uv; ffmpeg — только для
supercut / frame.
Десктопный интерфейс живёт в отдельном репозитории: yt-mem-ai-desktop — он зависит от этого пакета и запускает собственный локальный REST API.
Начало работы
Установили и перезапустили хост? Вы готовы. Просто говорите со своим
ассистентом — навыки (или MCP-промпты + analyze_video) сделают загрузку за вас:
«Сделай саммари https://youtu.be/dQw4w9WgXcQ» → загружает видео (субтитры → whisper), затем пишет executive summary и ключевые пункты на языке видео.
«Дай мне выжимку этого видео с таймкодами» → 3–8 моментов с глубокими ссылками (
watch?v=…&t=123s), найденных семантическим поиском.
«Что я смотрел про retrieval-augmented generation?» → ищет по всем транскриптам в вашей библиотеке и цитирует моменты.
«Обработай мои подписки в сегодняшний дайджест» → находит новые загрузки, загружает их, пишет
digests/<DATE>.md.
Предпочитаете терминал? Тот же первый запуск:
yt-ai fetch 'https://www.youtube.com/watch?v=VIDEO_ID' # ingest one video
yt-ai search "what was said about embeddings" # search your library
yt-ai status # what's in the storeВсё сохраняется в ~/.yt-mem-ai/ (библиотека, логи, загрузки).
Первый запуск медленный — это нормально. Установка подтягивает ML-стек (torch, LanceDB, sentence-transformers ≈ 1 ГБ на диске), а ваш первый
fetchилиsearchдополнительно скачивает модель эмбеддингов. Если у видео нет субтитров, скачается и модель Whisper (small, ≈ 460 МБ) — путь с субтитрами в ней не нуждается. Всё это кешируется, так что происходит один раз, а не для каждого видео. На GUI-хосте первый запуск MCP может превысить время проверки запуска приложения по той же причине: выполнитеuvx --from 'yt-mem-ai[mcp]' yt-ai-mcp --helpодин раз в терминале, чтобы прогреть кеш, затем снова откройте приложение.
Ежедневная рутина
yt-ai discover # what's new in your subscriptions
yt-ai fetch-pending # transcribe today's batchзатем в ассистенте: «обработай подписки» → саммари по каждому видео и
digests/<DATE>.md, и при желании
yt-ai compile --out compilations/$(date +%F).md для дневной выжимки
в виде кликабельных ссылок.
Использование
Общение с ассистентом (навыки и промпты)
С плагином поставляются два навыка. MCP-хосты получают те же сценарии в виде
промптов (yt_summarize, yt_highlights, yt_qa, yt_presentation,
yt_digest, yt_review, yt_group), так что без поддержки навыков ничего не
теряется.
Навык | Для чего |
| точка входа — любая операция и полные конвейеры (ежедневная рутина, одно видео); передаёт анализ навыку |
| сценарии — одно видео → саммари / выжимки / Q&A / презентация; подписки → ежедневный дайджест; кросс-видео обзор; группа видео |
Что вы говорите | Что происходит | Куда сохраняется |
«сделай саммари | загрузка → executive summary + ключевые пункты | чат, |
«выжимку для | 3–8 моментов с таймкодами и глубокими ссылками | чат + хранилище |
«Q&A по | 3–6 пар вопрос/ответ с опорой на источник | чат + хранилище |
«сделай презентацию из | слайды, разделённые |
|
«обработай подписки» | поиск → загрузка → анализ каждого видео |
|
«сделай обзор того, что я смотрел на этой неделе» | эссе по темам между видео |
|
«проанализируй эти видео: | загрузка набора → по каждому + синтез |
|
Навыки никогда не обращаются к базе данных напрямую — они вызывают CLI, так что
один и тот же процесс работает на любом хосте. Установите или вставьте их
вручную: skills/README.md.
MCP-инструменты
Сервер yt-ai-mcp предоставляет весь движок в виде типизированных
инструментов. analyze_video — точка входа в один шаг: он загружает видео и
возвращает транскрипт, чтобы модель сама написала саммари.
Категория | Инструмент | Описание |
Анализ |
| Принять видео и вернуть его транскрипт (+ заголовок, канал, язык, существующее резюме). Вызывайте это первым для любого запроса на резюме / выделение / Q&A. |
Загрузка |
| Скачать + транскрибировать + встроить одно видео ( |
| Новые загрузки из вашей ленты подписок (инкрементально; | |
| Пакетная загрузка всего, что было обнаружено с определённой даты. | |
| Перечислить недавние загрузки канала (без загрузки). | |
Библиотека |
| Гибридный / векторный / полнотекстовый поиск по всем фрагментам, с временными метками. |
| Метаданные + полный транскрипт для одного видео. | |
| Список сохранённых видео по статусу / дате / каналу. | |
| Количество по статусам жизненного цикла. | |
Резюме |
| Сохранить резюме + выделенные моменты + Q&A, чтобы |
Вкус |
| Записать отзыв для одного видео. |
| Ранжировать неоценённые видео по схожести с тем, что вам понравилось. | |
Медиа |
| Документ с глубокими ссылками на выделенные моменты, ограниченный по бюджету минут. |
| Собрать выделенные фрагменты в один размеченный mp4 (требуется ffmpeg + сеть). | |
| Извлечь кадр в указанный момент времени. | |
Конфигурация |
| Просмотр настроек, значений и источника каждого (секреты скрыты). |
| Изменение настроек из чата — учётные данные прокси, браузер для cookies, модель встраивания. | |
Обслуживание |
| Пере-встроить всю библиотеку после смены модели встраивания. |
Детали сервера, список промптов и сырая конфигурация: integrations/mcp/README.md.
Команды CLI
yt-ai fetch <url> # download + transcribe + embed + store one video
yt-ai fetch <url> --captions-only # captions only: no audio download / no whisper (fails if none)
yt-ai transcript <url> # same pipeline
yt-ai discover # new subscription uploads (--after/--deep/--min-duration/--json); incremental by default
yt-ai fetch-pending # batch-fetch pending 'discovered' videos (since --since, default today; --limit)
yt-ai list # list stored videos (--status/--since/--json)
yt-ai show <video_id> # metadata + transcript (--json)
yt-ai status # counts by status
yt-ai search "<query>" # semantic search (--hybrid/--fts/--vector, -k N)
yt-ai save-summary <id> "<summary>" --highlights '<json>' --qa '<json>' # persist a summary (used by skills)
yt-ai like <video_id> # mark liked (feeds recommendations)
yt-ai dislike <video_id> # mark disliked
yt-ai recommend # rank your unrated fetched videos by taste (--limit/--json)
yt-ai compile # deep-linked highlights doc, budget-bounded (--since/--max-minutes/--json/--out)
yt-ai supercut # video reel of highlights, re-downloaded + labeled (--since/--max-minutes/--out/--keep-clips)
yt-ai frame <video_id> --at <ts> # still frame at a timestamp (seconds or H:M:S) → frames/<id>_<s>s.png
yt-ai reembed # re-embed all chunks with the current YT_EMBEDDING_* config
yt-ai channel-list <url> # list a channel's recent uploads (--limit/--from/--to/--json); enumerate only
yt-ai config list # get/set any .env setting: config get/set/unset/path (reconfigure from CLI or chat)Примеры
Кейс: полный PDF-учебник из 10-частного курса на YouTube.
examples/defi-crypto-options.pdf — это
96-страничная русская образовательная книга, созданная из серии «DeFi. Бесплатный
вводный курс по крипто-опционам» (@Menaskop).
Конвейер: определить 10 видео серии → извлечь субтитры ru-orig (yt-dlp +
cookies браузера; Whisper не нужен) → структурированные дайджесты по каждому видео → один общий
каркас (глоссарий, обозначения, каталог рисунков) → 10 переписанных глав (~28,5 тыс. слов)
47 перерисованных векторных рисунков → собраны и отрендерены с помощью Typst. Это не резюме — главы с нуля, с проработанными примерами, диаграммами, глоссарием и глубокими ссылками на каждое видео в конце каждой главы.
Конфигурация
Для начала ничего не требуется — по умолчанию хранилище, логи и загрузки
находятся в ~/.yt-mem-ai/ и используется локальная модель встраивания. Настройте, когда понадобится:
Настройка | Что делает |
| Каталог LanceDB |
|
|
| например, |
| только для бэкенда встраивания |
|
|
| предпочтительные языки субтитров (по умолчанию |
| опциональный ротационный прокси |
| длина фрагмента для встраивания |
Настройка из CLI или агента — вместо ручного редактирования .env используйте
yt-ai config (или инструменты MCP config_*, чтобы агент мог перенастроить себя
из чата):
yt-ai config list # every setting, value, and source
yt-ai config set WEBSHARE_PROXY_USERNAME <user>
yt-ai config set WEBSHARE_PROXY_PASSWORD <pass>
yt-ai config set YT_EMBEDDING_MODEL paraphrase-multilingual-MiniLM-L12-v2
yt-ai config get OPENAI_API_KEY # secrets masked (--reveal to show)set по умолчанию записывает глобальный файл конфигурации (~/.yt-mem-ai/config.env), чтобы
MCP-сервер подхватывал его независимо от рабочего каталога; --project записывает
./.env. Приоритет: переменные окружения процесса > проектный .env > глобальный файл конфигурации, и
config list показывает, откуда взялось каждое значение.
Под капотом
Всё ниже — необязательное чтение: внутренности, настройка и заметки для разработчиков.
Как это работает
yt-dlp → captions (or Whisper) → chunks → embeddings → LanceDB
↓
your assistant reads + writes summaries backCLI выполняет тяжёлый ввод-вывод и владеет хранилищем; навыки и инструменты MCP — тонкие
вызовы. Видео проходит через discovered → downloaded → transcribed → summarized; прямые трансляции получают конечный статус stream и пропускаются пакетной
загрузкой (транскрибируйте одну по запросу с помощью yt-ai fetch <url>). Хранилище — встроенная
LanceDB (videos, channels, transcripts, chunks, summaries,
feedback), с векторами для каждого фрагмента плюс полнотекстовый индекс — именно это делает
поиск гибридным.
Детали команд
Оценка и рекомендации — ставьте лайки/дизлайки загруженным видео, затем yt-ai recommend ранжирует остальные по схожести с тем, что вам понравилось (минус то, что
не понравилось), используя их транскрипционные встраивания. Пока вы ничего не оценили,
используется откат к самым недавно опубликованным.
discover инкрементален — он получает новые записи ленты одним плоским
вызовом (ограничен YT_DISCOVER_FEED_LIMIT), помечает каждую приблизительной
временной меткой и сохраняет только те, что новее отметки последнего запуска минус
1 час перекрытия (YT_DISCOVER_OVERLAP_S), чтобы округлённые до часа даты никогда не пропускали
пограничное видео. Уже обработанные видео отфильтровываются. --after YYYY-MM-DD
переопределяет порог.
compile против supercut — compile рендерит дневные выделенные моменты как markdown
глубокие ссылки (watch?v=ID&t=<start>s), сначала новые видео, ограничено
--max-minutes (по умолчанию 20); это мгновенно и выводит в stdout, если не передать
--out. supercut пере-скачивает каждый выделенный фрагмент в 720p, накладывает метку
на него и объединяет всё в supercuts/<date>.mp4 плюс
.refs.md sidecar со списком источников (и любые клипы, пропущенные после сбоя) — гораздо
медленнее, требует сеть + ffmpeg, но доступно для обмена.
Встраивания, прокси и другие настройки
Встраивания: YT_EMBEDDING_BACKEND=local|openai. Локальный использует
sentence-transformers (YT_EMBEDDING_MODEL, по умолчанию all-MiniLM-L6-v2) — для
неанглийских библиотек установите paraphrase-multilingual-MiniLM-L12-v2 (384-мерный, 50+
языков), чтобы семантический поиск работал на разных языках. openai использует
text-embedding-3-small|large (требуется OPENAI_API_KEY). После смены модели
запустите yt-ai reembed, чтобы перенести существующую библиотеку (пере-встраивает все фрагменты; без
повторной загрузки).
Прокси / VLESS: YT_USE_WEBSHARE по умолчанию выключен. Если у вас уже есть
системный прокси/VPN (VLESS/Xray и т.п.), оставьте его выключенным — трафик идёт через
этот туннель. Наложение прокси Webshare поверх ломает аутентифицированную
ленту подписок (его CONNECT-туннель возвращает 405). Устанавливайте
YT_USE_WEBSHARE=true только если у вас нет другого прокси и YouTube ограничивает ваш
сырой IP. Настройка discover: YT_DISCOVER_FEED_LIMIT (ограничение последних N, по умолчанию 60),
YT_DISCOVER_OVERLAP_S (инкрементальное перекрытие, по умолчанию 3600), YT_DISCOVER_TIMEOUT_S.
Работаете из репозитория? uv sync --extra dev, затем cp .env.example .env
если предпочитаете хранить настройки локально для проекта, а не в ~/.yt-mem-ai/config.env.
Использование как Python-пакет
yt-mem-ai — обычная библиотека: CLI — тонкая оболочка Typer над ядрами run_*,
которые можно вызывать напрямую. Всё локально: нет сервера, нет ключа API (если
не выберете бэкенд встраивания openai).
pip install yt-mem-ai # or: uv add yt-mem-aifrom dataclasses import replace
from pathlib import Path
from yt_mem_ai.config import load_config
from yt_mem_ai.cli import open_store, run_fetch, run_search, run_list, run_save_summary
from yt_mem_ai.store import db as store
# Config comes from ~/.yt-mem-ai/config.env < ./.env < process env.
# Override any field in code (Config is a frozen dataclass):
cfg = replace(load_config(), store_path=Path("~/.yt-mem-ai/lance").expanduser())
db = open_store(cfg) # opens LanceDB + creates tables/indexes once
# pass db=... to every run_* call to reuse it
# 1. Ingest: download → transcribe (captions → whisper) → chunk → embed → store
video_id = run_fetch("https://www.youtube.com/watch?v=dQw4w9WgXcQ", cfg, db=db)
# captions only (no audio download, no whisper):
# video_id = run_fetch(url, cfg, db=db, captions_only=True)
# 2. Read what was stored
video = store.get_video(db, video_id)
text = store.get_transcript_text(db, video_id)
print(video.title, video.channel, video.duration_s, len(text or ""))
for c in store.list_chunks(db, video_id)[:3]:
print(f"[{c['start_s']:.0f}s] {c['text'][:80]}")
# 3. Semantic search across the whole library (hybrid | vector | fts)
for hit in run_search(cfg, "retrieval augmented generation", mode="hybrid", k=5, db=db):
print(hit["video_id"], hit["start_s"], hit["text"][:100])
# 4. Bring your own LLM: summarize the transcript however you like, then persist
summary_md = my_llm(text) # any model / provider
run_save_summary(
cfg, video_id, summary_md,
highlights_json='[{"t": 42, "text": "key moment"}]',
qa_json='[{"q": "What is it about?", "a": "..."}]',
db=db,
)
print(store.get_summary(db, video_id))
# 5. Library queries
for v in run_list(cfg, status="transcribed", since="2026-01-01", db=db):
print(v.video_id, v.published_at, v.title)Другие ядра, той же формы (run_x(cfg, ..., db=db)): run_discover,
run_fetch_pending, run_channel_list, run_recommend, run_feedback,
run_compile, run_supercut, run_frame, run_reembed. Низкоуровневые части
также импортируемы — yt_mem_ai.download.download, yt_mem_ai.transcript.get_transcript,
yt_mem_ai.store.embeddings.build_embedder / chunk_segments,
yt_mem_ai.store.db (LanceDB CRUD + search_chunks).
Хранилище — обычная LanceDB, так что вы можете открыть его напрямую:
import lancedb
from pathlib import Path
tbl = lancedb.connect(Path("~/.yt-mem-ai/lance").expanduser()).open_table("chunks")
df = tbl.to_pandas() # video_id, start_s, end_s, text, vectorЛогирование
CLI записывает структурированные JSON-события в logs/common.jsonl (через
obs.log_event/blog) — один объект на строку, {ts, source, level, event, msg, ...ctx}. Переопределите путь с помощью YT_LOG_FILE; он в .gitignore. Просмотр с помощью jq:
jq -c 'select(.level=="error")' logs/common.jsonl # every error
tail -f logs/common.jsonl | jq -c '{ts,event,msg}' # live tail, compactТесты
uv run pytest -q # offline unit tests (fake embedder)
YT_RUN_INTEGRATION=1 uv run pytest -q # + real sentence-transformers integrationРелиз (для мейнтейнеров)
Версия берётся из git-тега (hatch-vcs). Тег, сборка и публикация:
git tag -a vX.Y.Z -m "vX.Y.Z" && git push origin vX.Y.Z
uv build # → dist/ (sdist + wheel)
sh scripts/publish.sh dist/yt_mem_ai-X.Y.Z* # uploads to PyPIscripts/publish.sh загружает UV_PUBLISH_TOKEN из .env (gitignored) по запросу,
так что вам не нужно экспортировать его каждый раз — добавьте UV_PUBLISH_TOKEN=pypi-… в .env один раз
(см. .env.example). Эквивалентно: set -a; . ./.env; set +a; uv publish dist/*.
Ротируйте токен на PyPI, если он когда-либо был раскрыт.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseAqualityDmaintenanceAn experimental MCP server that makes YouTube playlist transcripts available for AI assistants, enabling search and conversation about video content.13Apache 2.0
- FlicenseNot gradedqualityDmaintenanceThis MCP server fetches and extracts transcripts from YouTube videos, enabling AI language models to access and analyze video content.1
- AlicenseNot gradedqualityDmaintenanceMCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.MIT
- AlicenseAqualityDmaintenanceMCP server that lets AI agents search YouTube and fetch transcripts.23MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Cloud-hosted MCP server for durable AI memory
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
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/dasein108/yt-mem-ai'
If you have feedback or need assistance with the MCP directory API, please join our Discord server