Bridge APIs↔LLMs: MCP e tools Stripe | guia prático
Trabalho de bridar APIs e LLMs: como MCP e tools bem descritas conectam Stripe (e outras APIs) a agentes sem virar prompt solto na prática
Resposta direta
O valor está na ponte tipada entre API e agente — não no chat genérico sobre a documentação. Meio que análogos aos endpoints de API, mas não exatamente, há um pouco de nuance, mas as ferramentas são as capacidades que você vai publicar para o LLM para dizer que você pode fazer essas coisas e baseado em prompções de usuários e sua decisão e linha de pensamento, ele vai dizer que eu preciso.
O problema: API existe, agente não opera
Basicamente qualquer coisa que seja um serviço de rede, seja local ou por meio do internet, pode ser packado como um server MCP então isso pode ser um server que fica em frente a um API, ou fica em frente a um database ou mesmo seu IOT britânico pode ser retaçado como um server MCP que o LLM pode interagir com e. Meio que análogos aos endpoints de API, mas não exatamente, há um pouco de nuance, mas as ferramentas são as capacidades que você vai publicar para o LLM para dizer que você pode fazer essas coisas e baseado em prompções de usuários e sua decisão e linha de pensamento, ele vai dizer que eu preciso chamar essas ferramentas para obter mais contexto do mundo real e isso vai conduzir a sua interação com o modelo de língua. Há mais para o MCP, há coisas chamadas de recursos, prompções, sampling e solicitação É realmente um protocolo que está crescendo muito rapidamente para ajudar as pessoas a construir soluções de AI agentes. Mas também, como o mais comum que vocês estão vendo recentemente, espero que em mídias sociais, é como integrar em apps de contato ou em seu editor de código para fazer algumas coisas interessantes.
Por exemplo, eu uso o server do Postgres MCP para me dizer se minhas queries são eficientes ou se preciso de índices para adicionar à minha migração de database. É um padrão de facto, então há um tempo que estava totalmente associado com Anthropic, mas eles disseram que era um protocolo aberto, eles queriam participação e, de forma incrível, e isso é realmente ótimo, OpenAI, Google, Microsoft, praticamente todo o framework como a LanChain e Vercel AI SDK, eles todos se juntaram a isso e agora é um padrão de facto, então é realmente. O que observamos quando construímos o serviço de MCP para nossos clientes? Pode ser uma ótima maneira de pegar aquele documento e gerar um servidor de MCP que sabe como chamar seus vários endpoints de API.
Se você tinha um SDK TypeScript com Speakeasy, você também tinha um server de MCP que seus clientes podem instalar em suas aplicações favoritas. Trabalhando com inputs imprecisos do usuário ou inputs imprecisos de uma chamada API e apenas misturando coisas e trabalhando como trocar coisas. Desenvolvedores de soluções para construir coisas com o server mcp que estão apenas se conectando à sua api sob o chão, desculpe, mas não foi uma corrida suave, você começa a aprender coisas quando você transforma apis em ferramentas, por exemplo, se você é dado um documento de apis abertos que tem centenas de centenas de endpoints e você transforma cada um deles em ferramentas e depois Tente colocar isso em seu LLM favorito. Cliente de mcp, provavelmente vai trazer isso para seus meios, provavelmente vai sair do contexto e não poder enviar nenhum prompção, como se fosse um erro de mensagem muito longo, é o que você veria, então o que começamos a aprender também é como e quando você tem tantos, o LLM pode ficar confuso, você pode ter três ou quatro endpoints que são, tipo, semelhantes a um outro e de propósito, então pode chamar o errado para um determinado prompt e isso é chamado de confusão de ferramentas.
MCP/tools como contrato da ponte
Então, o que você começa a querer fazer é subestimar sua API para funcionalidades, tanto pela ressource, por exemplo, cargas em Stripe, ou por processos de negócios, como se você quisesse fazer algo que se cruza em várias endpoints de API, mas coesivamente. A razão sendo que, se você quiser procurar algo e é de páginas profundas, todas essas páginas vão entrar no seu botão de contexto e é um uso ineficiente de contexto. Então você provavelmente quer considerar adicionar endpoints de busca ou algum tipo de ragin, algo daquela natureza, para facilitar a LLM para obter informações do seu sistema. Isso está mudando, ainda é um pouco assim, mas pelo menos agora temos o corpo do MCP que decidiu como hostar os servidores do MCP e colocar na spec e nós adotamos isso e é ótimo.
A outra aprendizagem é que se você zoomar em um nível de ferramentas individual, você realmente quer gastar algum esforço descrevendo a ferramenta efetivamente para que o modelo de língua saiba o que esta ferramenta tem de propósito, o que esse ferramenta serve, qual contexto vai sair disso. Se você tentar mapear as descrições que você usou na sua API tradicionalmente, como uma API aberta ou se você tem comentários de código e coisas assim, às vezes isso foi focado em contextos muito. Se você está usando para dirigir seu site de documentação, você geralmente investe nisso, mas às vezes é muito verboso e não é eficiente de contexto. Então, aprendemos muito rapidamente que as pessoas precisam de uma maneira de iterar sobre esses servidores de MCP que estão enfrentando suas APIs.
It's a platform for working with your API to design and build MCP servers that are fit for purpose. A API do Stripe é substancial, é um documento de 5-6 MB, tem mais de 600 endpoints. Vou dar isso ao Graham, ele vai chamar a API Stripe e em algo como 10-20 segundos vai gerar alguma coisa para nós, veremos isso em breve. O que está fazendo aqui é pausar o documento OpenAPI, mapeando todos os parâmetros e esquemas JSON para cada operação.
Leitura útil
O valor está na ponte tipada entre API e agente — não no chat genérico sobre a documentação. Use o trecho acima como restrição, não como citação ornamental.
Stripe como exemplo de domínio sensível
E você pode ver aqui que nós geramos um monte de ferramentas do Stripes API, mais de 600 agora. E aí você tem, agora temos um server MCP em menos de um minuto para API Stripe. Isso era principalmente para dar a usuários uma experiência de essa jornada de ir de um API para um set de ferramentas com serviços de MCP. Então agora eu tenho um set de ferramentas com seis ferramentas e como eu disse, é instantaneamente um server MCP, você tem instruções instantâneas que você pode usar para instalar o server em seu favorito framework agente ou aplicativo de desktop ou editor de código.
E então a próxima coisa que você pode querer fazer em sua jornada de curação é olhar para esses nomes de ferramentas e descrições que geramos ou que criamos da API aberta. E como eu disse, você quer investir nisso porque, quero dizer, isso é como um engenheiro de contexto ou exercício de engenharia de prompt e seu objetivo é maximizar o quanto bem o LLM vai encontrar o o direito de. É meio que implica com a API Stripe que, tipo, quantidades monetárias estão em centavos, você pode provavelmente adicionar algo aqui que chamaremos de LLM, meio que entender isso quando vai submeter uma carga, Então, vamos fazer isso. Ou você vai usar um framework ou um run para descobrir como você vai resolver um problema com esse toolset.
Então, neste exemplo, temos um projeto de ambiente que usamos no Speakeasy, que é comprimido pela API Stripe, API Admin do Speakeasy, nosso CRM HubSpot aqui. Um vai ser, tipo, olhar para o CRM porque queremos alguns detalhes sobre um cliente, como sua ID no nosso sistema, e depois usar essa ID para receber os usuários e o SpeakEasy para aquele acessório de clientes. E depois, desde aí, receber sua ID de Stripe, e desde aí, receber suas cargas e refunds e me dar uma sensação do saúde do acessório com respeito à Stripe. Esse tipo de conceito de ambientes, então se você está familiarizado com colocar segredos em seu ambiente de CI do GitHub que todos os seus trabalhos podem usar, os ambientes são um conceito similar você meio que cumpre os detalhes para todas essas APIs downstream e agora o server MCP só precisa da chave do Gram que enfrenta esses segredos, então como eu disse, uma vez que tudo isso está cumprido podemos fazer uma pequena jogada em nosso playground apenas para verificar que tudo está funcionando então tenho desculpa, o GTM é o set de ferramentas que eu quero fazer e tenho os credenciais para o ambiente de estragos, vou escolher o meu modelo favorito e vou fazer me diga sobre um acordo de venda de um ponto de venda, então esse é um dos nossos amigos e clientes Legal, então, dessa seta de ferramentas, como esse aqui tinha sete ferramentas, eu deveria ter mostrado essas primeiras, mas por exemplo, temos os clientes de busca de estripe, lista de pagamentos e cargas, temos uma ferramenta que vai ativar o API de admin do SpeakEasy e uma ferramenta que vai buscar os negócios no HubSpot.
Erros de schema que quebram o agente
E porque é uma ferramenta tão larga, um servidor de MCP, o LLM vai ter um bom tempo trabalhando com isso. Com os modelos de arte atualizados é um bom ponto de saída para ferramentas de ferramentas de ferramentas ou serviços de MCP. Então sim, é identificado que precisa chamar um ferramenta, ele vai fazer isso em nosso playground e vai me contar sobre o acount. Isso te dá a capacidade de fazer um pouco de engenharia de prompt, basicamente, e mapear um plano que vai ser apresentado como outra ferramenta.
O primeiro passo é olhar para o CRM daquela organização, pegar a ID do SpeakEasy para aquela organização, e então pegar os usuários usando a API do SpeakEasy naquela organização, e então fazer uma sequência de chamadas de ferramentas. E com essa id, isso é cargos e refusos, então podemos ver isso rapidamente na parte direita aqui novamente no playground, e então é isso que eu quero dizer, como é uma ferramenta, mas é uma ferramenta que expõe um imposto e que o LLM interpreta esse imposto como como se eu tivesse que fazer mais trabalho para alcançar meu fim de propósito O que aprendemos a partir de algumas pesquisas que foram publicadas é que os prontos estruturados são um conceito muito poderoso, então coisas como você começar a ver como tags XML, e às vezes o Markdown é só bom o suficiente como um formato estruturado. E o que eu realmente adoro, incluindo a API Stripe, nesta demo, é que a Stripe é provavelmente a melhor documentação de API, um padrão de aluguel. Eu não precisava contar ao LLM como fazer a pesquisa de pesquisa para Stripe, ele sabe que existe uma linguagem de pesquisa mini e ele pode fazer isso a priori do seu set de treinamentos.
Isso é diferente de você como integrador trocar essas chamas para resolver o problema, porque você tem que trocar por documentação e o que não para descobrir a maneira certa de fazer isso programaticamente. Mas como você pode ver, ele passou pela sequência de chamas de ferramentas, ele tem todos os contextos necessários e ele resumiu este tipo de clareamento para nós. E todos expostos como um server mcp, então vamos mudar, quero dizer, sim, esse é o primeiro tipo de demo do gram, estamos trabalhando nisso nos últimos três meses, há muito mais a fazer, postar o celular é um grande componente que é como se você não quisesse sortear em nosso dpa ou você não quiser o tráfego para escapar para nossos sistemas, vamos dar um componente de postagem de celular Nós também estamos contemplando abrir um software de open source para trabalhar com a comunidade. E então nós vamos trabalhar com o OAuth, porque esse é um componente chave para esse registro de MCP eventual que está sendo trabalhado.
Como validar a ponte antes de produção
Sim, então meus trabalhos são sobre bridar a gama entre APIs e LLMs. Um pouco sobre mim, eu sou o George, sou um engenheiro de software trabalhando no Speakeasy. Nossa oferta atual é que transformemos seu API em SDKs em várias línguas. Você só precisa nos dar um documento de API.
Nós poweramos SDKs para pessoas como Vassell, Mistral, Clerk, alguns nomes que você pode ter ouvido. Em fevereiro deste ano, começamos a gerar serviços de MCP para nossos clientes. Nós acessamos essa camada há três meses depois que o MCP saiu. E é aqui que o rabo começa para nós e este falso.
Então, vou dar uma pequena primária para quem não ouviu sobre o MCP. Ele se chama de Protocolo de Contexto de Modelo. E é uma maneira de conectar modelos de linguagem para o mundo real, para receber informação do mundo real ou para realizar uma ação. Basicamente qualquer coisa que seja um serviço de rede, seja local ou por meio do internet, pode ser packado como um server MCP então isso pode ser um server que fica em frente a um API, ou fica em frente a um database ou mesmo seu IOT britânico pode ser retaçado como um server MCP que o LLM pode interagir com e.
Próximo passo
Escolha uma métrica (tempo, retries, conversão ou qualidade aceita) e rode 7 dias antes de escalar o padrão.