Star Wars Explorer
A Laravel-based MCP server that enables users to browse, search, and import Star Wars character data from the SWAPI external API into a local database. It facilitates seamless AI interaction with Star Wars lore through structured tools and the Model Context Protocol.
README
đ Star Wars Explorer - MCP Server
Um servidor Model Context Protocol (MCP) desenvolvido com Laravel que fornece acesso a dados da franquia Star Wars através de uma API externa e banco de dados local.
đ Sobre o Projeto
Este projeto implementa um servidor MCP usando Laravel que permite:
- đ Buscar personagens de Star Wars no banco de dados local
- đ„ Importar personagens da API externa (SWAPI) para o banco local
- đŸ Armazenar dados localmente para consultas rĂĄpidas
- đ€ Integração com IAs atravĂ©s do protocolo MCP
đ ïž Tecnologias
- PHP 8.5+
- Laravel 12
- Laravel MCP - Protocolo Model Context Protocol
- Laravel Sail - Ambiente Docker
- MySQL 8.4 - Banco de dados
- Redis - Cache
đŠ PrĂ©-requisitos
Antes de começar, certifique-se de ter instalado:
Nota: Como utilizamos Laravel Sail, nĂŁo Ă© necessĂĄrio ter PHP instalado localmente. Tudo roda dentro do Docker.
đ Instalação
Passo 1: Clonar o RepositĂłrio
git clone <url-do-repositorio>
cd mcp-app
Passo 2: Configurar o Ambiente
# Copiar o arquivo de configuração de ambiente
cp .env.example .env
Passo 3: Instalar DependĂȘncias
# Instalar dependĂȘncias do Composer via Sail
./vendor/bin/sail composer install
Dica: Se vocĂȘ nĂŁo tiver o
vendor/bin/sail, execute primeiro:composer install
Passo 4: Configurar a Aplicação
# Gerar a chave da aplicação
./vendor/bin/sail artisan key:generate
# Executar as migrations do banco de dados
./vendor/bin/sail artisan migrate
Passo 5: Iniciar os Containers
# Iniciar os containers em background
./vendor/bin/sail up -d
# Ou iniciar e ver os logs em tempo real
./vendor/bin/sail up
â¶ïž Executando o Servidor MCP
ApĂłs a instalação, vocĂȘ tem duas formas de executar o servidor:
Opção 1: Modo STDIO (Produção)
Execute o servidor MCP diretamente:
./vendor/bin/sail artisan mcp:start star-wars-explorer
Este comando inicia o servidor no modo STDIO, pronto para comunicação via protocolo MCP.
Opção 2: Inspector (Desenvolvimento/Testes) â Recomendado
Use o Inspector para testar o servidor com uma interface visual:
./vendor/bin/sail artisan mcp:inspector star-wars-explorer
O Inspector:
- đ Abre uma interface web interativa
- đ§Ș Permite testar todas as tools disponĂveis
- đ Mostra as respostas do servidor em tempo real
- đ Facilita o debug e desenvolvimento
đ§Ș Testando as Funcionalidades
O servidor MCP expÔe uma tool chamada star-wars-tool com as seguintes funcionalidades:
1. Buscar Todos os Personagens
Chame a tool sem parĂąmetros para listar todos os personagens salvos localmente:
{}
2. Buscar por Nome
Busque personagens pelo nome no banco de dados local:
{
"search": "Luke"
}
3. Importar da API Externa
Importe um personagem da API SWAPI usando o ID:
{
"id": 1
}
IDs disponĂveis na API: 1, 2, 3, 4, 5... (consulte a documentação da SWAPI)
đ Estrutura do Projeto
mcp-app/
âââ app/
â âââ Mcp/
â â âââ Servers/
â â â âââ StarWarsServer.php # Servidor MCP principal
â â â âââ MyAssistantServer.php # Servidor exemplo
â â âââ Tools/
â â âââ StarWarsTool.php # Tool principal
â â âââ GetProjectStats.php # Tool exemplo
â âââ Models/
â â âââ Character.php # Model do personagem
â âââ Services/
â âââ External/
â â âââ SwapiService.php # Serviço de integração com API
â âââ Models/
â âââ CharacterService.php # LĂłgica de negĂłcio
âââ routes/
â âââ ai.php # Registro dos servidores MCP
âââ database/
â âââ migrations/ # Migrations do banco
âââ compose.yaml # Configuração Docker
đ§ Comandos Ăteis
Gerenciamento do Docker
# Iniciar containers
./vendor/bin/sail up -d
# Parar containers
./vendor/bin/sail down
# Ver logs
./vendor/bin/sail logs
# Acessar shell do container
./vendor/bin/sail shell
Comandos Artisan
# Ver logs do Laravel
./vendor/bin/sail artisan pail
# Limpar cache
./vendor/bin/sail artisan config:clear
./vendor/bin/sail artisan cache:clear
# Executar migrations
./vendor/bin/sail artisan migrate
# Rollback migrations
./vendor/bin/sail artisan migrate:rollback
Comandos MCP
# Listar servidores MCP disponĂveis
./vendor/bin/sail artisan mcp:inspector
# Iniciar servidor especĂfico
./vendor/bin/sail artisan mcp:start star-wars-explorer
# Abrir inspector para testes
./vendor/bin/sail artisan mcp:inspector star-wars-explorer
đŻ Funcionalidades da Tool
A StarWarsTool oferece trĂȘs modos de operação:
| Parùmetro | Tipo | Descrição |
|---|---|---|
id |
integer (opcional) |
ID do personagem na API SWAPI para importar |
search |
string (opcional) |
Nome do personagem para buscar localmente |
Comportamento:
- Se
idfor fornecido: importa da API e salva no banco local - Se
searchfor fornecido: busca no banco local por nome - Se nenhum parĂąmetro: retorna todos os personagens do banco local
đ Integração com Clientes MCP
Para integrar este servidor MCP com um cliente (como Claude Desktop, Cursor, etc.), configure:
Handle: star-wars-explorer
Comando:
php artisan mcp:start star-wars-explorer
Transport: STDIO
đ PadrĂ”es de CĂłdigo
Este projeto segue as melhores prĂĄticas do Laravel:
- â
declare(strict_types=1);em todos os arquivos PHP - â Tipagem estrita em propriedades, parĂąmetros e retornos
- â
Services como
final readonly class - â Controllers magros (Thin Controllers)
- â LĂłgica de negĂłcio em Services
- â Dependency Injection via construtor
đ Troubleshooting
Erro: "MCP Server with name [star-wars-explorer] not found"
Verifique se o servidor estĂĄ registrado em routes/ai.php:
Mcp::local('star-wars-explorer', StarWarsServer::class);
Erro: "Connection refused" ao iniciar Sail
Certifique-se de que o Docker estĂĄ rodando:
docker ps
Erro ao executar migrations
Verifique se o banco de dados estĂĄ configurado corretamente no .env:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
đ Recursos Adicionais
đ Licença
Este projeto estå sob a licença MIT.
Desenvolvido com â€ïž usando Laravel e MCP
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.