Skip to main content
Glama
tumourlove

unreal-project-mcp

by tumourlove

unreal-project-mcp

Project-level source and configuration intelligence for Unreal Engine AI development via Model Context Protocol.

Indexes your UE project's C++ source code, config/INI files, Build.cs dependencies, plugin descriptors, gameplay tags, replication topology, asset references, and log categories into a SQLite database. Exposes 17 MCP tools for AI coding assistants like Claude Code — structural queries, config lookups, dependency graphs, and full-text search across your entire project.

Why?

AI assistants are great at writing code but struggle to understand large codebases. This server gives them structural awareness of your project — what calls what, how classes relate, where symbols are used, what config drives behavior, how modules depend on each other — so they can make informed changes instead of guessing.

Complements (does not replace):

  • unreal-source-mcp — Engine-level source intelligence (full UE C++ and HLSL)

  • unreal-editor-mcp — Build diagnostics and editor log tools (Live Coding, error parsing, log search)

  • unreal-blueprint-mcp — Blueprint graph reading (nodes, pins, connections, execution flow)

  • unreal-blueprint-reader — C++ editor plugin that serializes Blueprint graphs to JSON for AI tooling

  • unreal-material-mcp — Material graph intelligence, editing, and procedural creation (46 tools: expressions, parameters, instances, graph building, templates, C++ plugin)

  • unreal-config-mcp — Config/INI intelligence (resolve inheritance chains, search settings, diff from defaults, explain CVars)

  • unreal-animation-mcp — Animation data inspector and editor (sequences, montages, blend spaces, ABPs, skeletons, 62 tools)

  • unreal-niagara-mcp — Niagara VFX intelligence and editing (emitters, modules, HLSL generation, procedural creation, 70 tools)

  • unreal-api-mcp by Nico Bailon — API surface lookup (signatures, #include paths, deprecation warnings)

Together these servers give AI agents full-stack UE understanding: engine internals, API surface, your project code, build/runtime feedback, Blueprint graph data, config/INI intelligence, material graph inspection + editing, animation data inspection + editing, and Niagara VFX inspection + creation.

Related MCP server: ue-codegraph-mcp

Quick Start

Install from GitHub

uvx --from git+https://github.com/tumourlove/unreal-project-mcp.git unreal-project-mcp --index

Claude Code Configuration

Add to your project's .mcp.json:

{
  "mcpServers": {
    "unreal-project": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/tumourlove/unreal-project-mcp.git", "unreal-project-mcp"],
      "env": {
        "UE_PROJECT_PATH": "D:/Unreal Projects/MyProject",
        "UE_PROJECT_NAME": "MyProject"
      }
    }
  }
}

Or run from local source during development:

{
  "mcpServers": {
    "unreal-project": {
      "command": "uv",
      "args": ["run", "--directory", "C:/Projects/unreal-project-mcp", "python", "-m", "unreal_project_mcp"],
      "env": {
        "UE_PROJECT_PATH": "D:/Unreal Projects/MyProject",
        "UE_PROJECT_NAME": "MyProject"
      }
    }
  }
}

The server auto-indexes on first run if no database exists.

Tools (17)

C++ Source Intelligence

Tool

Description

search_project

Full-text search across project C++ source. Supports FTS, regex, and substring modes. Filter by module, path, or symbol kind.

read_project_source

Read the actual implementation of a class, function, or struct with line numbers. Shows both .h and .cpp.

find_project_callers

Find all functions that call a given function. Includes heuristic delegate/binding detection.

find_project_callees

Find all functions called by a given function.

find_project_references

Find all usage sites of a symbol (calls, type references, includes).

get_project_class_hierarchy

Show the inheritance tree for a class — ancestors, descendants, or both.

get_project_module_info

Module statistics: file count, symbol counts by kind, key classes.

Config & Build Intelligence

Tool

Description

get_config_values

Look up config/INI values by key with optional section filter. Cross-references with UPROPERTY(Config) C++ symbols.

search_config

Full-text search across all project config/INI files (sections, keys, values).

get_module_dependencies

Build.cs module dependency graph — dependencies, dependents, or both directions.

get_plugin_info

Plugin metadata, modules, and plugin-to-plugin dependencies from .uplugin files.

