Saudações.
Hoje vou ensinar como instalar o MCP Inspector.
1 – Sobre o MCP Inspector
O MCP Inspector é um software que, como o nome diz, inspeciona do protocolo de contexto para modelos de IA.
Ele é um software oficial do projeto MCP e permite que o administrador ou usuário de um servidor MCP possa navegar nos recursos providos como se fosse um agente de IA.
Links:
- Projeto MCP-Inspector: https://github.com/modelcontextprotocol/inspector;
- Projeto principal: https://github.com/modelcontextprotocol;
Ele pode ser executado dentro de projetos, paralelo a projetos ou independente em uma URL (localhost ou pública).
Eu gosto mais da última opção, URL pública, implementando em sua infra essa ferramenta muito útil.
2 – Instalando no Docker
Vamos rodar o MCP Inspector no Docker, criando o container mcp-inspector.
2.1 – Rede Docker
Criando a rede para containers (network_public):
# Rede de containers
docker network create network_public \
-d bridge \
-o com.docker.network.bridge.name=br-net-public \
-o com.docker.network.driver.mtu=1500 \
-o com.docker.network.bridge.gateway_mode_ipv4=nat-unprotected \
--subnet 10.249.0.0/16 \
--gateway 10.249.255.254;
2.2 – Container do MCPI
Vou rodar o container publicando o acesso pelas portas diretas (HTTP) e por proxy-reverso Traefik.
Personalize o endereço mcpi.seudominio.com.br para um nome de DNS que você configurou apontando para o IP do servidor Docker.
# Variaveis
NAME=mcp-inspector;
IMAGE="ghcr.io/modelcontextprotocol/inspector:latest";
# nomes de dns:
FQDN="mcpi.seudominio.com.br";
#FQDN="mcp-inspector.$(hostname -f)";
#FQDN="mcp-inspector.$(hostname -d)";
# URLs de acesso CORs
URL_LOCAL="http://localhost:8080";
URL_CONTAINER="http://localhost:6274,http://127.0.0.1:6274";
URL_PUBLICS="https://$FQDN";
# Juntar
ALLOWED_ORIGINS="$URL_LOCAL,$URL_CONTAINER,$URL_PUBLICS";
# Atualizar/baixar imagem:
docker pull $IMAGE;
# Renovar/Rodar:
docker rm -f $NAME 2>/dev/null;
docker run \
-d --restart=always \
--name $NAME -h $NAME.intranet.br \
--memory=1g --memory-swap=1g --shm-size=1g \
\
--network network_public \
\
-p 6274:6274 \
-p 6277:6277 \
\
--read-only \
--tmpfs /run:rw,noexec,nosuid,size=16m \
--tmpfs /tmp:rw,noexec,nosuid,size=16m \
\
-e HOST=0.0.0.0 \
-e CLIENT_PORT=6274 \
-e SERVER_PORT=6277 \
\
-e ALLOWED_ORIGINS=$ALLOWED_ORIGINS \
-e DANGEROUSLY_OMIT_AUTH=true \
-e MCP_AUTO_OPEN_ENABLED=false \
\
--label "traefik.enable=true" \
\
--label "traefik.http.routers.${NAME}.rule=Host(\`$FQDN\`)" \
--label "traefik.http.routers.${NAME}.entrypoints=web,websecure" \
--label "traefik.http.routers.${NAME}.tls=true" \
--label "traefik.http.routers.${NAME}.tls.certresolver=letsencrypt" \
--label "traefik.http.routers.${NAME}.service=${NAME}" \
--label "traefik.http.services.${NAME}.loadbalancer.server.port=6274" \
--label "traefik.http.services.${NAME}.loadbalancer.passHostHeader=true" \
\
$IMAGE \
server /data --console-address ":9001";
2.3 – Stack para Compose
Caso prefira no modelo de Stack para docker compose:
services:
mcp-inspector:
image: ghcr.io/modelcontextprotocol/inspector:latest
container_name: mcp-inspector
hostname: mcp-inspector.intranet.br
restart: always
mem_limit: 1g
memswap_limit: 1g
shm_size: 1g
networks:
- network_public
ports:
- "6274:6274"
- "6277:6277"
read_only: true
tmpfs:
- /run:rw,noexec,nosuid,size=16m
- /tmp:rw,noexec,nosuid,size=16m
environment:
HOST: 0.0.0.0
CLIENT_PORT: 6274
SERVER_PORT: 6277
ALLOWED_ORIGINS: "https://mcpi.seudominio.com.br"
DANGEROUSLY_OMIT_AUTH: "true"
MCP_AUTO_OPEN_ENABLED: "false"
command: server /data --console-address ":9001"
labels:
traefik.enable: "true"
traefik.http.routers.mcp-inspector.rule: "Host(`mcpi.seudominio.com.br`)"
traefik.http.routers.mcp-inspector.entrypoints: "web,websecure"
traefik.http.routers.mcp-inspector.tls: "true"
traefik.http.routers.mcp-inspector.tls.certresolver: "letsencrypt"
traefik.http.routers.mcp-inspector.service: "mcp-inspector"
traefik.http.services.mcp-inspector.loadbalancer.server.port: "6274"
traefik.http.services.mcp-inspector.loadbalancer.passHostHeader: "true"
networks:
network_public:
external: true2.4 – Acesso
Abra no navegador (exemplo: https://mcpi.seudominio.com.br ou http://ip-do-servidor:6274) no navegador.
3 – Outras Ferramentas
Existem várias ferramentas que você pode instalar no PC/Notebook ou em servidor para inspecionar, testar, estressar e depurar seu servidor MCP.
3.1 – Ferramentas online
CUIDADO: Ferramentas online podem expor seu MCP a vazamento de credenciais e dados, use com atenção e não forneça chaves ou acessos de produção.
Caso queira testar um servidor MCP usando ferramentas online, eis algumas opções:
.
“Nunca teste a profundidade
do rio com os dois pés“
Provérbio Africano
Terminamos por hoje!
Patrick Brandão, patrickbrandao@gmail.com
