Skip to main content
Glama
Simple MCP Server - Star Wars API

Simple MCP Server - Star Wars API

by RamosJSouza

Simple MCP Server - Star Wars API

📋 Sobre o Projeto

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.

Related MCP server: starwars

🚀 Funcionalidades

Tools Disponíveis

  • 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

Resources Disponíveis

  • all_films - Lista todos os filmes ordenados por episódio

🛠️ Tecnologias Utilizadas

  • 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)

📦 Instalação

Pré-requisitos

  • Node.js (versão 18 ou superior)

  • npm ou yarn

Passos para Instalação

  1. Clone o repositório:

    git clone https://github.com/RamosJSouza/simple-mcp-server.git
    cd simple-mcp-server
  2. Instale as dependências:

    npm install
  3. Compile o projeto:

    npm run build

🎯 Como Usar

Opção 1: MCP Inspector (Recomendado para Testes)

O MCP Inspector é uma ferramenta web que permite testar e interagir com servidores MCP de forma visual e intuitiva.

  1. Execute o inspector:

    npm run inspector
  2. Acesse a interface:

    • Abra seu navegador em: http://localhost:6274

    • Use o token fornecido no terminal para autenticação

  3. 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

MCP Inspector Interface

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

Opção 2: Claude Desktop

Para integrar com o Claude Desktop:

  1. 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"
          }
        }
      }
    }
  2. 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

  3. Reinicie o Claude Desktop para carregar a nova configuração

📚 Scripts Disponíveis

npm run build      # Compila o projeto TypeScript
npm run watch      # Compila em modo watch (desenvolvimento)
npm run inspector  # Executa o MCP Inspector para testes

🏗️ Estrutura do Projeto

simple-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

🔧 Configuração e Personalização

Adicionando Novos Tools

Para adicionar novos tools ao servidor:

  1. Defina o schema no arquivo types.ts

  2. Implemente o tool no método setupTools()

  3. Compile o projeto com npm run build

Exemplo de Tool

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",
                }
            ]
        };
    }
);

🐛 Solução de Problemas

Problemas Comuns

  1. Porta em uso no Inspector:

    # Erro: "Proxy Server PORT IS IN USE at port 6277"
    # Solução: Aguarde alguns segundos e tente novamente
  2. 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)

  3. Erros de compilação:

    • Execute npm install para garantir que todas as dependências estão instaladas

    • Verifique se está usando Node.js versão 18 ou superior

📖 Documentação Adicional

👨‍💻 Desenvolvedor

RAMOS DE SOUZA JANONES
Desenvolvedor Full Stack
LinkedIn: linkedin.com/in/ramos-souza
GitHub: github.com/RamosJSouza

Resumo Profissional

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.

Habilidades Técnicas

  • 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

⚠️ Nota Importante

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.

📄 Licença

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.

Available Tools

4 tools
search_charactersSearch characters Star WarsB

Search characters Star Wars, in API by name

Inputs: search (required).

search_characters_byIdSearch character by ID Star WarsB

Search a specific Star Wars character by ID

Inputs: id (required).

search_filmsSearch films Star WarsD

Search films Star Wars, in API by title

Inputs: search (required).

search_planetsSearch planets Star WarsB

Search planets Star Wars, in API by name

Inputs: search (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct resource or query type: films by title, planets by name, characters by name or ID. The two character tools are clearly separated by their ID/name parameter, leaving no ambiguity.

    Naming Consistency4/5

    All tools follow the verb 'search_' followed by a resource name, which is consistent. The single exception is 'search_characters_byId', which mixes camelCase for 'Id' while other names use all lowercase and underscores, a minor deviation from the pattern.

    Tool Count5/5

    With 4 tools, the server is well-scoped for a simple search-focused API. The count is within the ideal range and each tool covers a unique, necessary operation.

    Completeness3/5

    The server covers three core resources (films, characters, planets) but omits other common Star Wars categories like starships, vehicles, and species. Additionally, films and planets only support search by name, lacking ID-based lookups that characters have, which leaves notable gaps for users needing specific items.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables users to query the Star Wars universe through the SWAPI (Star Wars API) directly in Claude Desktop. Supports searching for characters, planets, and films, as well as retrieving detailed information about the Star Wars saga.
      4
      15
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides access to the SWAPI Star Wars API, enabling users to query characters, planets, films, species, vehicles, and starships with automatic pagination and caching.
      18 npm
      10
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for querying the Star Wars universe via the SWAPI API, providing access to characters, films, starships, vehicles, species, and planets.
      ISC