find_data_table_schema

Data table struct definitions — finds FTableRowBase children and linked data tables.

Runtime & Asset Intelligence

Tool

Description

find_asset_references

Find C++ code that references assets by path (TEXT("/Game/..."), LoadObject, ConstructorHelpers, FSoftObjectPath).

search_gameplay_tags

Search gameplay tag definitions and usage across C++, INI config, and CSV data tables.

find_log_sites

Find log category declarations (DECLARE_LOG_CATEGORY_EXTERN) and UE_LOG usage sites.

get_replication_map

Replicated properties and Server/Client/NetMulticast RPCs for a class or the entire project.

search_project_tags

Pattern-based classifications: subsystems, anim notifies, console commands.

CLI

# Index project source (first time)
unreal-project-mcp --index

# Rebuild from scratch
unreal-project-mcp --reindex

# Incremental update (only changed files)
unreal-project-mcp --reindex-changed

# Run as MCP server (default, used by Claude Code)
unreal-project-mcp

Environment Variables

Variable

Required

Description

UE_PROJECT_PATH

Yes

Path to the project root (containing Source/ and Plugins/)

UE_PROJECT_NAME

No

Project name for the DB filename. Auto-detected from .uproject if not set.

UNREAL_PROJECT_MCP_DB_DIR

No

Override DB storage location (default: ~/.unreal-project-mcp/)

How It Works

  1. Discovery — Walks Source/ for game modules and Plugins/*/Source/ for plugin modules. Uses the actual module subdirectory names, not plugin folder names (handles marketplace hashed folders correctly).

  2. C++ Parsing — Uses tree-sitter with the C++ grammar to build ASTs. Handles UE macros (UCLASS, UFUNCTION, UPROPERTY, etc.) with regex fallback for misparsed nodes. Extracts replication specifiers, asset path references, and log category declarations.

  3. Config & Build Parsing — Parses UE's non-standard INI format (duplicate keys, +/-/./! prefixes), Build.cs module dependencies, and .uplugin plugin descriptors.

  4. Post-Processing — Scans for gameplay tags across C++, INI, and CSV sources. Applies pattern-based classification to identify subsystems, anim notifies, and console commands.

  5. Storage — SQLite with FTS5 full-text search. 19 tables covering symbols, inheritance, cross-references, config entries, asset references, gameplay tags, replication entries, module dependencies, plugins, log categories, and pattern tags.

  6. Serving — FastMCP server exposes 17 tools over stdio. Claude Code manages the server lifecycle automatically.

What Gets Indexed

C++ Source:

  • Classes, structs, enums (with base classes and UE macro metadata)

  • Functions (declarations and definitions, with qualified names like UMyClass::MyMethod)

  • Variables (member variables with UPROPERTY detection)

  • Includes, call references, type references, inheritance relationships

  • Replication markers (Server/Client/NetMulticast RPCs, Replicated/ReplicatedUsing properties)

  • Asset path references (TEXT("/Game/..."), LoadObject<T>, ConstructorHelpers, FSoftObjectPath)

  • Log categories (DECLARE_LOG_CATEGORY_EXTERN, DEFINE_LOG_CATEGORY)

  • Docstrings (/** */ and /// comments)

