GuiaMCP-BR

GuiaMCP-BR is a project that provides guidelines on specific APIs and communication methods, primarily designed for the Brazilian market. It aims to support developers in efficiently utilizing APIs. The documentation is concise and includes practical examples, but it lacks depth in content.

GitHub Stars

0

User Rating

Not Rated

Favorites

0

Views

25

Forks

0

Issues

0

README
🌐 Guia Completo sobre Model Context Protocol (MCP)
📑 Índice

🔍 O que é o Model Context Protocol (MCP)?

O Model Context Protocol (MCP) é um padrão aberto desenvolvido pela Anthropic que permite criar conexões seguras e bidirecionais entre modelos de IA e diversas fontes de dados. Funciona como uma "porta USB-C" para aplicações de IA, permitindo conectar modelos a diferentes fontes de dados e ferramentas de maneira padronizada.


⚡ Por que o MCP é importante?

Mesmo os modelos de linguagem mais avançados são limitados pelo contexto que recebem. O MCP resolve este problema ao:

Benefício Descrição
Eliminar silos de informação Conecta sistemas de IA diretamente às fontes de dados
Padronizar integrações Substitui conectores personalizados por um protocolo universal
Aumentar a segurança Cria conexões controladas entre modelos de IA e dados sensíveis
Melhorar a precisão Proporciona acesso a dados atualizados e relevantes

🏗️ Arquitetura básica do MCP

O MCP segue uma arquitetura cliente-servidor:

  1. Servidores MCP: Expõem dados e funcionalidades (como APIs, bancos de dados, sistemas internos)
  2. Clientes MCP: Aplicações de IA que consomem esses recursos (Claude, ChatGPT e outros)

Arquitetura MCP


🧩 Componentes principais do MCP

O MCP oferece três tipos fundamentais de capacidades:

  • 📁 Recursos (Resources): Dados semelhantes a arquivos que podem ser lidos pelos clientes
  • 🛠️ Ferramentas (Tools): Funções que podem ser chamadas pelo modelo de IA (com aprovação do usuário)
  • 📝 Prompts: Templates pré-escritos que auxiliam os usuários a realizar tarefas específicas

🚀 Criando sua primeira aplicação MCP

Vamos criar um aplicativo MCP simples que permite a um modelo de IA acessar dados do clima e compartilhar esses dados com o usuário.

Pré-requisitos
  • Node.js instalado
  • Conhecimento básico de JavaScript/TypeScript
  • Conta no Vercel (opcional, para implantação)
Passo 1: Configurar o projeto
# Criar novo diretório para o projeto
mkdir meu-app-mcp
cd meu-app-mcp

# Inicializar projeto Node.js
npm init -y

# Instalar dependências
npm install @anthropic-ai/mcp-kit @anthropic-ai/mcp-nodejs
Passo 2: Criar o servidor MCP

Crie um arquivo chamado servidor-mcp.js com o seguinte conteúdo:

const { createStdioServer } = require('@anthropic-ai/mcp-nodejs');
const { defineResource, defineTool } = require('@anthropic-ai/mcp-kit');

// Definindo uma ferramenta para obter informações sobre o clima
const getClima = defineTool({
  name: 'obter_clima',
  description: 'Obtém informações sobre o clima de uma cidade',
  parameters: {
    type: 'object',
    properties: {
      cidade: {
        type: 'string',
        description: 'Nome da cidade para obter informações sobre o clima'
      }
    },
    required: ['cidade']
  },
  handler: async ({ cidade }) => {
    // Em um caso real, faríamos uma chamada API para um serviço de clima
    // Aqui usamos dados simulados para demonstração
    const temperaturas = {
      'São Paulo': '23°C',
      'Rio de Janeiro': '30°C',
      'Brasília': '26°C',
      'Recife': '32°C',
      'Porto Alegre': '18°C'
    };
    
    const temperatura = temperaturas[cidade] || 'Dados não disponíveis';
    
    return {
      temperatura,
      previsao: 'Ensolarado com nuvens ocasionais',
      data: new Date().toLocaleDateString('pt-BR')
    };
  }
});

// Definindo um recurso estático com informações sobre o MCP
const sobMcp = defineResource({
  name: 'sobre_mcp',
  description: 'Informações sobre o Model Context Protocol',
  get: async () => {
    return `
      O Model Context Protocol (MCP) é um padrão aberto que permite conectar modelos de IA
      a diferentes fontes de dados e ferramentas de maneira segura e padronizada.
      Desenvolvido pela Anthropic, ele resolve o problema de silos de informação em sistemas de IA.
    `;
  }
});

// Criar e iniciar o servidor MCP
const server = createStdioServer({
  tools: [getClima],
  resources: [sobMcp],
});

server.start();
Passo 3: Criar um cliente de teste

Para testar nosso servidor, vamos criar um cliente simples. Crie um arquivo chamado cliente-teste.js:

const { MCPClient } = require('@anthropic-ai/mcp-kit');

async function testarMCP() {
  // Conectar ao servidor MCP (assumindo que está rodando como um processo separado)
  const client = new MCPClient({
    transport: { type: 'subprocess', command: 'node servidor-mcp.js' }
  });

  try {
    // Listar ferramentas e recursos disponíveis
    const capacidades = await client.getCapabilities();
    console.log('Capacidades disponíveis:', JSON.stringify(capacidades, null, 2));

    // Chamar a ferramenta de clima
    const resultadoClima = await client.invokeTool('obter_clima', {
      cidade: 'São Paulo'
    });
    console.log('Resultado do clima:', resultadoClima);

    // Acessar o recurso estático
    const infoMCP = await client.getResource('sobre_mcp');
    console.log('Informações sobre MCP:', infoMCP);

  } catch (erro) {
    console.error('Erro ao testar MCP:', erro);
  } finally {
    await client.close();
  }
}

