Stripe Office Hours: MCP com olhar da Microsoft...
Office Hours da Stripe sobre Model Context Protocol: o que MCP muda para developers e o recorte trazido com convidado da Microsoft.
Resposta direta
MCP é contrato de ferramentas/contexto para agentes — útil quando o ecossistema (Stripe incluso) quer ações tipadas além do chat solto. Os problemas que realmente resolvem são problemas que muitos dos pessoas na comunidade têm sim, concordo com isso, então o que vamos fazer, então para as pessoas que estão no horário de trabalho de desenvolvedores, geralmente o que fazemos é só tentar.
O que é MCP em uma frase útil
Os problemas que realmente resolvem são problemas que muitos dos pessoas na comunidade têm sim, concordo com isso, então o que vamos fazer, então para as pessoas que estão no horário de trabalho de desenvolvedores, geralmente o que fazemos é só tentar falar sobre todas as coisas divertidas acontecendo em todo o mundo e você sabe dentro do contexto do ecossistema de Stripe e então o que vamos fazer é ter uma conversa muito divertida com eles sinta-se a favor de deixar suas perguntas ou qualquer coisa que você sort in the chat let us know if you have any questions for us about protocolo de contexto modelo e casos de uso e padrões e coisas do tipo, nós vamos tentar responder isso para você, mas antes de começarmos a entrar em nossa conversa hoje, eu vou compartilhar minha tela muito rapidamente e vamos passar por alguns itens de mantimento muito rápidos, super rápido, então obviamente estamos falando sobre protocolo de contexto modelo e acontece que a Stripe também tem um server mcp E uma das coisas que você pode fazer com isso, como você pode imaginar, é invocar muitas operações diferentes contra o seu account Stripe. Então, se você quiser nos acompanhar em pessoa, ao invés de nos acompanhar aqui no YouTube ou, você sabe, no internet, definitivamente se sinta bem-vindo e veja algumas das reuniões de Stripe que estamos hostando em nossos escritórios em todo o mundo. Carrega algumas datas para trás das escenas e o layer mcp, essencialmente, formaliza como essas datas podem ser expostas dentro de LLFs e a explicação que eu estava falando sobre que eu vou roubar de alguém e eu ouvi o primeiro de James Monomagno no Microsoft, todos sabem que James é um bom amigo e a maneira como ele colocou é mcp, a maneira de você realmente entender isso é é para virar o acrônimo.
Bem, não atrás, mas entre os seus dados e o LLM, porque isso está standardizado em um set de conceitos como json rpc para a interação de transferência entre o cliente e o servidor e então essa maneira como o servidor fala com a API é especificamente a API, mas podemos falar mais sobre isso, mas. O propósito principal é que os MCPs ou servidores de MCPs façam seus LLMs ou clientes que estão usando os LLMs, de fato, úteis para o contexto em que você está operando, porque você pode realmente dar esse contexto de uma forma que o LLM possa funcionar consistentemente. Sim, e é mágico para mim, porque o MCP, no seu core, não é apenas um layer universal, mas realmente permite que você não se preocupe com como os APIs ou ferramentas downstream operam.
Por que Stripe fala disso em Office Hours
Então você tem todos esses pedaços desjuntos que a MCP apenas standardiza e diz que não, a server da MCP vai cuidar de toda essa complexidade com que você está lidando, vai cuidar de toda a parte de conectividade que é necessária para conectar o server ao cliente e então o server vai falar com qualquer API que for downstream de qualquer forma que a API requer, mas o cliente nunca vê isso, o cliente nunca tem que se preocupar com isso e nós falamos sobre os servidores de mcp como conectando-se a APIs, mas eles podem fazer muito mais, certo, porque expõem um número de primitivos e vemos coisas sendo construído em torno de servers de MCP que são incríveis. Então, para as pessoas que não conhecem o Playwright, é basicamente, pense nisso como o framework de orquestração de teste web que você pode usar para essencialmente solidificar suas aplicações web, suas aplicações front-end para garantir que elas são testadas corretamente e tenham a cobertura certa de teste. Mas uma das coisas mágicas sobre isso é que pode ser usado o server Playwright MCP para ir e dizer, vá explorar este site e encontre as áreas que eu preciso ir e testar, certo?
Eu posso apenas perguntar para o meu LLM, ele se conecta diretamente ao Playwright, se conecta ao browser atrás das cenas, pode ser Chromium, pode ser Edge, pode ser Firefox e então ele simplesmente vai e faz isso, certo? E mostra como alguém de um LLM pode definir um prompt para uma cena e dizer que quer uma cena com um castelo medieval com alguns dragões, e aí ele vai e construi porque sabe os primitivos para usar no Blender. E é tudo possível porque o servidor MCP é o que é na verdade, como eu disse, a tinta conectiva atrás do cliente e da aplicação downstream para mim isso é mágico e há tantos desses cenários que eu vejo aparecendo que me fazem pensar que nossa produtividade vai ter um grande aumento Eu posso falar de anos por toda essa coisa, porque eu vi coisas como engenharia de MCP como servers de MCP que olham para os filhos binários e tentam identificar o que eles são, é apenas que o ecossistema realmente cresceu muito, muito rápido e as pessoas estão surgindo em formas super criativas de alcançá-lo.
Na prática
MCP é contrato de ferramentas/contexto para agentes — útil quando o ecossistema (Stripe incluso) quer ações tipadas além do chat solto.
Microsoft e o ecossistema MCP no episódio
Sabe, é interessante, sabe quando as pessoas falam sobre quando fomos para a lua e uma das uma das algumas das coisas interessantes que saíram disso era como a tecnologia que foi construída para nos levar lá sim certo e como essa tecnologia que saiu dessa iniciativa meio que afetou as vidas regulares de todos os outros, certo, e algumas das outras coisas que temos que tomamos para o reddit, eu sinto que nosso viagem em ti MCP é uma dessas ferramentas que nós tiramos disso. Nós temos essas colinas escuras, essas colinas escuras de UI e eu estou tipo, oh, eu sinto que estou fazendo essa tarefa hoje e em vez de eu ter como Office ou Excel ou qualquer coisa, eu apenas composto os servidores MCP juntos e isso torna a UI para o que eu quero que seja porque essa é a tarefa que eu quero fazer hoje eu totalmente vejo coisas como isso que pode ser 100% possível, porque agora se Se cada serviço oferece. Que tem um LLM acessível, então você poderia estar trabalhando em um desktop cloud, você poderia estar trabalhando em código de código de Visual Studio, você poderia estar trabalhando em Visual Studio, todos esses ferramentas e você conecta múltiplos servidores e vemos essa composta se apresentar hoje em dia, como coisas que estamos trabalhando, coisas que estamos explorando, você sabe, e vemos outros pessoas na indústria olhando para coisas como desenvolvimento de espectro, por exemplo, como definir espectros e então baseados nesses espectros, a AI vai construir a aplicação, mas o desenvolvimento, sabemos para o fato de que não é apenas sobre escrever especificações e escrever código como você tem ter que fazer testes e tentar deploiar coisas e ver como elas funcionam e depois abrir problemas de GitHub para traque de tarefas, certo?
E é aqui que o ecossistema do server da MCP se apresenta, porque você começa a compor essas coisas juntos, onde é como se fosse, ok, estou construindo minhas aplicações, preciso de um jogador na MCP para testar a aplicação e descobrir o que os testes deveriam ser, e vou fazer isso para fazer esses testes. Com um server de MCP, porque o server de MCP expõe essa linha para o Figma sem o agente ter que escrever um layer de API para ir e falar com o Figma. Você tem o transporte de HTTP e então você os conecta por URL, você coloca em uma URL e diz aqui, aqui é o, você sabe, o meu servidor de github, fale com esse servidor de mcp para conseguir a lista de ferramentas e prompções e tudo mais que tem suporte ou eu posso dirigir localmente porque também há servidores de mcp local, eles usam o transporte de STDIO, o output de entrada e, neste caso, eu posso apenas dirigir algo na minha caixa dentro de um contêiner docker ou com npx ou com python ou .net como não importa realmente e Há essa flexibilidade, certo?
Implicações para tools de pagamento
E eu, e então, gente que conhece LSP, você sabe, se você tem código de Vs ou um editor ou qualquer outro caso, como é que você pode ter como esses esses editores, eu acho que essa caixa de um editor e então apenas iluminar a funcionalidade baseado em qualquer outra língua que você está em que eu acho que mcp para mim é mais parecido com isso, certo, porque agora novamente, eu posso iluminar minha aplicação com alguns desses diferentes novamente, esses diferentes servidores e esses diferentes pontos de funcionalidade, eu acho que uma das coisas que é interessante para mim e eu estou meio curioso para ver como os criadores de sistemas operativos makers kind of deploy this is i'd love to see if sistemas operativos que vão vir com servidores MCP construídos e agentes fora do box construídos na OS então agora, você sabe, ver melhor performance melhor integração para tipo, alguns desses testes locais coisas, certo, ser capaz de acessar sistemas de fichas e trabalhar com, você sabe, dispositivos de rede local que eu acho que seria interessante porque eu penso sobre, por exemplo, eu tenho um eu tenho um pequeno rede de casa que está acontecendo com tipo alguns dispositivos inteligentes e coisas daquela natureza E eu sei que muitos deles expõem APIs, como se fossem APIs de HTTP, mas eles estão operando host locais, então quando eu os conecto, eu não vou para o espaço externo e volto para casa para desligar o interruptor. Então, novamente, outro caso de uso é eu apenas operando isso localmente em minha casa e tendo uma conversa inteligente com esse server de MCP ou esse agente sobre como eu quero, não sei e ativar o alarme ou, sabe, começar o carro ou qualquer outro caso, certo? Sim, e isso é algo que você realmente referiu ao LSP e isso é como se você olhar para o design do MCP como um todo, você verá como echos de LSP com certeza, como eu acho que você foi influenciado profundamente por isso e toda essa coisa, por exemplo, está na especificação, então você pode ir ao site de especificações, postei o link em nosso chat de estúdio que as pessoas podem e depois vamos ver como funciona.
Mas você aludiu a algo muito, muito importante e que vai ser também uma boa coisa, na minha opinião, sobre o MCP, é que não faz opinião sobre o vendedor, não tem opinião sobre o cliente, não tem opinião sobre a empresa que está a fazer isso, é um protocolo, é basicamente como se fosse uma pipa para o seu dados. E essa pipa pode funcionar, digamos, no mundo em que você descreveu o cenário, você tem uma rede local, talvez você esteja operando um LLM local, talvez você esteja operando algo como o LLama, ou talvez um monte de outros tipos de modelos conectados como qn ou algo assim e você está jogando em sua caixa como você não quer esse dados você não quer o egressar acontecer de sua casa para algumas outras destinações bem, olhe o que o mcp pode ainda funcionar para isso porque você ainda pode conectá-lo enquanto suas lms seus modelos sabem como fazer coisas como chamar de ferramentas com a ajuda de seu cliente você está bem como isso A mágica do MCP é que funciona. Sim, então aqui está o tipo de a delineação, e, por outro lado, eu também vou ligar para você um post de blog da Ina Harper, ela publicou isso no outro dia e fala especificamente sobre prompts, porque prompts é um um desses, tipo, é uma capacidade desapreciada, mas a diferença é que a cor, um tipo de delta entre ferramentas e prompts é que ferramentas são geralmente invocadas pela LLM em si, ou como o cliente está passando pela LLM porque você precisa chamar um, você sabe, Get data from my database.
Como experimentar sem reescrever o monólito
De novo, olhe para a postagem do blog da Ina Harper, explica muito melhor do que eu, mas cresce nesse tipo de o stackup não é apenas sobre o ELM invocando e fazendo algo, mas também sobre pegando dados, coletando dados e tendo o usuário especificamente ativar ações de dados e é aqui que os prompts são muito, muito ajudantes. Eu vou chamar a atenção que há três outras coisas que também estão sendo erradas, como nós falamos sobre os primitivos como os recursos e ferramentas e esses são primitivos de server, também há primitivos de cliente e esses são raízes, sampling e solicitações. Então, por exemplo, se o seu cliente opera em um espaço de trabalho, como VS Code, onde você tem a sua base de código, o seu projeto aberto, Roots estabelece a fronteira para onde o server pode realmente olhar.
Para conseguir dados, então se eu for e dizer oh eu quero rearquitetar a base de código e o servidor mcp sabe que estou operando apenas no contexto desta linha, que é neste caso meu meu espaço de trabalho, minha base de código, meu sistema de arquivos, certo, um muito, muito legal e nós sabemos que o code apresenta o shameless blog vs code shout out um e isso é interessante porque eu nunca ouvi falar sobre isso antes, sim, realmente ninguém fez, é como se estivéssemos no developer mcp de san francisco e estávamos falando com você. Solomon Hikes, da Dagger, e ele foi e trouxe o conceito, e eu falei, eu adoraria usar Roots, e ele falou, sim, você é a primeira pessoa que me perguntou isso, então, não muitas pessoas sabem, mas é uma capacidade incrível que existe em servidores de MCP. E isso é basicamente quando o seu servidor, digamos que falamos sobre o servidor que atrapalha minhas aplicações e eu tenho um servidor de mcp que entra e diz antes de você atrapalhar algo eu quero saber qual é o específico framework que você quer usar e é aqui que o servidor basicamente envia ao cliente um mensagem que diz como você promove o usuário para me dizer o que é o framework que eles querem usar e o cliente pode fazer isso de muitas maneiras dependendo do que o servidor define pode ser um enum onde posso dizer que só quero permitir o view do Next.js ou algum outro framework, como Vyme.
Sinais de que está funcionando
Novamente, já está se iluminando em muitos dos clientes, mas são essas coisas que eu quero ter certeza que as pessoas também estão ciente disso sim, acho que essas últimas duas em particular ou muito interessante eu gosto eu recentemente aprendi sobre isso e como quando eu penso sobre a solicitação, certo, é quase como se fosse o serviço te perguntando como eu quero eu sou como um revés é como um revés de um inquérito eu suponho sim certo como você está me perguntando por algo e eu estou perguntando por clarificação sim certo e A clara é esquematizada, porque eu sei que o que o cliente vai dar de volta vai se encaixar com a minha esquema. Mas isso permite para essa entrada estruturada para fluir do cliente para o servidor e mas eu acho que você pode fazer uma coisa parecida com a sampling também porque a sampling é quase como se eu fosse voltar e te pedir para você dirigir essa coisa para mim certo em seu lm de escolha mas então eu assumo que vou querer isso de volta em um formato que eu espero processar não é sim há várias formas de falar sobre isso é claro, mas você está se dependendo de mais como input não determinista, se você quiser, você está dependendo do fato de que qualquer coisa que a alinhamento vai produzir, espero que se encaixe com o que eu quero, mas aqui eu digo que eu quero que você suba explicitamente esses dados e nada mais e isso o faz um pouco mais fácil e mais predictável, mas novamente, há várias formas de falar sobre isso com certeza. Entendido, uma coisa que eu queria ter certeza de que eu te perguntei sobre, então, na perspectiva de ferramentas, como eu, como eu update like my tool registrations like is there any type of like dynamic tool discovery mechanism like hey i have my i have the stripe mcp server hypothetically well we actually have one but hypothetically we're talking about this one and we push an update that adds a bunch more tools like how does the clients get notified by that like would that would one of these um things that you mentioned like elicitation for example or sampling be like hey eu vou enviar uma atualização para te dar que há mais coisas ou há mecanismos outros construídos na plataforma?
Sim, não é para isso, infelizmente, mas se você é um contribuinte ou alguém interessado em contribuir, esse é um bom ponto de início porque você verá muitas dessas conversas de acento acontecendo, pessoas discutindo suas propostas, pessoas falando sobre os buracos no protocolo que desejamos ser abordados e, claro, o repositório do GitHub que ligamos antes, que é o a fonte de verdade para tudo que está em jogo agora e novamente aberto a qualquer um nós somos muito abençoados por alunos, você pode olhar os problemas, você pode se envolver em conversas, você pode olhar os PRs de avaliação, como tudo isso é feito completamente no aberto, legal e então como você mencionou um dos um dos aprimoramentos que meio que passou por esse processo foi o oaf a autorização e as enhancements que foram adicionadas, certo? O server de recursos é basicamente seu server de API, é o server de MCP e o server de autorização é o server responsável por mintar tokens e nós não queremos que as pessoas vão e mintem seus próprios tokens, queremos que você use off the shelf Servers de autorização, se você está usando, seja o Okta ou Entra ou Auth0, Keycloak, não importa, mas use fornecedores de off-the-shelf. E ele descreve as superfícies de ataque, as mitigações e fala sobre como você, como alguém que construiu um server MCP pronto para produção, pode fazer essas aprendizagens e fazer isso e não repetir os erros que as pessoas fizeram no início, quando elas começaram a construir muitas dessas capacidades de server.
O que evitar na primeira semana
Eu sou o Dan, eu não trabalho com Stripe, eu não sou responsável pela API de Stripe, mas eu quero construir um server de mcp para Stripe, então eu vou usar OAuth e eu vou usar o login de Stripe para ir e construir isso e dizer que você pode se conectar com Stripe para ter acesso ao meu server, você não deveria estar fazendo isso porque novamente você não vai conseguir uma autorização ou acesso a um token ou Stripe para aquele server porque o Stripe em si vai autorizar para o Stripe API, então o padrão anti aqui deve sempre evitar é como esse passador de token você adquiriu um token para outros servidores como Stripe, Gmail, Salesforce e depois enviar para seu server e dizer vá fazer algo com o token Stripe isso é ruim ruim ruim há muitas coisas ruins que acontecerão do que não faça isso mas todo esse documento e as práticas de segurança porque há muitas coisas que você você deve realmente considerar se você está construindo um servidor MCP pronto para produção. Porque eu sei que muitos usuários usam chaves de API e coisas do tipo mas é apenas um chamada muito genérica que eu quero que você faça Ou você acha que eles deveriam realmente considerar construir sua história de OAuth em torno de OAuth? Mas o ator, a pessoa que essencialmente é a que se engaja com o server da MCP, que oferece credenciais para acessar que o servidor de mcp é o que é principalmente a parte responsável aqui então não precisa ser uma pessoa, por recorde, você pode ter um outro server falando com outro server, você pode usar clientes confidenciais, se você quiser, como nós chamamos, e usar credenciais clientes de algum tipo, e há, na verdade, uma proposta de encerramento de especificações para esforçar isso na spec para credenciais clientes, mas você pode usar esses também, então você pode ser um agente que opera no server da MCP, então não é sempre sobre o humano no loop, como se Existem definitivamente maneiras de estruturar isso para ter certeza que.
Então, para as pessoas, muito atrás, quando nós trabalhávamos no server Windows 2000 e 2002, coisas assim, nós só criávamos esses princípios de serviço, como esses usuários que representam a sua aplicação ou a identidade da sua aplicação, e você aplica o Active Directory ou LLAP para aquele usuário e o dê acesso ou o negue acesso a certas recursos, certo? Você sabe, só se envolva onde é um dos lugares que você vai ser você sabe como podemos continuar essa conversa e continuar a história enquanto vamos aprender mais e totalmente que continua evoluindo eu adoro isso minha pergunta favorita desse todo o show então eu acho que para o protocolo de contexto modelo seu ponto de partida sempre deveria ser o protocolo de contexto modelo.io este é o website oficial para todas as coisas mcp Você pode ter a nossa documentação, os guia de comunidade, você pode descobrir o nosso Discord, você pode ter o nosso blog, tudo está lá, certo? Todos são bem-vindos contribuem nos ajudem qualquer contribuição conta como se fosse pequeno se você quiser fixar um tipo em uma documentação ótimo como nós adoramos a contribuição também se você quiser ir e criar um novo propósito de especificação ótimo faça isso também todos os contribuintes são bem-vindos todos os contribuintes são bem-vindos oh ótimo bem pessoal, muito obrigado por nos assistir, um, nós apenas aprendemos tudo sobre o protocolo de contexto de modelo de mcp de então Espero que a gente possa voltar a falar mais em breve e poder dar uma olhada em mais coisas, talvez ver algumas demos, talvez até ver como a parte de entrada de ID funciona com o MCP.
Na prática
Próximo passo para «stripe-mcp-office-hours-microsoft»: rode um experimento de 7 dias com uma métrica ligada a stripe mcp model context protocol antes de escalar o padrão.