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
🌐 Guia Completo sobre Model Context Protocol (MCP)
📑 Índice
- O que é o Model Context Protocol (MCP)?
- Por que o MCP é importante?
- Arquitetura básica do MCP
- Componentes principais do MCP
- Criando sua primeira aplicação MCP
- Implantando um servidor MCP na Vercel
- Casos de uso avançados
- Melhores práticas
- Recursos adicionais
- Conclusão
🔍 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:
- Servidores MCP: Expõem dados e funcionalidades (como APIs, bancos de dados, sistemas internos)
- Clientes MCP: Aplicações de IA que consomem esses recursos (Claude, ChatGPT e outros)
🧩 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
- Clonando o template:
npx degit vercel-labs/mcp-on-vercel meu-servidor-mcp
cd meu-servidor-mcp
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
Personalizando o servidor:
- Edite
api/server.tspara adicionar suas ferramentas, prompts e recursos - Siga a documentação do SDK TypeScript do MCP
- Edite
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:
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
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
- O arquivo principal é
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.jsonpara aumentar o tempo máximo de duração para 800 segundos
Testar localmente antes do deploy:
- Use o script de cliente de teste incluído no template:
node scripts/test-client.mjs http://localhost:3000Fazer 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
- Documentação oficial do MCP
- Repositório GitHub de servidores MCP
- SDK TypeScript do MCP
- Template MCP da Vercel
🔮 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.
0
Followers
0
Repositories
0
Gists
0
Total Contributions
🤩 Easy-to-use global IM bot platform designed for the LLM era / 简单易用的大模型即时通信机器人开发平台 ⚡️ Bots for QQ / QQ频道 / Discord / WeChat(微信)/ Telegram / 飞书 / 钉钉 / Slack 🧩 Integrated with ChatGPT(GPT)、DeepSeek、Dify、n8n、Claude、Google Gemini、xAI、PPIO、Ollama、阿里云百炼、SiliconFlow、Qwen、Moonshot(Kimi K2)、SillyTraven、MCP、WeClone etc. LLM & Agent & RAG