Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool serves a clearly distinct purpose: checking editor availability, searching the API, getting class overviews, fetching member details (single vs batch), executing Python, listing modules, and refreshing the cache. Even the two member-lookup tools are obviously differentiated by batch vs single operation.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (e.g., list_unreal_instances, search_unreal_api, exec_unreal_python). The verbs are specific and predictable, making it easy to guess what each tool does.

    Tool Count5/5

    With 8 tools, the server is well-scoped for its purpose. It provides just enough surface area to cover discovery, documentation lookup, and code execution without unnecessary bloat or redundancy.

    Completeness5/5

    The tool set covers the full workflow for Unreal Python API exploration and execution: check if an editor is available, search for API symbols, inspect modules/classes/members, get detailed documentation, execute code, and refresh the API cache. There are no obvious missing operations that would leave an agent stuck.

  • Average 4.5/5 across 8 of 8 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It discloses the action and the required environment but does not mention potential side effects of arbitrary code execution, error behavior, or response content. While the execution action itself is inherently transparent, valuable behavioral context is missing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and well-structured: a one-sentence purpose, a necessary prerequisite, and a simple Args list. Every sentence earns its place without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter execution tool, the description covers the essential purpose, the environment requirement, and the parameter meaning. Since an output schema exists, return values need not be described. It could add a warning about destructive potential, but the description is otherwise sufficient for correct selection and invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must compensate. The Args section defines 'code' as 'Python code to execute in Unreal Editor,' which gives necessary meaning. However, this largely restates the tool's purpose and adds no additional detail about expected formatting or multi-line input.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Execute Python code in the running Unreal Editor,' specifying the verb (execute), resource (Python code), and context (running Unreal Editor). This distinguishes it from sibling read-only introspection tools like list_unreal_instances and get_class_overview.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides a clear prerequisite: 'Requires Unreal Editor to be running with Python Remote Execution enabled,' along with setup instructions. It does not explicitly mention when to use this tool over alternatives or list exclusions, so it stops short of full guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It discloses return contents (member type, docstring, signature, value) beyond basic purpose, but does not mention error behavior or edge cases. This is strong for a read-only lookup.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately compact, with a main goal sentence, a clear return summary, and an Args section with examples. Every sentence contributes useful information with no fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This is a simple two-parameter tool with an output schema. The description fully explains what it does and what it returns, so nothing critical is missing for proper invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage, so the description must compensate. The Args section provides clarifying examples (e.g., "Actor", "get_actor_location") for both parameters, adding meaningful semantics beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool retrieves detailed documentation for a specific class member, using a specific verb and resource. It distinguishes itself from the sibling get_members_info by emphasizing 'specific member'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage context is implied (for a specific member) but no explicit guidance contrasts it with alternatives like get_members_info or search_unreal_api. It lacks when-to-use or 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.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It clarifies this is a batch read operation for documentation, but does not disclose behavior for missing members, invalid class names, or any side effects. However, the 'get documentation' phrasing implies read-only, and the tool has an output schema to fill in details.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact: one purpose sentence, one usage sentence, and a clear Args list. It is front-loaded with the primary purpose and uses structure effectively.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers purpose, usage, and parameters, and the tool has an output schema to specify return structure. It lacks details on failure modes, but given the simple 2-param schema and existence of output schema, it is sufficiently complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, and the description compensates with an Args section giving examples for both parameters (e.g., 'Actor' and a list of member names). This adds meaningful semantics beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states it 'Get[s] detailed documentation for multiple members at once (batch operation)', with a clear verb and resource. It explicitly differentiates from sibling get_member_info by noting batch efficiency, making its scope unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explicitly states when to use this tool: 'More efficient than calling get_member_info multiple times when you need details for several members.' This names the alternative and provides a condition, fully guiding the agent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full burden. It clearly describes the behavior ('List all running instances') and adds scope ('with Remote Execution enabled'). It does not explicitly state read-only, but the operation is inherently a read-only query and the wording is transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences with no fluff. The first states the purpose, the second provides usage context. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter utility tool, the description is complete. It explains what it does and when to use it. Since an output schema exists, return values need not be described. No further explanation is needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are zero parameters, so the baseline is 4. The description adds no parameter explanation, but none is needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists all running Unreal Editor instances with Remote Execution enabled, using a specific verb and resource. It distinguishes itself from siblings like search_unreal_api and exec_unreal_python by focusing on instance discovery.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explicitly tells when to use the tool ('Use this to check if Unreal Editor is available for code execution'), providing clear context. It does not mention when not to use it or name alternatives, but the usage context is sufficiently clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full disclosure burden. It states the action (fetches latest docs, updates cache) and the critical dependency (Unreal Editor running). It does not detail all side effects, but for a cache refresh the primary behavior is transparent enough.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences, front-loaded with the primary purpose, and includes only essential elaborative detail. No redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple 0-parameter tool with an output schema, the description fully explains what the tool does, its prerequisite, and its effect. Sibling context confirms it stands alone as a refresh operation. Complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so the description need not add parameter details. Baseline for 0 params is 4, and the description correctly implies no inputs are needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool refreshes the Unreal Python API documentation cache, with a specific verb ('Refresh') and resource. It differentiates from sibling tools like search/get/exec by being an update/cache maintenance operation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides the clear prerequisite that Unreal Editor must be running, which sets the context for use. Although it doesn't explicitly contrast with alternatives, the purpose is unambiguous and the requirement effectively guides when to invoke it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden. It discloses that the tool returns matching entries from the API index and supports partial matching and regex for the query. It does not mention potential side effects or limitations, but for a read-oriented search tool these are less critical.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is four short, efficient segments: purpose, return behavior, usage guideline, and parameter explanation. It is front-loaded with the action and target, with zero wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter search tool with an output schema, the description covers purpose, usage guidance, and parameter semantics. It does not need to explain return values because an output schema exists. The complexity is low, and the description fully satisfies the context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema describes query only as a string with no explanation. The description's Args section says it is a 'Search query (supports partial matching and regex),' which provides meaningful semantics and compensates for the 0% schema description coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states a specific action ('Search') with a defined target ('Unreal Python API') and scope ('by class or function name'). It also distinguishes from sibling detail-lookup tools by positioning itself as the name-discovery step, saying 'Use this to find the correct class/function name before getting detailed documentation.'

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It provides explicit guidance on when to use this tool: 'before getting detailed documentation.' This implies it is a precursor to sibling detail tools like get_class_overview or get_member_info. It does not explicitly name alternatives, but the workflow context is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    There are no annotations, so the description carries the full burden. It discloses that the tool lists all available modules and includes class counts, implying a read-only operation. It does not mention side effects or permissions, but for a straightforward listing tool, this is sufficient. The 'all available' and 'with class counts' details add behavioral specificity beyond the tool name.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences. The first sentence front-loads the core purpose, and the second provides usage guidance. There is no redundancy or unnecessary information, making it highly concise and well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple (no params, output schema exists). The description covers the purpose and usage context, including a pointer to the resource used for retrieving class details. This is complete for the tool's complexity and does not need to explain return values thanks to the output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, and the schema confirms this. The baseline for a zero-param tool is 4, and since there are no parameter descriptions needed, the description appropriately omits param details. There is nothing to add beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'List all available Unreal modules with class counts' which identifies a specific action (list) and resource (Unreal modules) with a distinguishing detail (class counts). This separates it from sibling tools like get_class_overview (which retrieves classes for a specific module) and list_unreal_instances (which lists engine instances).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly tells the agent when to use this tool ('Use this to discover what modules are available') and provides a clear next step ('then use unreal-python://index/module/{name} resource to get classes for that module'). This gives both a use case and a pointer to an alternative resource, satisfying the 'when-to-use' and 'alternatives' criteria.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden. It discloses that by default data comes from TOC with no Unreal query, and with include_doc=True it fetches from Unreal. It also notes performance implications (100KB+ for large classes), providing 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Every sentence serves a purpose: summary, default behavior, alternative tools, efficiency note, and Args. Well-structured and appropriately sized with no fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the output schema exists and the tool is relatively simple, the description covers purpose, usage, parameters, and behavioral nuances. It is complete for an agent to correctly select and invoke the tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must explain parameters. It does so clearly: class_name example values ('Actor', 'EditorAssetLibrary') and include_doc behavior with default value. This adds meaning beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get class overview with member name lists only (very lightweight).' It specifies the output scope and distinguishes itself from sibling tools like get_member_info/get_members_info by emphasizing lightweight operation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly provides when to use: for lightweight overviews, and when not: 'Use get_member_info or get_members_info to get details for specific members.' Also explains efficiency benefits for large classes, giving clear context and alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

unreal-python-mcp MCP server

Copy to your README.md:

Score Badge

unreal-python-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/self-taught-code-tokushima/unreal-python-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server