Config & Build:

  • INI config key-value pairs across all Config/*.ini files

  • Build.cs module dependencies (public, private, dynamically loaded)

  • Plugin descriptors (metadata, modules, plugin dependencies)

Derived Intelligence:

  • Gameplay tags from C++ source, INI config, and CSV data tables

  • Data table struct detection (FTableRowBase children)

  • Pattern classifications (subsystems, anim notifies, console commands)

Adding to Your Project's CLAUDE.md

## Project Intelligence (unreal-project MCP)

Use `unreal-project` MCP tools to search, read, and understand your project's C++ source,
config files, module dependencies, gameplay tags, and replication topology.

| Tool | When |
|------|------|
| `search_project` | Full-text search across project C++ source |
| `read_project_source` | Read implementation of a class/function |
| `find_project_callers` | What calls this function? |
| `find_project_references` | Find all usage sites of a symbol |
| `get_project_class_hierarchy` | Inheritance tree (ancestors/descendants) |
| `get_config_values` | Look up config/INI values by key |
| `get_module_dependencies` | Module dependency graph from Build.cs |
| `search_gameplay_tags` | Search gameplay tag definitions and usage |
| `get_replication_map` | Replicated properties and RPCs |

Development

# Clone and install
git clone https://github.com/tumourlove/unreal-project-mcp.git
cd unreal-project-mcp
uv sync

# Run tests (157 tests)
uv run pytest -v

# Run locally
UE_PROJECT_PATH="/path/to/project" uv run python -m unreal_project_mcp

Requirements

  • Python 3.11+

  • uv (recommended) or pip

License

MIT

Available Tools

17 tools
find_asset_referencesB

Find C++ code that references assets by path, or find all asset paths referenced by a symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathNo
symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 fails to disclose behavioral traits like read-only status, parameter interaction (e.g., mutual exclusivity), or response behavior beyond the basic two-mode operation.

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

Conciseness4/5

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

The description is a single sentence that front-loads the core purpose, but could be more structured (e.g., bullet points) for clarity on the two modes.

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

Completeness2/5

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

Given two optional parameters and an output schema, the description does not explain parameter interaction, return details, or limitations, leaving gaps for an AI agent to select and invoke correctly.

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

Parameters2/5

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

With 0% schema description coverage, the description adds minimal meaning beyond parameter names. It does not explain format, constraints, or how the two parameters interact (e.g., whether one is required or if both can be used together).

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 finds C++ code referencing assets by path or finds asset paths referenced by a symbol. It specifies the verb and resources distinctly from sibling tools.

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?

The description implies usage for asset reference searches but does not explicitly state when to use this tool over alternatives like find_project_references or search_project.

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

find_data_table_schemaC

Show the FTableRowBase struct definition and linked data table for a data table schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Show' implying a read operation, but lacks details on permissions, side effects, or limitations.

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

Conciseness4/5

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

Single sentence with no wasted words. However, it could be more structured by separating the purpose and the parameter explanation.

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

Completeness2/5

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

Given the single parameter and existence of an output schema, the description is too brief. It doesn't explain what 'linked data table' means or provide usage context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should clarify the parameter. It indirectly implies the parameter is the data table name, but doesn't specify format or required context.

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 shows 'the FTableRowBase struct definition and linked data table' for a data table schema, with a specific verb and resource. It distinguishes from sibling tools like find_asset_references which focus on different assets.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives like search_project or find_project_references. No exclusions or prerequisites mentioned.

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

find_log_sitesB

Find where a log category is declared and all UE_LOG usage sites.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must bear full burden of disclosure. It states what the tool does but does not disclose behavioral traits like search scope, performance, or what constitutes a usage site. Lacks depth for a mutation tool (though this is a read operation).

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

Conciseness4/5

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

The description is a single sentence with no wasted words, efficient but somewhat underspecified. It could benefit from more detail without becoming verbose.

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

Completeness2/5

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

Given the tool has two parameters (one required) and an output schema, the description is too minimal. It does not explain the purpose of each parameter, the structure of results, or any constraints. The agent would lack critical information to invoke it correctly.

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

Parameters1/5

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

Schema coverage is 0%, meaning no parameter descriptions are provided in the schema. The tool description does not explain the 'category' or 'limit' parameters, so it adds no meaning beyond the minimal schema (name and type).

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 finds 'where a log category is declared and all UE_LOG usage sites', using specific verb and resource. It is distinct from sibling tools like search_project or find_asset_references by focusing on log categories.

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?

The description implies the tool is used for finding log category declarations and usage sites, but provides no explicit guidance on when to use it versus alternatives or when not to use it.

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

find_project_calleesC

Find all functions called by the given function in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
functionYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states the basic behavior. It does not disclose whether calls are direct or indirect, whether recursion is handled, or any performance implications.

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

Conciseness3/5

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

The description is a single sentence and concise, but it is too sparse. It could benefit from additional context without significant bloat.

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

Completeness2/5

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

Although an output schema exists, the description fails to clarify important aspects like scope (project-wide?), whether it follows branches, or how the result is structured. It is incomplete for a potentially complex analysis tool.

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

Parameters1/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. It provides no explanation of the 'function' parameter format or the meaning of 'limit'. The description adds no value 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 the verb 'find' and the resource 'functions called by the given function in the project', distinguishing it from sibling tool 'find_project_callers' which does the reverse.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like find_project_callers or other search tools. The description lacks any when-to-use or when-not-to-use context.

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

find_project_callersC

Find all functions in the project that call the given function.

ParametersJSON Schema
NameRequiredDescriptionDefault
functionYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description bears the full burden of behavioral disclosure, but it only states the basic purpose. It does not mention scope (e.g., whole project, current file), performance implications, or what exactly constitutes a 'function' (e.g., excludes classes or macros).

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

Conciseness3/5

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

The description is a single sentence, which is concise but too terse. It lacks necessary structure to be maximally helpful; could cover parameter details without significant length increase.

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

Completeness2/5

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

Although an output schema exists, the description is incomplete for an agent to effectively decide when to use the tool. It omits parameter guidance and scope details, which are critical given the many sibling tools.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description does not explain the parameters 'function' and 'limit'. It fails to specify that 'function' expects a function name and 'limit' caps results, leaving the agent without needed context.

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 'Find all functions in the project that call the given function,' specifying the verb 'find' and the resource 'functions that call the given function.' It effectively distinguishes from sibling tools like find_project_callees (which finds called functions) and find_project_references (which finds references).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like find_project_callees or find_project_references. There is no mention of prerequisites, limitations, or context in which this tool is appropriate.

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

find_project_referencesA

Find all usage sites of a symbol in the project (calls, includes, type references, etc.).

ref_kind: filter by reference kind (e.g. 'call', 'include', 'type'). Empty for all.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
ref_kindNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided; the description carries the full burden. It does not disclose whether the tool is read-only, how it handles large results (e.g., limit default of 50), or any error conditions. While it describes what it finds, key behavioral aspects are missing for a safe and predictable invocation.

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 exceptionally concise: two sentences. The first sentence states the core purpose, and the second explains the key filtering parameter. No unnecessary words or repetition.

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

Completeness3/5

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

Given that the tool has an output schema (not shown), the description does not need to explain return values. However, it omits important context about the 'limit' parameter and its default of 50, which affects result completeness. For a tool with 3 parameters and one optional with a default, this is a notable gap.

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?

The description adds meaning for the 'ref_kind' parameter by providing example values like 'call', 'include', 'type'. However, it does not explain the 'symbol' parameter beyond its obvious role, and the 'limit' parameter is entirely undocumented. With 0% schema description coverage, the description only partially compensates.

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: finding all usage sites of a symbol, including calls, includes, type references, etc. It specifies the resource (project) and the action (find references), distinguishing it from sibling tools that focus on specific reference types like callers/callees.

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 implies usage for general reference search by enumerating reference kinds. It provides a basic filtering option (ref_kind). However, it does not explicitly contrast with sibling tools like find_project_callees or find_project_callers, which would help an agent decide when to use this tool over others.

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

get_config_valuesB

Look up config/INI values by key name, with optional section filter. Cross-references with UPROPERTY(Config) C++ symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
sectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only mentions cross-referencing as an additional behavior. It does not disclose whether it is read-only, error handling (e.g., missing key), performance considerations, or any side effects. The information is minimal.

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 very concise, consisting of two sentences with no fluff. The key actions and features are front-loaded, making it quick to parse.

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

Completeness3/5

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

Given the tool's simplicity (2 parameters, no annotations, output schema exists), the description covers the essential purpose but lacks details on usage context and behavioral outcomes. The cross-reference feature is mentioned but not elaborated, leaving some incompleteness for a fully informed decision.

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

Parameters2/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. It mentions 'by key name' and 'optional section filter', mapping to the two parameters, but provides no detail on key format, section format, or constraints. The description adds basic meaning but lacks sufficient detail for effective use.

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 does a lookup of config/INI values by key name, with an optional section filter. It further specifies cross-referencing with UPROPERTY(Config) C++ symbols, which adds specific context and differentiates it from siblings like search_config.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like search_config. The cross-reference mention hints at a use case but does not state when to prefer it over siblings. There is no when-not or alternatives listed.

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

get_module_dependenciesB

Show Build.cs dependency graph for a module. direction: 'dependencies', 'dependents', or 'both'.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_nameYes
directionNoboth

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must cover behavioral aspects. It only states basic purpose and direction parameter values. It omits details on error handling (e.g., missing module), output format, or performance implications, which are critical for an agent.

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 extremely concise: two sentences covering purpose and parameter options. No wasted words, front-loaded with key information.

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

Completeness3/5

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

For a tool with 2 parameters (1 required) and an output schema, the description is minimally adequate. It covers the core purpose and direction options, but lacks context on output contents, error states, or connectivity to sibling tools.

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

Parameters2/5

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

Schema description coverage is 0% so description must compensate. It explains the direction parameter values but does not clarify the module_name parameter (e.g., expected format, case sensitivity, or constraints). The description adds marginal but insufficient value.

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 function: showing the Build.cs dependency graph for a module. It specifies the direction parameter with three valid values, distinguishing it from sibling tools like get_project_module_info that might provide different module information.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like find_project_references or get_project_module_info. The description does not mention prerequisites, scenarios, or exclusions.

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

get_plugin_infoC

Show plugin metadata, modules, and dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
plugin_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It implies a read-only operation ('Show'), but does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects. More context would be beneficial.

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

Conciseness4/5

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

A single, precise sentence that is front-loaded and contains no unnecessary words. However, it could include the parameter context without losing conciseness.

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

Completeness3/5

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

Given the output schema exists, the description provides a reasonable high-level overview. However, it lacks parameter context, and the tool is simple with one required param, so the description could be more complete.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not mention the single required parameter 'plugin_name', leaving the agent to infer its purpose from the tool name alone. This is inadequate for correct invocation.

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 uses the specific verb 'Show' and clearly indicates the resource (plugin metadata, modules, dependencies). It distinguishes from sibling tools like 'get_module_dependencies' by encompassing all three aspects of plugin info.

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

Usage Guidelines2/5

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

No usage guidance, context, or alternatives are provided. The description does not help the agent decide when to use this tool versus siblings like 'find_asset_references' or 'get_module_dependencies'.

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

get_project_class_hierarchyB

Show the inheritance tree for a class in the project.

direction: 'ancestors' (parents), 'descendants' (children), 'both'

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameYes
directionNoboth
depthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only implies a read operation but does not disclose behavioral traits like error handling (e.g., class not found), output format beyond inheritance tree, or whether it caches results. Lacks depth.

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

Conciseness4/5

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

Very concise, two sentences with no redundancy. Could be improved by including brief parameter details within same space, but front-loading of purpose is effective.

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

Completeness3/5

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

Given an output schema exists, return format is likely documented. However, for 3 parameters and no schema descriptions, the description should provide more context on class_name and depth to be fully complete.

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?

Adds value by explaining 'direction' parameter values, but does not cover 'class_name' (expected format? full path?) or 'depth' (unit? inclusive?). With schema description coverage at 0%, description only partially compensates.

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?

Description clearly states 'Show the inheritance tree for a class in the project,' using a specific verb and resource. It distinguishes from sibling tools like find_project_references, which are about searching references rather than hierarchy.

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?

Description provides direction options (ancestors, descendants, both) but lacks explicit guidance on when to use this tool vs alternatives or when not to use it. No exclusion criteria or context for depth parameter.

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

get_project_module_infoB

Get project module statistics: file count, symbol counts by kind, and key classes.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It does not disclose read-only nature, required permissions, or any constraints (e.g., module name format, error cases). The implied read operation is likely but not explicit.

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?

Single sentence that is front-loaded with the action and resource, and immediately enumerates the key statistics returned. No redundant information.

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

Completeness3/5

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

Given one required parameter and an output schema (not shown), the description covers the basic purpose but omits usage context and parameter details. It is adequate for a simple tool but leaves gaps for an agent to infer proper invocation.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning beyond the parameter name 'module_name'. The agent gets no format, allowed values, or example references, which is critical for a single free-text string parameter.

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 uses specific verb 'Get' and resource 'project module statistics', listing concrete outputs (file count, symbol counts, key classes). It clearly distinguishes from sibling tools focused on searching and finding references.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. With many sibling tools for different retrieval tasks, the agent cannot infer selection criteria beyond the tool name.

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

get_replication_mapA

Show Server/Client/NetMulticast RPCs and replicated properties for a class (or all classes).

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It implies a read-only operation via 'Show', but lacks details on potential side effects, performance impact, or required permissions, offering minimal transparency.

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 a single, front-loaded sentence with no wasted words. Every part contributes to understanding the tool's purpose, making it efficient and easy to parse.

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?

Given the existence of an output schema, the description adequately covers what the tool shows. It is somewhat minimal but sufficient for a simple list operation, though additional context about the output structure could enhance completeness.

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 description coverage is 0%, but the description adds meaning by explaining that an empty class_name shows all classes. This compensates for the lack of schema documentation, though it could be more explicit about the parameter's format or defaults.

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 verb 'Show', the resource 'Server/Client/NetMulticast RPCs and replicated properties', and the scope 'for a class (or all classes)'. This differentiates it from sibling tools like find_asset_references or search_project, which focus on different tasks.

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?

No explicit guidance on when to use this tool versus alternatives is provided. While the sibling tools are distinct, the description does not clarify specific contexts where this tool is appropriate or inappropriate, leaving the agent to infer usage.

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

read_project_sourceA

Get the implementation source code for a class, function, or struct in the project.

Shows the actual source lines from disk with line numbers. For classes, shows both .h declaration and .cpp implementation if available.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
include_headerNo
max_linesNo
members_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions line numbers and dual-file output for classes but omits details on error handling, default behavior for max_lines (0 meaning all), or permissions. While basic read behavior is clear, additional specifics are 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 two concise sentences that front-load the main purpose and add a key detail about dual-file output. Every sentence adds value 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?

Given the presence of an output schema and four parameters, the description covers the core function and output characteristics. However, it lacks usage context (e.g., symbol must exist in project) and doesn't explain parameter defaults (max_lines=0). Still, it is mostly sufficient for a focused tool.

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?

With 0% schema description coverage, the description partially compensates by explaining 'symbol' as a class/function/struct and implying 'include_header' via mention of .h/.cpp. However, 'max_lines' and 'members_only' are not explained, leaving gaps.

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 implementation source code for classes, functions, or structs, specifying it shows actual lines with line numbers and handles dual files for classes. This distinctly differentiates it from sibling tools that search or retrieve metadata.

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 implies the tool is for reading source code, but it does not explicitly define when to use it versus alternatives. However, sibling tools are all non-source-reading (e.g., find_*, search_*), so confusion is minimal.

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

search_configC

Full-text search across all project config/INI files (sections, keys, and values).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must convey all behavioral traits. It only states 'full-text search' without details on case sensitivity, scoping (all projects or current), performance, or output format. This omission harms predictability.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It conveys the core purpose but does not separate usage, parameters, or behavioral notes, making it minimally acceptable.

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

Completeness2/5

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

Given the simplicity (2 params) and existence of an output schema, the description should provide sufficient context for correct invocation. However, it omits parameter details and behavioral traits, and the lack of guidance among many sibling search tools makes it incomplete.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the parameters beyond their names. 'query' and 'limit' have no format, constraints, or behavior described. The agent cannot infer expected input values or query syntax.

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 'Full-text search across all project config/INI files (sections, keys, and values)', specifying the verb (search), resource (config files), and scope. It differentiates from sibling tools like 'search_project' by targeting config files specifically.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'search_project', 'search_project_tags'). The description does not mention exclusions or when not to use it, leaving the agent without context for tool selection.

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

search_gameplay_tagsC

Search gameplay tag definitions, requests, and checks across the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
usage_kindNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavior. It only says 'search', implying a read operation, but does not disclose side effects, performance, authentication needs, or result format. Lacks transparency for a search tool.

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

Conciseness2/5

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

The description is a single short sentence, but it omits essential details about parameters and usage, making it under-specified rather than concise.

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

Completeness2/5

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

Despite having an output schema, the description lacks parameter explanations and usage context, leaving the agent with insufficient information to invoke the tool correctly.

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

Parameters1/5

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

Schema coverage is 0% (parameter descriptions missing). The description does not explain what 'query' or 'usage_kind' mean or how to use them, adding no value beyond parameter names.

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

Purpose4/5

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

The description clearly states the tool searches 'gameplay tag definitions, requests, and checks across the project', providing a specific verb and resource. It is more specific than the sibling 'search_project_tags', though it doesn't explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'search_project_tags' or other siblings. No context on prerequisites or exclusions.

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

search_projectA

Full-text search across project source code.

scope: 'cpp' (headers+source), 'all' mode: 'fts' (default, token-based), 'regex', 'substring' module: filter to files in this module (e.g. 'MyGameModule') path_filter: filter to files whose path contains this string symbol_kind: filter symbol results by kind (class, function, struct, etc.) Returns both symbol matches and source line matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
scopeNoall
limitNo
modeNofts
moduleNo
path_filterNo
symbol_kindNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Discloses that it returns both symbol matches and source line matches. Explains behavior of each parameter. No annotations, but description is fairly transparent about the operation.

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?

Concise and well-organized. Front-loaded with purpose, then each parameter explained in a clear, scannable format. No superfluous content.

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?

Covers all key aspects: purpose, parameters, return types. With an output schema (implied), the description is sufficient and leaves no major gaps.

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?

Adds significant meaning beyond the schema: explains scope options, mode types, and filtering parameters. Schema has no descriptions (0% coverage), so description is essential and well-done.

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?

Clearly states it performs full-text search across project source code. Distinct from siblings like find_project_references or read_project_source, which have different focus.

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 detailed guidance on parameters (scope, mode, module, etc.) and their values. However, does not explicitly compare to alternatives or state when not to use this tool.

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

search_project_tagsC

Search pattern tags: subsystems, anim_notify, console_command.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
queryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose behavioral traits such as whether the search is case-sensitive, how results are sorted, or the scope of the search. Only lists example tag kinds without further detail.

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

Conciseness3/5

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

Description is very concise at one sentence, which is efficient, but it sacrifices necessary detail for effective tool invocation. Every sentence should earn its place, but here the single sentence does not provide sufficient guidance.

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

Completeness2/5

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

While an output schema exists (so return format is documented), the description fails to provide a complete picture for a search tool with two parameters. It lacks parameter semantics, usage context, and differentiation from similar tools, making it incomplete for accurate agent invocation.

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

Parameters1/5

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

Schema coverage is 0%, but description does not explain the meaning of 'kind' and 'query' parameters. The examples given (subsystems, anim_notify, console_command) are tag values, but it's unclear how they relate to the parameters. This leaves the agent guessing about parameter usage.

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

Purpose3/5

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

Description states 'Search pattern tags' and lists example tags, giving a general sense of purpose. However, it does not define what pattern tags are exactly, and there is overlap with sibling tool 'search_gameplay_tags' which also searches tags, lacking differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search_gameplay_tags or find_asset_references. No context about prerequisites 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.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, covering different aspects of Unreal Engine project analysis such as references, config, module dependencies, and source reading. Overlap is minimal and well-documented through distinct parameters.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, using descriptive verbs like find, get, read, search. This makes the tool surface predictable and easy to navigate.

Tool Count5/5

Seventeen tools is an appropriate number for the server's scope of analyzing Unreal Engine project code, config, and dependencies. Each tool adds value without overwhelming the user.

Completeness5/5

The tool set covers major analysis tasks: symbol references, config values, module dependencies, plugin info, class hierarchy, source reading, and various specialized searches. There are no obvious gaps for the stated purpose of project code analysis.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    An MCP server for indexing and querying Unreal Engine C++ codebases using a local SQLite database. It enables users to analyze call graphs, class structures, and Blueprint-exposed symbols through tools integrated with Claude Code.
    16
  • A
    license
    A
    quality
    A
    maintenance
    Exposes tools for AI assistants to query a persistent SQLite+FTS5 index of C/C++ symbols parsed from real build commands, enabling sub-millisecond lookup, full-text search, and natural-language explanation without hallucination.
    38
    7
    MIT

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/tumourlove/DEPRECATED-unreal-project-mcp'

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