MCP

Workshop

Conversando com sua
API em Laravel
direto do prompt

Vinícius Campitelli

Sobre

Sobre

Vinícius Campitelli
Vinícius
Campitelli
  • Bacharel em Ciência da Computação pela UFSCar
  • Desenvolvedor há 20 anos
  • Membro do PHPSP
  • Entusiasta em cibersegurança
  • Consultor de TI e instrutor de treinamentos

Slides

O que é MCP?

O que é MCP?

Model Context Protocol é um protocolo projetado para fornecer uma maneira estruturada para LLMs interagirem com serviços externos, permitindo acessar e executar tarefas

Model Context Protocol

O que é MCP?

Diagrama Model Context Protocol

Arquitetura

Arquitetura

Arquitetura Auth0: An Introduction to MCP and Authorization

Arquitetura

Servidor MCP

São programas que expõe as funcionalidades para IAs através do protocolo MCP

Cada servidor expõe endpoints via HTTP, stdio e outros transportes para que os clientes possam fazer chamadas para interagir com os modelos

Exemplos: servidores de sistemas de arquivos para acesso a documentos, servidores de banco de dados para executar queries, servidor com integração ao Slack

Arquitetura

Cliente MCP

Um cliente é uma aplicação que se conecta e interage com um servidor MCP através dos protocolos de transporte

Understanding MCP clients

Arquitetura

Host MCP

Um agente que coordena os clientes MCP e integra com os modelos de LLM

Exemplos: Claude Desktop, sua IDE de desenvolvimento ou alguma ferramenta via CLI

Example clients

Componentes

Componentes

Prompts

Um prompt pronto que pode ser facilmente acessado e executado pelos usuários, podendo ser configurado via parâmetros

Exemplo: “Qual a temperatura atual em <cidade>?” com o argumento cidade

Prompts

Componentes

Tools

Uma função disponibilizada pelo servidor MCP para auxiliar na interação com os modelos, como se fosse um endpoint em uma API

Exemplos: buscar temperatura; enviar mensagem no Slack; listar produtos; enviar email

Tools

Componentes

Resources

Conjuntos de dados e informações que podem ser compartilhadas para dar contexto às LLMs

Exemplos: schemas do banco de dados, guidelines do sistema

Resources

Demo

Demo

  1. Em sua aplicação Laravel, instale o pacote laravel/mcp:
    
                                        $ composer require laravel/mcp
                                    
  2. Crie o servidor e seus componentes com os comandos:
    
                                        $ php artisan make:mcp-server
                                        $ php artisan make:mcp-tool
                                        $ php artisan make:mcp-prompt
                                        $ php artisan make:mcp-resource
                                    
  3. Teste seu servidor com o Inspector:
    
                                        $ npx @modelcontextprotocol/inspector localhost:8000
                                    

Demo

  1. Configure seu agente de IA e adicione o servidor MCP criado
    1. Exemplo com Claude:
      
                                                  $ claude mcp add \
                                                      --transport http \
                                                      orders \
                                                      http://localhost:8000/mcp/orders
                                              

Demo

  1. Configure seu agente de IA e adicione o servidor MCP criado
    1. Exemplo com Ollama e fast-agent:
                                                  fastagent.config.yaml
                                                  
                                                      default_model: "generic.llama3.1:8b-instruct-q8_0"
                                                      generic:
                                                        api_key: "ollama"
                                                        base_url: "http://localhost:11434/v1"
                                                      mcp:
                                                        servers:
                                                          orders:
                                                            transport: "http"
                                                            url: "http://localhost:8000/mcp/orders"
                                                  
                                              
      
                                                  $ fast-agent go --servers orders
                                              

Demo

  1. Configure seu agente de IA e adicione o servidor MCP criado
    1. Exemplo com Ollama e mcphost:
                                                  .mcphost.yml
                                                  
                                                      model: "ollama:llama3.2:3b-instruct-q8_0"
                                                      mcpServers:
                                                        orders:
                                                          type: "remote"
                                                          url: "http://localhost:8000/mcp/orders"
                                                  
                                              
      
                                                  $ mcphost --config .mcphost.yml
                                              

Referências

Referências

Treinamentos in company

Workshops
Gostou? Então conheça meus treinamentos corporativos e sob demanda sobre Desenvolvimento, Segurança da Informação, DevOps, Arquitetura de Sistemas e diversos outros assuntos em viniciuscampitelli.com

Obrigado!