Este é um micro projeto para demonstração da criação de um Model Context Protocol (MCP) Server utilizando a API aberta SWAPI (Star Wars API) para fins de ilustração e portfólio.
O projeto demonstra como criar um servidor MCP funcional que pode ser integrado ao Claude Desktop ou testado através do MCP Inspector, fornecendo acesso a dados do universo Star Wars através de ferramentas e recursos estruturados.
- search_characters - Busca personagens por nome
- search_planets - Busca planetas por nome
- search_films - Busca filmes por título
- search_characters_byId - Busca personagem específico por ID
- all_films - Lista todos os filmes ordenados por episódio
- TypeScript - Linguagem principal
- Node.js - Runtime
- Model Context Protocol (MCP) SDK - Framework para criação do servidor
- Axios - Cliente HTTP para requisições à API
- Zod - Validação de esquemas
- SWAPI API - Fonte de dados (Star Wars)
- Node.js (versão 18 ou superior)
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/RamosJSouza/simple-mcp-server.git cd simple-mcp-server -
Instale as dependências:
npm install
-
Compile o projeto:
npm run build
O MCP Inspector é uma ferramenta web que permite testar e interagir com servidores MCP de forma visual e intuitiva.
-
Execute o inspector:
npm run inspector
-
Acesse a interface:
- Abra seu navegador em:
http://localhost:6274 - Use o token fornecido no terminal para autenticação
- Abra seu navegador em:
-
Teste as funcionalidades:
- Explore os tools disponíveis na aba "Tools"
- Visualize os resources na aba "Resources"
- Execute consultas e veja os resultados em tempo real
Interface do MCP Inspector mostrando a busca por "anakin" e o resultado detalhado do personagem Anakin Skywalker com todas as informações (nome, altura, massa, ano de nascimento, gênero, cor dos olhos, cor do cabelo e cor da pele). A ferramenta permite testar todos os tools disponíveis de forma interativa.
Documentação oficial do MCP Inspector: Model Context Protocol Inspector
Para integrar com o Claude Desktop:
-
Configure o arquivo de configuração:
{ "mcpServers": { "simple-mcp-server": { "command": "node", "args": ["C:\\caminho\\para\\seu\\projeto\\build\\index.js"], "env": { "NODE_ENV": "development" } } } } -
Localização do arquivo de configuração:
- Windows:
C:\Users\[SEU_USUARIO]\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Reinicie o Claude Desktop para carregar a nova configuração
npm run build # Compila o projeto TypeScript
npm run watch # Compila em modo watch (desenvolvimento)
npm run inspector # Executa o MCP Inspector para testessimple-mcp-server/
├── src/
│ ├── index.ts # Servidor MCP principal
│ └── types.ts # Definições de tipos TypeScript
├── build/ # Código compilado (gerado)
├── package.json # Configurações e dependências
├── tsconfig.json # Configurações do TypeScript
└── README.md # Este arquivo
Para adicionar novos tools ao servidor:
- Defina o schema no arquivo
types.ts - Implemente o tool no método
setupTools() - Compile o projeto com
npm run build
this.server.registerTool(
"nome_do_tool",
{
title: "Título do Tool",
description: "Descrição do que o tool faz",
inputSchema: {
parametro: z.string().describe("Descrição do parâmetro"),
},
},
async ({ parametro }) => {
// Implementação do tool
return {
content: [
{
type: "text" as const,
text: "Resultado do tool",
}
]
};
}
);-
Porta em uso no Inspector:
# Erro: "Proxy Server PORT IS IN USE at port 6277" # Solução: Aguarde alguns segundos e tente novamente
-
Claude Desktop não detecta o MCP:
- Verifique se o caminho no arquivo de configuração está correto
- Reinicie completamente o Claude Desktop
- Verifique se o projeto foi compilado (
npm run build)
-
Erros de compilação:
- Execute
npm installpara garantir que todas as dependências estão instaladas - Verifique se está usando Node.js versão 18 ou superior
- Execute
RAMOS DE SOUZA JANONES
Desenvolvedor Full Stack
LinkedIn: linkedin.com/in/ramos-souza
GitHub: github.com/RamosJSouza
Desenvolvedor Full Stack com mais de 14 anos de experiência em arquiteturas escaláveis, microserviços e soluções cloud-native. Especialista em Node.js, React, Angular e DevOps, com histórico de liderança técnica e redução de 20% no tempo de entrega em projetos críticos. Focado em inovação, performance e mentoria de equipes ágeis.
- Linguagens: JavaScript, TypeScript, Python, PHP
- Frontend: React, React Native, Next.js, Angular, Redux, Styled Components, Storybook
- Backend: Node.js, NestJS, Express, GraphQL, REST
- Bancos de Dados: PostgreSQL, MongoDB, MySQL
- Cloud & DevOps: AWS, Serverless, GCP, Azure, Docker, Kubernetes, CI/CD (GitHub Actions, Azure DevOps)
- Mensageria: Kafka, RabbitMQ
- Testes: Cypress, Jest, TDD (Test-Driven Development)
- Outras Ferramentas: Power BI, Pentaho ETL
- Desenvolvimento com IA: Cursor AI, GitHub Copilot, Model Context Protocol (MCP), Prompt Engineering, Context Engineering, Desenvolvimento de Agentes de IA
- Soft Skills: Liderança técnica, mentoria, resolução de problemas, colaboração ágil
Este projeto foi desenvolvido 100% manualmente, sem utilização de IA para geração de código. Todo o desenvolvimento foi realizado através de conhecimento técnico próprio e experiência profissional, mesmo sendo um simples MCP Server.
Este projeto é de código aberto e está disponível sob a licença MIT.
Projeto criado para fins educacionais e demonstração de habilidades técnicas em desenvolvimento de servidores MCP.
