Chain of Thought Podcast Archive

Busca somente leitura nas transcrições e episódios do podcast Chain of Thought (entrevistas com pessoas que colocam IA em produção). Cada resultado linka para a página do episódio para que agentes possam citá-lo. Sem login ou chave de API.

Servidor MCP hospedado

npx add-mcp 'https://mcp.chainofthought.show/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Servidor MCP do arquivo do podcast Chain of Thought

Este servidor de Protocolo de Contexto de Modelo (MCP) somente leitura permite que agentes de IA e assistentes de codificação pesquisem as transcrições e metadados de episódios de Chain of Thought, o podcast apresentado por Conor Bronsdon, e citem suas páginas de episódios. Ele não requer login ou chave de API. Ele roda como um Cloudflare Worker com pesquisa de texto completo D1.

Endpoint

https://mcp.chainofthought.show/mcp está ativo. O transporte é HTTP Streamable sem estado. GET / descreve o servidor e GET /health retorna ok.

Ferramentas

FerramentaEntradasRetorna
search_transcriptsquery (até 200 caracteres), limit (1–20, padrão 8), episode opcional (1–9999)Passagens classificadas com episódio, convidados, orador, carimbo de data/hora, trecho, URL do momento e citação.
search_episodesquery (até 200 caracteres), limit (1–20, padrão 8)Episódios classificados com data, convidados, resumo, capítulos correspondentes, URL e citação.
get_episodeepisode (1–9999) ou slug (até 300 caracteres, incluindo uma URL completa de episódio)Metadados, convidados, capítulos e links de episódio, YouTube e áudio.
get_transcript_excerptepisode (1–9999), at opcional (um segment_index de resultados de pesquisa, uma URL de passagem ou sua âncora #t-, m:ss ou h:mm:ss), before (0–5, padrão 2), after (0–10, padrão 5)Até 16 segmentos consecutivos com URLs individuais, além de sinalizadores de âncora e paginação.

Como a pesquisa classifica os resultados

A pesquisa de transcrições usa BM25 sobre passagens, com um reforço para passagens de episódios cujo título, convidados, títulos de capítulos ou resumo correspondem à consulta. Passagens que contêm todas as palavras da consulta vêm antes de passagens que contêm algumas. Passagens quase idênticas, como leituras de patrocinadores repetidas entre episódios, são reduzidas a um resultado.

Um resultado de search_transcripts tem esta forma (valores de texto abreviados):

{
  "episode": 77,
  "episode_title": "…",
  "guests": ["…"],
  "published_at": "…",
  "speaker": "…",
  "time": "…",
  "seconds": 29,
  "segment_index": 2,
  "snippet": "…",
  "match": "all_terms",
  "url": "https://chainofthought.show/podcast/…/#t-2",
  "episode_url": "https://chainofthought.show/podcast/…/",
  "cite": "Chain of Thought, chainofthought.show — https://chainofthought.show/podcast/…/#t-2"
}

Conectar

Estas etapas seguem a documentação de cada fornecedor em 2026-10-14. O endpoint deve ser implantado antes que um cliente possa se conectar.

Claude Code

Instalar no Claude Code

Em uma sessão do Claude Code, adicione este repositório como um marketplace de plugins e instale o plugin:

/plugin marketplace add conorbronsdon/chain-of-thought-podcast-mcp
/plugin install chain-of-thought-podcast@chain-of-thought-podcast-mcp

O plugin se conecta ao endpoint MCP remoto público sem chave de API. Sua habilidade opcional /chain-of-thought-podcast:cite-chain-of-thought ajuda a encontrar e citar discussões de podcasts.

Adicionar o servidor MCP diretamente

Execute o comando MCP do Claude Code:

claude mcp add --transport http chain-of-thought https://mcp.chainofthought.show/mcp

Isso usa o escopo local por padrão. --scope project escreve .mcp.json; uma entrada de projeto é:

{"mcpServers":{"chain-of-thought":{"type":"http","url":"https://mcp.chainofthought.show/mcp"}}}

--scope user o disponibiliza em todos os projetos.

Conector personalizado de aplicativos Claude

Nas configurações de conector do Claude, abra Personalizar > Conectores > + Adicionar > Adicionar conector personalizado. Insira chain-of-thought e https://mcp.chainofthought.show/mcp, selecione Continuar, escolha Sem login em Autenticação e selecione Adicionar. Planos gratuitos são limitados a um conector personalizado. Em planos Team, apenas Proprietários e Proprietários Principais podem adicionar conectores; em Enterprise, Proprietários, Proprietários Principais e funções com acesso de Gerenciamento a Bibliotecas podem.

Cursor

Adicione isto a .cursor/mcp.json para um projeto ou ~/.cursor/mcp.json globalmente, seguindo a documentação MCP do Cursor:

{"mcpServers":{"chain-of-thought":{"url":"https://mcp.chainofthought.show/mcp"}}}

ChatGPT

Abra plugins do ChatGPT, selecione o botão de mais e depois Adicionar servidor MCP personalizado. Insira chain-of-thought e uma descrição. Em Conexão, insira https://mcp.chainofthought.show/mcp. Configure a autenticação (este servidor não requer nenhuma), revise o aviso de risco, selecione Entendo e quero continuar e depois Criar como plugin e revise as ferramentas descobertas. Um endpoint HTTPS público é necessário; políticas de conta e espaço de trabalho se aplicam. Veja o guia de conexão da OpenAI.

Termos de citação e uso

O corpus de origem declara:

Atribuição: "Chain of Thought — chainofthought.show"

Canônico: "Todo registro carrega canonicalUrl. Cite essa página, não este endpoint: ela é a renderização autoritativa e a que recebe correções."

Transcrições: "Geradas por máquina (ASR), com correções de entidades aplicadas durante a sincronização. As transcrições podem conter erros; verifique as citações contra a gravação."

Licença: "CC-BY-4.0"

Áudio: "O áudio e o vídeo dos episódios não são licenciados: todos os direitos reservados. As URLs de áudio e vídeo são apenas links; vincule à página do episódio em vez de copiar a mídia."

Redistribuição: "O texto das transcrições e os metadados dos episódios são licenciados sob CC BY 4.0 e publicados como um conjunto de dados em https://huggingface.co/datasets/conorbronsdon/chain-of-thought-podcast-transcripts. Crédito a Chain of Thought (chainofthought.show) e link para a página do episódio."

url é a página a ser citada; para uma passagem de transcrição, inclui uma âncora #t- para abrir esse segmento. A âncora pode ter um ou dois números e é separada de segment_index. Passe a URL completa ou sua âncora para get_transcript_excerpt para recuperar essa passagem. episode_url é a página do episódio sem âncora de segmento. cite combina atribuição e url no formato Chain of Thought, chainofthought.show — <url>.

Limites e atualização

As consultas são limitadas a 200 caracteres. A pesquisa retorna 1–20 resultados (padrão 8). Os trechos têm cerca de 600 caracteres; os segmentos de excerto têm no máximo 1.500 caracteres, com no máximo 16 segmentos por excerto. Nenhuma ferramenta retorna uma transcrição completa. Alguns segmentos nos primeiros episódios 5, 6, 7 e 9 não têm carimbo de data/hora: time e seconds são null, enquanto suas URLs ainda funcionam.

Um cron horário adiciona, altera ou remove no máximo um episódio por execução, então um episódio recém-publicado geralmente é indexado em cerca de uma hora após aparecer em corpus.json quando não há acúmulo. Resultados bem-sucedidos de ferramentas são armazenados em cache por uma hora; uma pesquisa repetida pode, portanto, retornar resultados pré-ingestão por até cerca de outra hora. As correções de transcrição são captadas quando a verificação round-robin atinge um episódio; a um por hora, todos os 77 episódios levam cerca de 3,2 dias. Os logs registram nome da ferramenta, sucesso, contagem de resultados e duração. O texto da consulta não é registrado.

Desenvolvimento

Use Node 22.18 ou mais recente:

npm ci
npm test
npm run typecheck

Para o fixture de três episódios, execute estes em ordem, com dev:fixture mantido em execução para o teste de integração:

npm run build-sql:fixture
npm run db:fixture
npm run dev:fixture
MCP_URL=http://127.0.0.1:8787/mcp npm run test:integration

Para o corpus completo:

npm run build-sql
npm run db:full
npm run dev:full
npm run query -- --top 3 --compact search_transcripts '{"query":"..."}'
npm run eval

Para testar o cron localmente, inicie wrangler dev --test-scheduled e chame:

curl "http://127.0.0.1:8787/__scheduled?cron=23+*+*+*+*"

dist/ e .cache/ contêm texto de transcrição e são gitignored. Não os envie nem publique. Veja Implantação e as notas de design.

Licença

O código neste repositório é licenciado sob MIT; veja LICENSE. Essa licença não cobre transcrições de podcasts, metadados de episódios ou outro conteúdo servido por chainofthought.show, que este servidor lê em tempo de execução. Os termos de uso acima se aplicam a esse conteúdo.