Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Como Construir um Servidor MCP Auto-Hospedado de Código Aberto

@apidog

@apidog

Updated on abril 2, 2025

Olá, desenvolvedores! Já sonharam em ter seu próprio centro de comando de IA, um lugar onde você pode orquestrar interações entre diferentes modelos de IA e seus aplicativos, tudo isso enquanto mantém seus dados seguros e sob seu controle? Bem, preparem-se porque neste artigo, vamos mergulhar na construção do seu próprio servidor MCP auto-hospedado usando o guMCPProtocolo de Contexto de Modelo Unificado do Gumloop.

O que exatamente é o MCP, você pergunta? Pense nisso como uma linguagem universal para a IA. É uma maneira padronizada para diferentes modelos de IA e aplicativos se comunicarem e compartilharem informações. Isso significa que você pode construir fluxos de trabalho complexos onde diferentes modelos de IA lidam com diferentes partes de uma tarefa, todos trabalhando juntos de forma perfeita. E o guMCP torna a construção do seu próprio servidor MCP incrivelmente acessível.

💡
Antes de começarmos, aqui vai uma dica rápida: obtenha Apidog gratuitamente! É uma ferramenta poderosa para desenvolvedores para simplificar o MCP, testar modelos de IA (especialmente LLMs) e agilizar os testes de API. Experimente hoje Gratuitamente!
button

Eu sei, pode parecer um pouco assustador no começo, mas confie em mim, é mais fácil do que você pensa. Vamos dividir isso em passos gerenciáveis, então mesmo que você não seja um guru de DevOps experiente, poderá acompanhar. Vamos começar!

O que é o Protocolo de Contexto de Modelo Unificado do Gumloop (guMCP)?

guMCP é uma implementação de código aberto do Protocolo de Contexto de Modelo projetada para facilitar a construção e o funcionamento dos seus próprios servidores MCP auto-hospedados. Ele fornece uma estrutura flexível para conectar modelos de IA e aplicativos, permitindo que você crie fluxos de trabalho poderosos impulsionados por IA.

imagem de exibição do gumcp

Por que se auto-hospedar? O auto-hospedagem oferece controle total sobre seus dados e infraestrutura, tornando ideal para aplicativos sensíveis à privacidade ou situações em que você precisa personalizar o servidor MCP para atender a requisitos específicos. Além disso, é uma oportunidade fantástica de aprendizado!

Por que construir seu próprio servidor MCP?

Ok, você pode estar se perguntando: "Por que devo me preocupar em construir meu próprio servidor MCP? Não existem soluções baseadas em nuvem que fazem a mesma coisa?" Essa é uma pergunta válida! Aqui está o porquê do auto-hospedagem poder ser um divisor de águas:

  1. Privacidade de Dados e Segurança: Isso é importante. Quando você se auto-hospeda, seus dados permanecem em seus servidores. Você não depende de um terceiro para proteger suas informações sensíveis, o que é crucial para projetos que lidam com dados pessoais, informações financeiras ou algoritmos proprietários.
  2. Custos e Controle: Soluções baseadas em nuvem frequentemente trazem limitações. O auto-hospedagem permite que você adapte o servidor MCP às suas necessidades exatas. Você pode adicionar recursos personalizados, integrar com APIs específicas e ajustar o desempenho para otimizar seus fluxos de trabalho específicos.
  3. Custos Efetivos: Dependendo dos seus padrões de uso, o auto-hospedagem pode ser mais econômico do que depender de um provedor de nuvem, especialmente se você já possui infraestrutura e experiência existentes.
  4. Aprendizado e Experimentação: Construir seu próprio servidor MCP é uma ótima maneira de aprender sobre infraestrutura de IA, redes e administração de servidores. É uma excelente oportunidade para expandir suas habilidades e obter uma compreensão mais profunda de como esses sistemas funcionam.

Pré-requisitos para guMCP

Antes de começarmos o processo de instalação, vamos garantir que você tenha tudo o que precisa. Não se preocupe, não é uma lista longa!

  • Python 3.11: Este projeto requer Python 3.11 ou superior. Você pode baixar a versão mais recente no site oficial do Python.
baixar python
  • Git: O Git é usado para clonar o repositório. Se você não tiver o Git instalado, você pode baixá-lo no site oficial do Git.
baixar git
  • Para usuários do Windows: Recomenda-se um shell compatível com bash. Isso pode ser o Git Bash (incluído com o Git para Windows) ou o Windows Subsystem for Linux (WSL). Isso facilitará seguir os comandos deste tutorial.

Guia de Instalação do guMCP

Ok, vamos colocar a mão na massa! Siga estes passos cuidadosamente, e você terá seu servidor guMCP funcionando em pouco tempo.

Passo 1: Clone o repositório guMCP

Primeiro, precisamos colocar o código do guMCP na sua máquina. Abra seu terminal (ou Git Bash, se você estiver no Windows) e execute o seguinte comando:

