← Back to directory
U

Unreal Engine API Documentation MCP Server

Community
Instant, accurate Unreal Engine C++ API lookups that save tokens and prevent hallucinated signatures.
Category
Dev Tools #227 of 438
Stars
★ 96 Popular
Transport
stdio (local process)
Runtime
Python 3.10+
Credentials
No credential needed
License
MIT
Last commit
Tools
5
52FMRS · D

A practical MCP server for Unreal Engine C++ developers whose main value is replacing expensive source reads and unreliable model memory with fast database lookups, sharply reducing hallucinated signatures, wrong #include paths, and deprecated API usage. Its own benchmarks show the MCP configuration beating Grep/Read-only and Read-only setups on questions about recent deprecations, exactly where model memory is weakest. It fits developers writing UE5 C++ in Claude Code, Cursor, or Windsurf, but it does not index third-party plugins or marketplace assets, is a third-party (non-Epic) project, and depends on a network download for its first run.

Strongest · Documentation 13/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
9/20
Maintenance
10/20
Documentation
13/20
Setup experience
12/20
Why each score
Reliability 8/20
Static evidence confirms README, server.json, and the declared project layout: five tools (search_unreal_api, get_function_signature, get_include_path, get_class_reference, get_deprecation_warnings) match the described behavior, the runtime path (uvx/pip, stdio transport, first-run DB download into ~/.unreal-api-mcp/) is coherent, and latency/benchmark tables are provided. However there is no verifiable execution evidence in the supplied material: no committed tests, no readable CI workflow content (README only shows a detect-ue-release badge), and no error-handling code to inspect. Per static calibration this caps reliability at 8. An internal contradiction (description says default 5.8, README body says default 5.7) and the patch-to-major.minor fallback being documented only in prose further reduce confidence.
Security and permissions 9/20
No red-line behavior found: read-only query tools, no credential collection, no silent exfiltration, no dangerous default operations; network access is limited to downloading a SQLite database from GitHub and an update check, and all environment variables are non-secret strings. Deductions: the mandatory first-run network download writes into the user home directory, yet the README does not disclose integrity verification (hash/signature) for the database, the update-check frequency, or failure handling, and offers no explicit offline/network-disable switch; ingest can read a local install path but its write scope is undisclosed. Least privilege is largely respected but data-flow disclosure is incomplete, so 9 — no red line triggered.
Maintenance 10/20
The repository is not archived, ships an MIT license, and the README describes an automated weekly UE-release detection and database build pipeline, a db-v1 release page, a re-runnable benchmark harness, PyPI badges, and a contact email. Deductions: the existence and actual behavior of the CI workflow cannot be verified from static material (badges are not evidence); version is only 0.1.1 and governance artifacts (CHANGELOG, security-response channel, dependency update policy, issue-response history) are absent; the popularity signal (95 stars, 1 open issue) is discovery-only and adds nothing. Note a potential conflict between the MIT badge and the README's 'Commercial use requires permission' clause, which weakens licensing clarity. Scored 10.
Documentation 13/20
Documentation is layered and usable: quick start, version-detection priority table, a five-tool table with examples, coverage plus explicit non-coverage (third-party plugins and marketplace assets), record counts, latency benchmarks, benchmark methodology with a re-run command, a CLAUDE.md snippet, a troubleshooting table, and alternative install methods. Deductions: the default version is stated inconsistently (5.7 vs 5.8); per-tool parameter signatures and return shapes are not fully specified; benchmark results are author-run with images served from raw links and cannot be statically verified; database verification/update behavior, privacy, and network data flow are not disclosed; and the licensing/cost boundary (commercial-use restriction versus 'free to use') is left unresolved. Scored 13.
Setup experience 12/20
Setup examples are complete for two install paths (uvx and pip, stdio transport, env injection via UNREAL_VERSION or UNREAL_PROJECT_PATH), with .uproject auto-detection and a local ingest fallback, and mainstream clients (Claude Code, Cursor, Windsurf) are named along with the Python 3.10+ requirement. However, no committed tests or CI evidence demonstrate an end-to-end working connection, and first run requires an internet download plus writes to the home directory with no documented offline path, making setup moderately manual and fragile. Against the static cap of 15, scored 12.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkConnects to a database

Best for

  • Developers writing Unreal Engine C++ with AI agents
  • Teams wanting to cut token usage and avoid API hallucinations
  • UE5 projects that must handle the latest deprecations and version differences
  • Developers working in MCP-compatible tools such as Claude Code, Cursor, or Windsurf

Not for

  • Users needing third-party plugin or marketplace asset APIs (not indexed)
  • Projects using engines other than Unreal Engine
  • Users who want a graphical interface rather than agent-driven lookups
  • Users requiring official Epic Games support or endorsement

Required permissions

  • Local file system access: to auto-detect the engine version from .uproject and to read/write the database cache in ~/.unreal-api-mcp/
  • Network access: to download the version-specific database from GitHub on first run and to check for updates on startup

Risks and side effects

  • The first run needs internet access to download the database; restricted networks may fail
  • If neither UNREAL_VERSION nor UNREAL_PROJECT_PATH is set, it may serve a version that differs from your actual project and return APIs for the wrong engine version
  • Only engine and built-in plugin APIs are covered, so third-party queries return nothing and may mislead an agent into thinking an API does not exist
  • Maintained by a third-party developer, not an official Epic Games project, and offers no official support
  • Although licensed under MIT, commercial use requires additional permission