testarMCP();
Passo 4: Executar o aplicativo
node cliente-teste.js

💡 Dica: Para verificar se seu servidor MCP está funcionando corretamente, verifique o console para ver as capacidades disponíveis e as respostas das chamadas.


🚢 Implantando um servidor MCP na Vercel

A Vercel oferece um template pronto para implantar servidores MCP, facilitando a criação de aplicações baseadas em IA.

Requisitos
  • Conta na Vercel
  • Vercel CLI instalado
Processo de implantação
  1. Clonando o template:
npx degit vercel-labs/mcp-on-vercel meu-servidor-mcp
cd meu-servidor-mcp
  1. Configurando o Redis:

    • Crie uma instância do Upstash Redis na Vercel
    • Associe-a ao seu projeto com a variável de ambiente REDIS_URL
  2. Personalizando o servidor:

    • Edite api/server.ts para adicionar suas ferramentas, prompts e recursos
    • Siga a documentação do SDK TypeScript do MCP
  3. Implantando:

vercel deploy
O que fazer após escolher o template

O template da Vercel "Model Context Protocol (MCP) with Vercel Functions" é um projeto pré-configurado que facilita a criação de servidores MCP. Depois de clonar este template, você precisa:

Etapas pós-template:
  1. Configurar o Redis:

    • O template requer obrigatoriamente um banco de dados Redis
    • Recomenda-se usar o Upstash Redis, que é facilmente integrável à Vercel
    • Na interface da Vercel, vá em "Storage" e adicione uma instância Upstash Redis
    • Vincule esta instância ao seu projeto para gerar automaticamente a variável REDIS_URL
  2. Personalizar o arquivo de servidor:

    • O arquivo principal é api/server.ts
    • Adicione suas próprias ferramentas com defineTool()
    • Configure recursos personalizados com defineResource()
    • Crie prompts específicos para seu caso de uso
  3. Habilitar recursos especiais na Vercel:

    • Ative o "Fluid Compute" nas configurações do projeto para execução eficiente
    • Para contas Vercel Pro ou Enterprise: edite o arquivo vercel.json para aumentar o tempo máximo de duração para 800 segundos
  4. Testar localmente antes do deploy:

    • Use o script de cliente de teste incluído no template:
    node scripts/test-client.mjs http://localhost:3000
    
  5. Fazer o deploy final:

    • Após confirmar que tudo funciona localmente:
    vercel deploy
    

O template já inclui toda a estrutura necessária, incluindo gerenciamento de sessões via Redis e configuração básica. Seu foco deve ser adicionar as funcionalidades específicas que seu servidor MCP oferecerá.


🔮 Casos de uso avançados
1. Integração com bancos de dados
const consultarBancoDados = defineTool({
  name: 'consultar_db',
  description: 'Consulta informações no banco de dados',
  parameters: {
    type: 'object',
    properties: {
      tabela: { type: 'string' },
      filtro: { type: 'object' }
    },
    required: ['tabela']
  },
  handler: async ({ tabela, filtro }) => {
    // Lógica para consultar o banco de dados
    // Retorna os resultados
  }
});
2. Processamento de documentos
const analisarDocumento = defineTool({
  name: 'analisar_documento',
  description: 'Analisa um documento e extrai informações-chave',
  parameters: {
    type: 'object',
    properties: {
      url: { type: 'string' },
      tipo: { type: 'string', enum: ['pdf', 'docx', 'txt'] }
    },
    required: ['url']
  },
  handler: async ({ url, tipo }) => {
    // Lógica para baixar e processar o documento
    // Retorna informações estruturadas
  }
});
3. Interfaces multimodais
const gerarImagem = defineTool({
  name: 'gerar_imagem',
  description: 'Gera uma imagem com base em uma descrição',
  parameters: {
    type: 'object',
    properties: {
      descricao: { type: 'string' },
      estilo: { type: 'string', default: 'realista' }
    },
    required: ['descricao']
  },
  handler: async ({ descricao, estilo }) => {
    // Lógica para gerar imagem usando um serviço como DALL-E ou Midjourney
    // Retorna URL da imagem
  }
});

🔒 Melhores práticas
Prática Descrição
Segurança primeiro Implemente autenticação e autorização adequadas
Design cuidadoso de APIs As ferramentas devem ter parâmetros claros e retornos bem definidos
Documentação completa Descreva detalhadamente suas ferramentas e recursos
Tratamento de erros Forneça mensagens de erro informativas e significativas
Testes abrangentes Teste extensivamente todas as ferramentas e recursos

📚 Recursos adicionais

🔮 Conclusão

O Model Context Protocol (MCP) representa um passo importante para conectar sistemas de IA com o mundo real de maneira padronizada e segura. Ao criar aplicativos com MCP, você está participando de um ecossistema em rápido crescimento que promete transformar como interagimos com tecnologias de IA.

À medida que mais empresas e desenvolvedores adotam este padrão, podemos esperar uma proliferação de servidores MCP especializados que expandirão significativamente as capacidades dos assistentes de IA, tornando-os mais úteis e relevantes para tarefas do mundo real.


Este guia foi criado para ajudar desenvolvedores brasileiros a entenderem e começarem a trabalhar com o Model Context Protocol (MCP). O protocolo está em constante evolução, portanto, sempre consulte a documentação oficial para obter as informações mais atualizadas.