git clone https://github.com/gumloop/guMCP.git
cd guMCP

Isso fará o download do repositório guMCP do GitHub e mudará seu diretório atual para a pasta guMCP.

git clone arquivos do projeto gumcp

Passo 2: Configure um Ambiente Virtual para o guMCP

Um ambiente virtual é como uma caixa de areia para o seu projeto Python. Ele isola as dependências do projeto da instalação do Python do seu sistema, evitando conflitos e garantindo que seu projeto funcione corretamente. Isso é uma boa prática para o desenvolvimento em Python.

Para criar um ambiente virtual, execute os seguintes comandos:

python -m venv venv

Este comando cria um novo ambiente virtual em uma pasta chamada venv. Agora, você precisa ativar o ambiente virtual. O comando de ativação depende do seu sistema operacional:

No Unix/macOS:

source venv/bin/activate

No Windows (Prompt de Comando):

venv\Scripts\activate

No Windows (PowerShell):

.\venv\Scripts\Activate.ps1

No Windows (Git Bash):

source venv/Scripts/activate

Você saberá que seu ambiente virtual está ativo quando vir (venv) no início do seu prompt de comando. Isso indica que você está trabalhando dentro do ambiente isolado.

verificar configuração do ambiente virtual

Passo 3: Instale as Dependências do guMCP

Agora que seu ambiente virtual está ativo, você pode instalar as dependências do projeto. Essas são as bibliotecas e pacotes dos quais o guMCP depende para funcionar corretamente.

Execute o seguinte comando para instalar as dependências principais:

pip install -r requirements.txt

Este comando usa o pip (o instalador de pacotes do Python) para ler o arquivo requirements.txt e instalar todos os pacotes listados.

Se você planeja contribuir para o projeto guMCP (o que é incrível!), você também vai querer instalar as dependências de desenvolvimento:

pip install -r requirements-dev.txt

Essas dependências são usadas para testes, linting e outras tarefas relacionadas ao desenvolvimento.

Passo 4: Configure Variáveis de Ambiente para guMCP

As variáveis de ambiente são usadas para armazenar configurações que seu aplicativo precisa acessar, como chaves de API, credenciais de banco de dados e outras informações sensíveis. Isso mantém seu código limpo e evita a codificação de segredos diretamente no seu aplicativo.

guMCP usa um arquivo .env para gerenciar variáveis de ambiente. Para criar um arquivo de ambiente local, execute o seguinte comando:

cp .env.example .env

Este comando copia o arquivo .env.example para um novo arquivo chamado .env. O arquivo .env.example contém um modelo para as variáveis de ambiente que o guMCP requer.

Agora, você precisa abrir o arquivo .env em seu editor de texto favorito (como o VS Code) e atualizar os valores conforme necessário.

# Abra e edite com o vs code
code .env

# Abra e edite no cursor
cursor .env
abrir arquivo .env no cursor

O arquivo .env contém configurações para o seguinte:

  • Chaves de API para Integrações de Serviço: Se você planeja integrar serviços de terceiros como OpenAI ou outros provedores de modelos de IA, você precisará fornecer as chaves de API correspondentes no arquivo .env.
  • Configurações de Autenticação: Você pode configurar as configurações de autenticação para controlar o acesso ao seu servidor MCP. Isso pode envolver a configuração de nomes de usuário, senhas ou chaves de API para clientes que desejam interagir com o servidor.
  • Opções de Configuração do Servidor: O arquivo .env também pode conter configurações relacionadas à configuração do servidor, como o número da porta que ele escuta, o nome do host e outros parâmetros específicos do servidor.
  • Configurações do Ambiente de Desenvolvimento: Algumas configurações podem ser específicas para o ambiente de desenvolvimento, como bandeiras de depuração ou níveis de registro.
estrutura do arquivo .env

Certifique-se de revisar e atualizar cuidadosamente o arquivo .env com os valores corretos para o seu ambiente. Nunca comite seu arquivo .env no controle de versão! Este arquivo contém informações sensíveis que não devem ser compartilhadas publicamente.

Usando o guMCP

Agora que você instalou e configurou o guMCP, vamos ver como usá-lo! O guMCP suporta dois tipos principais de servidores: servidores SSE (Server-Sent Events) e servidores Stdio. Vamos explorar cada um deles.

Executando Servidores guMCP SSE

Os servidores SSE fornecem uma maneira simples e eficiente de transmitir dados do servidor para o cliente. No contexto do guMCP, isso é frequentemente usado para atualizações e notificações em tempo real.

guMCP fornece um script conveniente para iniciar um servidor de desenvolvimento SSE localmente. Este servidor hospedará todos os servidores disponíveis sob uma única URL. Para iniciar o servidor de desenvolvimento SSE, execute o seguinte comando:

./start_sse_dev_server.sh

Este script iniciará o servidor e imprimirá a URL no console. Por padrão, o servidor é executado na porta 8000. Então a URL será algo como: http://localhost:8000/simple-tools-server/local

