Star Wars MCP
Server Details
Star Wars API (SWAPI) as a remote MCP server: films, people, planets, species, starships, vehicles.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- eldermoraes/swapi.build
- GitHub Stars
- 3
- Server Listing
- swapi-build
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 4 of 4 tools scored.
Each tool performs a distinct operation: fetch by ID, list all, random selection, and search by name. There is no overlap or ambiguity between them.
All tools follow a consistent 'sw_' prefix with a simple verb: get, list, random, search. This uniform pattern makes the tool set predictable and easy to navigate.
With only 4 tools, the set is compact and well-scoped for reading Star Wars resource data. Each tool earns its place without unnecessary redundancy.
The tool set covers the core read-only operations for a Star Wars API: retrieving a specific entity, listing all entities, searching, and random access. There are no obvious gaps for the expected use case.
Available Tools
4 toolssw_getARead-onlyIdempotentInspect
Gets one Star Wars entity by numeric id. Ids are the record ids from each entity's url field (e.g. FILMS id 1 = A New Hope). Returns a JSON object.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Numeric record id (from the entity's url field) | |
| resource | Yes | Resource type |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds value by explaining how ids map to urls and that the return is a JSON object, enhancing behavioral understanding beyond annotations.
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?
Two concise sentences with the main action front-loaded. The example is directly relevant and no words are wasted.
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 simple two-parameter tool with no output schema, the description fully covers purpose, parameter semantics, and return type. No additional behavioral or contextual details are necessary.
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%, so parameters are already documented. The description adds a concrete example (FILMS id 1 = A New Hope) that reinforces the relationship between id and url field, going beyond schema basics.
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 'Gets', the resource 'Star Wars entity', and the scope 'by numeric id'. It distinguishes itself from siblings (list, random, search) by focusing on exact id lookup.
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?
It provides clear context on when to use (when you have a numeric id from an entity's url field) and gives a concrete example. It doesn't explicitly exclude alternatives, but the id-based use case is well established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_listARead-onlyIdempotentInspect
Lists all entities of a Star Wars resource type from swapi.build. Returns a JSON array.
| Name | Required | Description | Default |
|---|---|---|---|
| resource | Yes | Resource type |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by specifying the data source (swapi.build) and the return format (JSON array). Annotations already declare it read-only, idempotent, and non-destructive, so the additional details about output and origin provide meaningful transparency.
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 two sentences with no redundant information. It front-loads the action and resource, then states the return type. Every word earns its place.
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 simple one-parameter tool, complete schema coverage, and strong annotations, the description is sufficient. It clearly states what the tool does (lists all entities) and what it returns (JSON array), with no critical missing information for typical usage.
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 provides 100% coverage of the only parameter 'resource', including its enum and description. The tool description merely uses the phrase 'resource type', which adds no new meaning beyond the schema. This aligns with the baseline score of 3.
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 uses the specific verb 'Lists' and identifies the resource type as the subject, clearly distinguishing this as a list-all operation. It distinguishes from siblings like sw_get (single entity), sw_search (filtered), and sw_random by stating 'all entities'.
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 phrase 'Lists all entities' establishes clear context for when to use this tool (when you need the full collection), and the absence of filtering criteria implies that sw_search is for targeted queries. However, it does not explicitly name alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_randomARead-onlyInspect
Returns one random Star Wars entity of the given resource type. Great for live demos. Returns a JSON object.
| Name | Required | Description | Default |
|---|---|---|---|
| resource | Yes | Resource type |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that it returns a JSON object, but does not describe additional behavioral aspects such as error handling, rate limits, or the exact structure of the return value. It is adequate but not rich.
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 succinct, front-loading the core action in the first sentence. The additional sentence about JSON object output is slightly redundant but not wasteful. Overall, it is appropriately sized with no fluff.
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 simple one-parameter tool with read-only and non-destructive annotations, the description is complete. It explains the random-selection behavior, the resource type input, a primary use case (live demos), and the return format, covering all necessary context.
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 input schema provides full coverage for the single 'resource' parameter, including an enum and description ('Resource type'). The description does not add meaningful parameter semantics beyond what the schema already specifies, so the baseline of 3 applies.
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 function: 'Returns one random Star Wars entity of the given resource type.' It uses a specific verb ('Returns') and identifies the resource type as the key parameter. The random nature distinguishes it from siblings like sw_get, sw_list, and sw_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 phrase 'Great for live demos' provides a clear use case, implying use when a random sample is needed. However, it does not explicitly mention alternatives or when not to use this tool, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_searchARead-onlyIdempotentInspect
Searches a Star Wars resource by name (title for FILMS), case-insensitive substring match. Returns a JSON array.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Name/title fragment | |
| resource | Yes | Resource type |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds operational detail beyond annotations: case-insensitive substring matching, the title-for-FILMS quirk, and the JSON array return format. Annotations only declare safety hints (read-only, idempotent, non-destructive), so this adds valuable behavioral context.
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?
A single sentence, front-loaded with the action, and includes the essential behavioral details without redundancy. Every word contributes.
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 simple two-param search tool with rich annotations, the description covers the operation, matching behavior, and return type. The output schema is absent, so the return format note fills that gap. It is sufficiently complete.
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 input schema already documents both params with descriptions (100% coverage). The description adds extra semantics: 'title for FILMS' clarifies the query field for films, and 'case-insensitive substring' defines matching behavior. This goes beyond the schema's minimal 'Name/title fragment'.
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 a specific action ('Searches a Star Wars resource by name') and the matching semantics ('case-insensitive substring match'). This distinguishes it from siblings like sw_get (specific ID) and sw_list (list all), with the FILMS title nuance.
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 when to use it (when you need to find a resource by name fragment), but does not explicitly mention alternatives or exclusions. The sibling tools are not referenced, so an agent must infer the choice from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for querying the Star Wars universe via the SWAPI API, providing access to characters, films, starships, vehicles, species, and planets.Last updatedISC
- FlicenseBqualityBmaintenanceA Model Context Protocol server that exposes Star Wars API data as MCP tools. It enables users to list available categories and retrieve character information.Last updated3728
- Alicense-qualityBmaintenanceEnables LLMs and clients to search for Star Wars characters, planets, and films by exposing SWAPI as MCP tools.Last updated1MIT
- Alicense-qualityCmaintenanceProvides access to the SWAPI Star Wars API, enabling users to query characters, planets, films, species, vehicles, and starships with automatic pagination and caching.Last updated3310MIT
Your Connectors
Sign in to create a connector for this server.