Setup

Before you start

Runtime:Python 3.10+

Other optional settings (3)
UNREAL_VERSION optional Unreal Engine version to serve, e.g. 5.5 or 5.7.3; set it yourself. Defaults to 5.7 if unset (or auto-detected via UNREAL_PROJECT_PATH).
UNREAL_PROJECT_PATH optional Path to your local Unreal project; the server reads the .uproject EngineAssociation field to auto-detect the version.
UNREAL_INSTALL_PATH optional Overrides the UE install path only when building a database locally with ingest (e.g. H:/UE_5.6); not needed for normal operation.
  1. Add the server to your MCP config file (.mcp.json, mcp.json, or your tool's MCP settings).
  2. Use uvx as the command: command "uvx", args ["unreal-api-mcp"].
  3. Set the UNREAL_VERSION environment variable to match your project (e.g. "5.5"), or set UNREAL_PROJECT_PATH to your project directory to auto-detect the version from the .uproject EngineAssociation field.
  4. On first run, the server downloads the matching database to ~/.unreal-api-mcp/.
  5. It is recommended to add usage rules to your project's CLAUDE.md (or equivalent instructions file) so the AI verifies signatures and include paths before writing UE API calls.
  6. Alternative install: pip install unreal-api-mcp, then set command to "unreal-api-mcp".
.mcp.json
{
  "mcpServers": {
    "unreal-api": {
      "command": "uvx",
      "args": ["unreal-api-mcp"],
      "env": {
        "UNREAL_VERSION": "5.5"
      }
    }
  }
}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "unreal-api": {
      "command": "uvx",
      "args": [
        "unreal-api-mcp"
      ],
      "env": {
        "UNREAL_VERSION": "5.5"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add unreal-api -e UNREAL_VERSION=5.5 -- uvx unreal-api-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After starting, confirm the five tools (search_unreal_api, get_function_signature, get_include_path, get_class_reference, get_deprecation_warnings) appear in your client's tool list, or call get_function_signature("AActor::GetActorLocation") to prove the database downloaded and queries work. stderr should show unreal-api-mcp: serving UE <version>.

Troubleshooting

  1. "Could not download UE X database": check your internet connection, or build the database locally with python -m unreal_api_mcp.ingest --unreal-version 5.6 --unreal-install H:/UE_5.6
  2. Wrong API version being served: set UNREAL_VERSION explicitly and check stderr for "unreal-api-mcp: serving UE <version>"
  3. Server won't start: check python --version is 3.10+ and confirm the path with which unreal-api-mcp or where unreal-api-mcp
  4. Third-party plugins return no results: this is expected; only built-in Engine and Plugin APIs are indexed

Things to try

Once connected, you can ask your AI assistant things like:

  • What is the full function signature of AActor::GetActorLocation?
  • What is the #include path for ACharacter?
  • Search the Unreal Engine API for 'character movement'.
  • Is K2_AttachRootComponentTo deprecated, and if so what should I use instead?

Tools 5

search_unreal_api read-only
Find APIs by keyword, e.g. "character movement", "spawn actor", "K2Node".
get_function_signature read-only
Get the exact signature with parameters and return type, e.g. AActor::GetActorLocation.
get_include_path read-only
Resolve the #include for a type, e.g. "ACharacter" to #include "GameFramework/Character.h".
get_class_reference read-only
Return a full class reference card, e.g. "APlayerController", "UK2Node_SpawnActorFromClass", "UEdGraphSchema_K2".
get_deprecation_warnings read-only
Check whether an API is obsolete, e.g. K2_AttachRootComponentTo suggests using AttachToComponent() instead.

Use cases

Verifying function signatures, parameters, and return types while writing Unreal Engine C++ code
Confirming which #include path a given type needs
Reviewing all members of a class such as UCharacterMovementComponent
Searching engine APIs by keyword, e.g. finding "spawn actor" related interfaces
Checking whether an API is deprecated and what replaces it
Looking up Blueprint graph internals when writing custom K2 nodes or editor tooling

Supported clients

Claude Code
Cursor
Windsurf

Listed from the project's documentation, not tested by this site.

Overview

This is a Model Context Protocol (MCP) server that gives AI coding agents accurate Unreal Engine C++ API documentation. It answers queries from a version-specific SQLite database, returning exact function signatures, #include paths, class member lists, and deprecation warnings, so agents avoid inventing signatures, guessing wrong headers, or calling deprecated APIs. On first run it automatically downloads the database for the matching engine version into ~/.unreal-api-mcp/, then serves over stdio. No Unreal Engine installation is required. Coverage includes all Engine Runtime, Editor, and Developer modules plus built-in plugins (Enhanced Input, Gameplay Abilities, Common UI, Niagara, Chaos, and many more), with Blueprint graph internals indexed as well (158 UK2Node subclasses, UEdGraphSchema_K2, BlueprintGraph, KismetCompiler, GraphEditor). It does not cover third-party plugins or marketplace assets. Licensed under MIT, with commercial use requiring permission.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 9a910797582a Data synced 2026-10-19 Read the FMRS scoring method