Um servidor Model Context Protocol (MCP) desenvolvido em TypeScript que integra a Star Wars API (SWAPI) com o Claude Desktop. Permite que você faça perguntas sobre o universo Star Wars e obtenha informações detalhadas sobre personagens, planetas, filmes e muito mais, diretamente através do Claude.
Este projeto é baseado no tutorial "Do Zero ao MCP: Criando um Servidor Model Context Protocol com TypeScript e a API do Star Wars" da desenvolvedora Glaucia Lemos.
- 📺 Vídeo Tutorial: Do Zero ao MCP com TypeScript
- 📝 Artigo Completo: Tutorial no DEV.to
- 🐙 Repositório Original: swapi-mcp-server-app
| Tool | Descrição | Exemplo de Uso |
|---|---|---|
search_characters |
Busca personagens do Star Wars por nome | "Busque informações sobre Luke Skywalker" |
search_planets |
Busca planetas do Star Wars por nome | "Encontre dados sobre Tatooine" |
search_films |
Busca filmes do Star Wars por título | "Procure pelo filme A New Hope" |
get_character_by_id |
Obtém informações detalhadas de um personagem pelo ID | "Busque o personagem com ID 4" |
| Resource | Descrição | URI |
|---|---|---|
all_films |
Lista todos os filmes da saga Star Wars ordenados por episódio | swapi://films/all |
- Node.js (versão 18 ou superior)
- Claude Desktop instalado
- npm ou yarn
# Clone o repositório
git clone <seu-repositorio>
cd mcp_api_star_wars
# Instale as dependências
npm install# Compile o TypeScript
npm run build
# Ou use o modo watch para desenvolvimento
npm run watchAdicione a seguinte configuração ao seu arquivo claude_desktop_config.json:
{
"mcpServers": {
"swapi-mcp-server": {
"command": "node",
"args": [
"C:\\caminho\\para\\seu\\projeto\\build\\index.js"
]
}
}
}# Teste o servidor MCP com o inspector
npm run inspector# Execute o servidor
npm startmcp_api_star_wars/
├── src/
│ ├── index.ts # Servidor MCP + Lógica das Tools
│ └── types.ts # Interfaces TypeScript (People, Planets, Films)
├── build/ # Arquivos JS compilados
├── package.json # Dependências e scripts
├── tsconfig.json # Configuração TypeScript
├── claude_desktop_config.json # Configuração do MCP Client
└── README.md # Este arquivo
- Node.js - Runtime JavaScript
- TypeScript - Tipagem estática e segurança
- MCP SDK - SDK oficial do MCP
- Axios - Cliente HTTP para chamadas à API
- Zod - Validação de esquemas e tipos
- SWAPI - Star Wars API (API pública)
- Claude Desktop - MCP Client
Após configurar o servidor, você pode fazer perguntas como:
- "Busque informações sobre Luke Skywalker"
- "Encontre personagens com cabelo loiro"
- "Mostre o personagem com ID 1"
- "Encontre dados sobre Tatooine"
- "Busque planetas com clima árido"
- "Mostre planetas com população maior que 1000000"
- "Procure pelo filme A New Hope"
- "Mostre todos os filmes da saga"
- "Encontre filmes dirigidos por George Lucas"
npm run build # Compila o TypeScript
npm run start # Executa o servidor
npm run watch # Compila em modo watch
npm run inspector # Testa com MCP Inspector
npm run prepare # Executa build antes de publicar- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença ISC. Veja o arquivo LICENSE para mais detalhes.
- Glaucia Lemos - Pelo excelente tutorial e inspiração
- SWAPI - Pela incrível API do Star Wars
- Anthropic - Pelo Claude Desktop e MCP
May the Force (and the Code) be with you! ⭐✨