executando servidores gumcp sse

Usando o Cliente de Teste MCP Remoto

guMCP também fornece um leve Cliente MCP para conectar-se a servidores SSE. Este cliente é útil para testar e interagir com o servidor. Para usar o cliente, execute o seguinte comando:

python tests/clients/RemoteMCPTestClient.py --endpoint=http://localhost:8000/simple-tools-server/local

Substitua http://localhost:8000/simple-tools-server/local pela URL real do seu servidor SSE.

cliente de teste mcp remoto do gumcp

Esse comando iniciará o cliente MCP e o conectará ao servidor SSE especificado. Você pode então usar o cliente para enviar comandos ao servidor e receber respostas.

consulta e resposta gumcp

Executando Servidores guMCP Stdio

Os servidores Stdio se comunicam com os clientes por meio de streams de entrada e saída padrão. Esta é uma abordagem mais tradicional para comunicação de servidor, e é frequentemente usada para ferramentas e aplicativos de linha de comando.

Para iniciar um servidor Stdio, execute o seguinte comando:

python src/servers/local.py --server=simple-tools-server

Substitua simple-tools-server pelo nome do servidor que deseja executar.

Usando o Cliente de Teste MCP Local do guMCP

guMCP fornece um leve Cliente MCP para iniciar e conectar-se a servidores stdio. Para usar o cliente, execute o seguinte comando:

python tests/clients/LocalMCPTestClient.py --server=simple-tools-server

Substitua simple-tools-server pelo nome do servidor que deseja executar.

Esse comando iniciará o cliente MCP e o conectará ao servidor Stdio especificado. Você pode então usar o cliente para enviar comandos ao servidor e receber respostas.

Compreendendo as Configurações do Servidor guMCP

A bandeira --server é a chave para selecionar quais ferramentas e funcionalidades seu servidor MCP expõe. Pense nisso como escolher quais módulos carregar em seu centro de comando de IA. No exemplo fornecido, simple-tools-server é usado, que provavelmente oferece um conjunto básico de ferramentas para testes e demonstração. No entanto, o guMCP foi projetado para ser modular, então você pode criar ou estender configurações de servidor para incluir funcionalidades mais especializadas.

Aprofundando-se no diretório src/servers, você encontrará arquivos Python que definem diferentes configurações de servidor. Esses arquivos especificam quais ferramentas estão disponíveis, como elas são expostas via MCP e quaisquer dependências específicas que elas requerem. Ao examinar esses arquivos, você pode ter uma ideia de como personalizar seu servidor e integrar suas próprias ferramentas impulsionadas por IA.

pasta fonte gumcp

Expandindo o Kit de Ferramentas do guMCP: Criando Suas Próprias Ferramentas MCP

O verdadeiro poder do guMCP reside em sua capacidade de ser estendido com suas próprias ferramentas personalizadas. Imagine que você queira criar uma ferramenta que resume texto usando um modelo de IA específico ou uma que interaja com uma API particular. O guMCP torna isso surpreendentemente simples.

Embora uma análise detalhada sobre a criação de ferramentas personalizadas esteja além do escopo deste guia introdutório, aqui está um resumo do processo:

  1. Defina sua ferramenta: Comece esboçando a funcionalidade da sua ferramenta. Quais entradas ela precisa? Qual saída ela produz?
  2. Implemente a lógica: Escreva o código Python que realiza a tarefa desejada. Isso pode envolver chamar a API de um modelo de IA, processar dados ou interagir com serviços externos.
  3. Integre-se ao guMCP: Use a API do guMCP para registrar sua ferramenta e torná-la acessível através do MCP. Isso envolve definir o nome da ferramenta, parâmetros de entrada e formato de saída.
  4. Configure o servidor: Modifique seu arquivo de configuração do servidor para incluir sua nova ferramenta. Isso informa ao servidor MCP para carregar e expor sua ferramenta aos clientes.

Criando suas próprias ferramentas, você pode adaptar o guMCP às suas necessidades específicas e construir fluxos de trabalho poderosos impulsionados por IA que resolvem problemas do mundo real.

Conclusão: Sua jornada na orquestração de IA começa

Parabéns! Você construiu com sucesso seu próprio servidor MCP auto-hospedado usando o guMCP. Este é um passo significativo para liberar todo o potencial da IA em seus projetos.

Lembre-se, isto é apenas o começo. Explore a documentação do guMCP, experimente diferentes configurações de servidor e crie suas próprias ferramentas personalizadas. As possibilidades são infinitas.

Ao auto-hospedar seu servidor MCP, você ganha controle total sobre seus dados, personaliza seus fluxos de trabalho e adquire experiência valiosa em infraestrutura de IA. À medida que o cenário da IA continua a evoluir, ter uma base sólida em MCP e auto-hospedagem será um ativo valioso. Portanto, vá em frente e orquestre seus sonhos de IA!

button
imagem Ui do Apidog