Star Wars MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Star Wars MCP Serversearch for Luke Skywalker"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🌟 Star Wars MCP Server
Um servidor MCP (Model Context Protocol) que fornece acesso à Star Wars API (SWAPI) através do Claude Desktop
📖 Sobre o Projeto
Este projeto é um servidor MCP desenvolvido em TypeScript que integra a Star Wars API (SWAPI) com o Claude Desktop. Ele 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.
Related MCP server: Pokemon MCP Server
✨ Funcionalidades
🔧 Tools Disponíveis
search_characters- Busca personagens do Star Wars por nomesearch_planets- Busca planetas do Star Wars por nomesearch_films- Busca filmes do Star Wars por títuloget_character_by_id- Obtém informações detalhadas de um personagem pelo ID
📚 Resources Disponíveis
all_films- Lista todos os filmes da saga Star Wars ordenados por episódio
🚀 Como Executar
Pré-requisitos
Node.js (versão 18 ou superior)
Claude Desktop instalado
npm ou yarn
1. Instalação
# Clone o repositório
git clone https://github.com/glaucia86/swapi-mcp-server-app.git
# Entre no diretório
cd swapi-mcp-server-app
# Instale as dependências
npm install2. Compilação
# Compile o TypeScript
npm run build3. Configuração do Claude Desktop
Localize o arquivo de configuração:
%APPDATA%\Claude\claude_desktop_config.jsonAdicione a configuração do servidor MCP:
{ "mcpServers": { "swapi-mcp-server": { "command": "node", "args": ["CAMINHO_COMPLETO/swapi-mcp-server-app/build/index.js"] } } }⚠️ Importante: Substitua
CAMINHO_COMPLETOpelo caminho absoluto para o seu projeto.Reinicie o Claude Desktop completamente
4. Verificação
O servidor será iniciado automaticamente pelo Claude Desktop. Você saberá que está funcionando quando conseguir fazer perguntas sobre Star Wars no Claude.
🧪 Testando com o Inspector
Para testar e debugar o servidor MCP, você pode usar o MCP Inspector:
# Execute o inspector
npm run inspectorO inspector abrirá em seu navegador onde você poderá:
Testar todos os tools individualmente
Verificar os resources disponíveis
Debugar problemas de conexão
Visualizar logs em tempo real
💬 Exemplos de Perguntas
Buscar Personagens
Busque informações sobre Luke SkywalkerProcure pelo personagem Darth VaderEncontre dados sobre a Princesa LeiaBuscar Planetas
Encontre informações sobre o planeta TatooineBusque dados sobre AlderaanProcure pelo planeta HothBuscar Filmes
Procure pelo filme "A New Hope"Busque informações sobre "The Empire Strikes Back"Encontre dados do filme "Return of the Jedi"Obter Personagem por ID
Obtenha informações do personagem com ID 1Busque dados do personagem com ID 4Listar Filmes
Liste todos os filmes de Star WarsMostre todos os filmes da saga Star Wars ordenados por episódio📁 Estrutura do Projeto
swapi-mcp-server-app/
├── src/
│ ├── index.ts # Servidor MCP principal
│ └── types.ts # Definições de tipos TypeScript
├── build/ # Arquivos compilados
├── package.json # Dependências e scripts
├── tsconfig.json # Configuração do TypeScript
└── README.md # Documentação🛠 Scripts Disponíveis
npm run build- Compila o TypeScriptnpm run watch- Compila em modo watchnpm run inspect- Executa o MCP Inspector para testes
🔍 Troubleshooting
O servidor não aparece no Claude Desktop
Verifique se o caminho no arquivo de configuração está correto
Certifique-se de que o arquivo
build/index.jsexisteReinicie o Claude Desktop completamente
Verifique os logs em
%APPDATA%\Claude\logs\mcp.log
Erros de compilação
Execute
npm installnovamenteVerifique se a versão do Node.js é compatível
Execute
npm run builde verifique se há erros
🤝 Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para:
Fazer fork do projeto
Criar 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)Abrir um Pull Request
📝 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
👨💻 Autor
Glaucia Lemos
🌟 Agradecimentos
Star Wars API (SWAPI) - pela API incrível
Model Context Protocol - pelo protocolo inovador
Anthropic - pelo Claude Desktop
May the Force be with you! ⭐
Available Tools
4 toolsget_character_by_idObter Personagem por IDB
Obtém informações detalhadas de um personagem pelo ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID do personagem |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it 'gets detailed information' without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, potential error cases (e.g., invalid ID), rate limits, authentication needs, or what 'detailed information' entails. For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Portuguese that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly. Every part of the sentence contributes to clarifying the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, 100% schema coverage) but lack of annotations and output schema, the description is incomplete. It doesn't explain what 'informações detalhadas' includes in the return values, error handling, or other contextual details needed for effective use. For a tool with no output schema, more detail on returns is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'id' documented as 'ID do personagem'. The description adds no additional meaning beyond this, as it only repeats 'pelo ID'. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Obtém' - gets) and resource ('personagem' - character) with the specific mechanism ('pelo ID' - by ID). It distinguishes from siblings like 'search_characters' by focusing on retrieval of a single character rather than searching. However, it doesn't specify what 'informações detalhadas' includes, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific character ID, contrasting with 'search_characters' for broader queries. However, it doesn't explicitly state when to use this tool versus alternatives or mention any prerequisites like ID format or existence. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_charactersBuscar PersonagensC
Busca personagens do Star Wars por nome
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | Nome do personagem para buscar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function without mentioning any behavioral traits like whether it returns partial matches, case sensitivity, pagination, rate limits, error conditions, or what the response format looks like. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that directly states the tool's function without any unnecessary words. It's appropriately sized for a simple search tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (list of characters? partial information?), how results are structured, or any behavioral aspects. The agent would need to guess about the tool's behavior and output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already fully documents the single 'search' parameter. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Busca' - search) and resource ('personagens do Star Wars' - Star Wars characters), making the purpose specific and understandable. However, it doesn't explicitly differentiate from the sibling tool 'get_character_by_id' which retrieves characters by ID rather than name search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'get_character_by_id' tool for ID-based retrieval, nor does it provide any context about when name search is appropriate versus other search tools like 'search_films' or 'search_planets'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filmsBuscar FilmesC
Busca filmes do Star Wars por título
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | Título do filme para buscar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic function without mentioning any behavioral traits: no information about rate limits, authentication requirements, response format, pagination, error conditions, or what happens with no results. For a search tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence in Portuguese that directly states the tool's function. There's zero wasted language, and the information is front-loaded. Every word earns its place, making this maximally efficient while still communicating the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for effective tool use. While the purpose is clear, there's no information about what the tool returns (film objects, IDs, metadata), how results are structured, or any behavioral constraints. For a search tool that presumably returns data, the absence of output information creates significant uncertainty for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'search' already documented as 'Título do filme para buscar'. The description adds no additional parameter semantics beyond what the schema provides - it doesn't clarify search syntax, case sensitivity, language support, or special characters. With complete schema coverage, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Busca' - search) and resource ('filmes do Star Wars' - Star Wars films) with a specific scope ('por título' - by title). It distinguishes from sibling tools that search characters or planets, but doesn't explicitly differentiate from potential other film search tools. The purpose is specific but could be more precise about what makes this search unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it's clear this searches films while siblings search characters/planets, there's no mention of when to prefer this over other search methods, what types of searches it supports (exact match, partial, fuzzy), or any prerequisites for use. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_planetsBuscar PlanetasC
Busca planetas do Star Wars por nome
| Name | Required | Description | Default |
|---|---|---|---|
| search | Yes | Nome do planeta para buscar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action (search by name) without mentioning what the search returns (e.g., list of planets, partial matches), how results are formatted, error conditions, or any rate limits. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Portuguese: 'Busca planetas do Star Wars por nome'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple search tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, 100% schema coverage) but lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., planet details, list of matches), how results are structured, or any behavioral nuances. For a search tool, this leaves the agent guessing about the output format and search behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'search' documented as 'Nome do planeta para buscar' (Name of the planet to search). The description adds no additional parameter semantics beyond what the schema provides, such as search syntax, case sensitivity, or wildcard support. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Busca planetas do Star Wars por nome' (Searches Star Wars planets by name). It specifies the verb (busca/searches), resource (planetas/planets), and scope (Star Wars). However, it doesn't explicitly differentiate from sibling tools like search_characters or search_films, which follow similar patterns but target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like search_characters or search_films, nor does it explain when a planet search is appropriate versus character or film searches. There's no context about prerequisites, limitations, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
get_character_by_id - First observed
search_characters - First observed
search_films - First observed
search_planets
TDQS
Each tool has a clearly distinct purpose: get_character_by_id retrieves a specific character by ID, search_characters searches characters by name, search_films searches films by title, and search_planets searches planets by name. There is no overlap or ambiguity between these functions.
All tool names follow a consistent verb_noun pattern with snake_case: get_character_by_id, search_characters, search_films, and search_planets. The naming is predictable and uniform throughout the set.
With only 4 tools, the server feels thin for a Star Wars domain that includes characters, films, planets, species, starships, and vehicles. While the tools cover basic search and retrieval, the count is borderline low for comprehensive coverage.
The tool set has significant gaps: it lacks CRUD operations (e.g., no create, update, or delete), misses key resources like species and starships, and offers only search and get functions without lifecycle coverage. This will likely cause agent failures for broader tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Real-time web search, reasoning, and research through Perplexity's API
Read-only search of your Sortio knowledge graph (files and entities) for Claude and ChatGPT.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables access to NASA space data and images through Claude Desktop, providing features like astronomy picture of the day, Mars rover photos, near-Earth object information, NASA image search, and Earth satellite imagery.5-
- AlicenseCqualityDmaintenanceEnables users to access comprehensive Pokemon data through the PokeAPI, including Pokemon stats, types, descriptions, move details, and complete evolution chains. Allows Claude to answer Pokemon-related questions with detailed information about any Pokemon, their abilities, and evolutionary relationships.118ISC
- AlicenseAqualityDmaintenanceEnables natural language management of ClickUp workspaces, including task CRUD operations, task listing, and user profile retrieval via Claude Desktop.61MIT
- FlicenseNot gradedqualityDmaintenanceEnables flight search, airport information lookup, and price comparison through Claude Desktop.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/glaucia86/swapi-mcp-server-app'
If you have feedback or need assistance with the MCP directory API, please join our Discord server