npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

uefn-mcp-server

v1.0.0

Published

MCP server for UEFN - AI-powered Fortnite Creative map building with 87 tools

Readme

UEFN MCP Server

A comprehensive Model Context Protocol (MCP) server for building Fortnite Creative maps with Unreal Engine for Fortnite (UEFN) using AI assistance.

Features

  • 87 Tools for project management, code generation, analysis, refactoring, assets, and automation
  • 8 Game Templates (Battle Royale, Prop Hunt, Racing, Deathrun, Zone Wars, CTF, Box Fight, Hide & Seek)
  • 8 Asset Templates (Loot, Competitive, Deathrun, Racing, Prop Hunt, Social, Horror, Party)
  • 10 Prompts for guided workflows and conversational AI
  • 6 Resources for quick access to project data
  • Extensive Knowledge Base with 30+ patterns, 18+ code snippets, 20+ device APIs, 9 widget APIs
  • Asset Reference Library with 45+ Fortnite assets (weapons, consumables, props, audio, UI, VFX)
  • Intelligent Code Analysis with anti-pattern detection and quality metrics
  • Auto-Fix & Refactoring tools for common Verse issues

Installation

npm install
npm run build

Usage

Set the project path and run:

export UEFN_PROJECT_PATH="/path/to/your/uefn/project"
node dist/index.js

Claude Desktop Configuration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "uefn": {
      "command": "node",
      "args": ["/path/to/FortniteMCP/dist/index.js"],
      "env": {
        "UEFN_PROJECT_PATH": "/path/to/your/uefn/project"
      }
    }
  }
}

Tools Reference

Project Management (5 tools)

| Tool | Description | |------|-------------| | scan_project | Scan UEFN project structure, modules, and devices | | read_verse_file | Read .verse file with parsed metadata | | list_devices | List all creative_device classes with editables | | list_modules | List Verse modules with file counts | | get_asset_manifest | Read Assets.digest.verse |

File Operations (3 tools)

| Tool | Description | |------|-------------| | create_verse_file | Create new .verse file with validation | | edit_verse_file | Edit file with find/replace or line insertion | | delete_verse_file | Delete file (saved in history for undo) |

History & Revert (5 tools)

| Tool | Description | |------|-------------| | list_history | Show recent file changes | | revert_change | Undo specific change by ID | | revert_batch | Undo entire batch of changes | | revert_last | Quick undo last change | | diff_change | Show before/after for a change |

Error Detection (3 tools)

| Tool | Description | |------|-------------| | get_build_errors | Parse UEFN logs for Verse errors | | fix_verse_error | Apply fix to specific line | | validate_verse_syntax | Check code for syntax issues |

Code Generation (4 tools)

| Tool | Description | |------|-------------| | generate_device | Generate complete creative_device | | generate_class | Generate class/struct/interface | | generate_game_mode | Generate game mode scaffold | | get_device_types | List available UEFN device types |

Build & Push (5 tools)

| Tool | Description | |------|-------------| | trigger_build | Generate build automation instructions | | get_build_status | Get current build status from logs | | monitor_build | Watch for build completion | | push_build | Generate push automation instructions | | get_uefn_shortcuts | UEFN keyboard shortcuts reference |

Version Control (8 tools)

| Tool | Description | |------|-------------| | git_status | Check git status | | git_diff | Show file changes | | git_commit | Create commit | | git_log | View commit history | | git_branch | Manage branches | | git_stash | Stash/restore changes | | git_init | Initialize git with UEFN .gitignore | | git_add_all | Stage all changes |

Knowledge Base (12 tools)

| Tool | Description | |------|-------------| | search_docs | Search all documentation | | get_verse_types | Type reference (int, array, map, etc.) | | get_verse_keywords | Keywords by category | | get_verse_patterns | Common patterns with examples | | get_code_snippets | Ready-to-use code snippets | | get_pattern | Get specific pattern by name | | get_snippet | Get specific snippet by name | | get_quick_reference | Verse quick reference card | | get_device_api | Device API reference (methods, events) | | get_widget_api | Widget API reference (properties, methods) | | get_async_patterns | Async/concurrency patterns (spawn, race, sync) | | get_character_api | Player/character API reference |

Desktop Automation (6 tools)

| Tool | Description | |------|-------------| | capture_uefn_state | Screenshot/OCR instructions | | execute_workflow | Run predefined workflows | | find_ui_element | Locate UI elements | | get_automation_guide | Task-specific automation help | | detect_dialog | Handle dialog boxes | | get_uefn_layout | UEFN window layout reference |

Code Analysis (5 tools)

| Tool | Description | |------|-------------| | analyze_file | Analyze file for anti-patterns, performance issues, quality metrics | | analyze_project | Project-wide analysis with summary report | | suggest_improvements | Targeted suggestions (performance, readability, safety) | | detect_dead_code | Find unused functions, variables, imports | | analyze_dependencies | Import dependency analysis |

Project Templates (4 tools)

| Tool | Description | |------|-------------| | list_templates | List available game mode templates | | get_template | Get full template details with code | | generate_from_template | Generate all files from template | | create_custom_template | Create custom template from mechanics |

Refactoring (8 tools)

| Tool | Description | |------|-------------| | auto_fix_file | Auto-fix common Verse issues | | auto_fix_project | Auto-fix entire project | | rename_symbol | Rename across files | | extract_function | Extract code into function | | add_editable | Add @editable property | | extract_constant | Extract value to constant/@editable | | organize_imports | Sort imports by category | | add_error_handling | Add failable/option handling |

Advanced Tools (6 tools)

| Tool | Description | |------|-------------| | get_dependency_graph | Generate file dependency graph | | find_usages | Find all symbol usages | | generate_test_scenarios | Generate test scenarios for devices | | generate_docs | Generate API documentation | | analyze_performance | Performance analysis | | generate_boilerplate | Generate common pattern boilerplate |

Asset Tools (13 tools)

| Tool | Description | |------|-------------| | search_assets | Search Fortnite assets by name, type, or tag | | get_assets_by_category | Get all assets in a category (weapon, consumable, prop, audio, ui, vfx) | | get_assets_by_tag | Get assets filtered by a specific tag | | get_asset_template | Get pre-configured asset template for a game mode | | list_asset_templates | List all available asset templates | | scan_project_assets | Scan UEFN project for assets (textures, meshes, sounds) | | get_asset_usage | Find where an asset is used in Verse files | | get_weapons | Get weapon assets with optional subcategory filter | | get_consumables | Get consumable assets (health, shield) | | get_props | Get prop assets with optional subcategory filter | | get_audio | Get audio assets with optional type filter | | generate_asset_list | Generate suggested asset list for a game mode | | list_asset_categories | List all available asset categories with counts |

Game Templates

| Template | Description | |----------|-------------| | battle_royale | Last player standing with storm, loot, eliminations | | prop_hunt | Hiders disguise as props, seekers hunt | | racing | Checkpoint-based racing with laps | | deathrun | Obstacle course with checkpoints | | zone_wars | Fast-paced building/fighting with zones | | capture_the_flag | Team-based flag capturing | | box_fight | 1v1 or team box fighting with rounds | | hide_and_seek | Classic hide and seek with roles |

Asset Templates

| Template | Category | Description | |----------|----------|-------------| | loot | battle_royale | Standard BR loot pool with weapons and consumables | | competitive | battle_royale | Competitive loot with balanced weapons | | deathrun | obstacle | Traps and hazard effects for deathruns | | racing | racing | Countdown, music, and checkpoint effects | | prop_hunt | prop_hunt | Prop disguises and seeking tools | | social | social | Party music and ambient sounds | | horror | creative | Spooky ambiance and jump scare effects | | party | minigame | Celebration effects and party audio |

Asset Library

The server includes a comprehensive Fortnite asset reference library:

| Category | Count | Examples | |----------|-------|----------| | Weapons | 7 | Assault Rifle, Shotgun, SMG, Sniper, RPG | | Consumables | 6 | Medkit, Shield Potion, Bandages, Slurp | | Materials | 3 | Wood, Brick, Metal | | Props | 8 | Ammo Box, Chest, Spike Trap, Bouncer | | Audio | 7 | Victory Music, Countdown, Ambient | | UI | 7 | Health Icon, Shield Icon, Minimap | | VFX | 7 | Damage Flash, Heal Effect, Spawn Effect |

Knowledge Base Contents

Patterns (30+)

Core Patterns:

  • Failable Array Access
  • Map Operations
  • Event Subscription
  • Tick Loop
  • Player Tracking
  • Timer with Countdown
  • Movement with MoveTo
  • Random Selection
  • Optional/Nullable Values
  • String Interpolation

UI Patterns:

  • Canvas UI Setup
  • Dynamic Text Updates
  • Button Widget with Click Handler
  • Stack Box Layout
  • Progress Bar
  • Popup Message

Animation Patterns:

  • Smooth Prop Movement
  • Rotation Animation
  • Easing/Interpolation
  • Teleport with Effects

NPC Patterns:

  • Guard Spawner Setup
  • NPC Dialog System
  • Creature Spawner Waves

Game Mechanics:

  • Inventory System
  • Checkpoint System
  • Power-up System
  • Zone Capture

Snippets (18+)

  • Basic Device Template
  • Device with Button
  • Device with Trigger Volume
  • Score Manager
  • Teleport Helper
  • Round System
  • Custom UI Widget
  • Distance Check
  • Full HUD Manager
  • Minigame Manager
  • Prop Spawner Pool
  • Event Bus
  • Audio Manager
  • Team Color Indicator
  • Leaderboard UI
  • Item Pickup
  • Projectile System
  • State Machine

Device APIs (20+)

| Device | Key Methods/Events | |--------|-------------------| | button_device | InteractedWithEvent | | trigger_device | Enable/Disable, AgentEntersEvent | | guard_spawner_device | Spawn/Despawn, SpawnedEvent, EliminatedEvent | | item_spawner_device | SpawnItem, Enable/Disable | | timer_device | Start/Stop/Reset, SuccessEvent | | score_manager_device | Activate/SetScore/GetScore | | hud_message_device | Show/Hide | | teleporter_device | Enable/Disable, Teleport | | damage_volume_device | Enable/Disable | | tracker_device | Increment/GetValue | | map_indicator_device | Show/Hide, SetTarget | | conditional_button_device | InteractedWithEvent | | signal_remote_manager_device | PrimarySignalEvent | | creature_spawner_device | Spawn/DespawnAll, WaveCompleteEvent | | accolades_device | Award | | audio_player_device | Play/Stop/Register | | cinematic_sequence_device | Play/Stop/Pause | | elimination_manager_device | EliminationEvent | | player_spawner_device | Enable/Disable, SpawnedEvent | | class_selector_device | ClassSelectedEvent |

Widget APIs (9)

| Widget | Description | |--------|-------------| | text_block | Display text with font, color, shadow | | button_regular | Clickable button with label | | slider_regular | Value slider with min/max | | color_block | Solid color fill | | texture_block | Display images | | canvas | Root container for UI | | canvas_slot | Position widget in canvas | | stack_box | Layout children in row/column | | overlay | Layer children on top of each other |

Async Patterns (7)

| Pattern | Description | |---------|-------------| | spawn | Start concurrent execution | | race | First to complete wins | | sync | Wait for all to complete | | branch | Run independent tasks | | rush | First to complete, cancel others | | defer | Cleanup on scope exit | | <suspends> | Mark function as async |

Prompts

| Prompt | Description | |--------|-------------| | chat | Have a natural conversation about UEFN/Verse development | | ask | Quick question about Verse or UEFN - get a direct answer | | brainstorm | Brainstorm game ideas, mechanics, or features | | new-device | Generate creative_device from description | | debug-verse-error | Diagnose and fix compilation errors | | game-mode-scaffold | Plan complete game modes | | build-fix-cycle | Guide through build-fix-rebuild | | version-control | Guide through git operations | | learn-verse | Interactive Verse learning | | automate-uefn | Desktop automation guidance |

Resources

| URI | Description | |-----|-------------| | uefn://project/structure | Project structure JSON | | uefn://build/log | Build log text | | uefn://shortcuts | UEFN keyboard shortcuts | | uefn://verse/quick-reference | Verse quick reference | | uefn://layout | UEFN window layout |

Desktop Automation Workflows

The server provides predefined workflows for common UEFN tasks:

  • build_verse - Compile Verse (Ctrl+Shift+B)
  • push_build - Push to Fortnite (Ctrl+Shift+P)
  • save_all - Save all files (Ctrl+Shift+S)
  • start_session - Start play test (F5)
  • stop_session - Stop play test (Shift+F5)
  • open_verse_file - Open file dialog
  • open_output_log - View logs (Alt+Shift+O)
  • refresh_verse - Hot reload (Ctrl+Alt+F11)

These integrate with the desktop MCP for full automation.

Architecture

src/
├── index.ts              # Entry point
├── server.ts             # MCP server with all tools/prompts/resources
├── tools/
│   ├── project-management.ts   # Project scanning tools
│   ├── file-operations.ts      # File CRUD with history
│   ├── history-tools.ts        # Undo/redo tools
│   ├── error-tools.ts          # Build error detection/fixing
│   ├── code-generation.ts      # Device/class/game mode generation
│   ├── build-tools.ts          # Build/push automation
│   ├── git-tools.ts            # Version control
│   ├── knowledge-tools.ts      # Documentation search
│   ├── desktop-tools.ts        # Desktop automation
│   ├── analysis-tools.ts       # Code quality analysis
│   ├── template-tools.ts       # Game mode templates
│   ├── refactoring-tools.ts    # Auto-fix & refactoring
│   ├── advanced-tools.ts       # Dependency graphs, testing, docs
│   └── asset-tools.ts          # Asset search, discovery & templates
├── utils/
│   ├── path-sandbox.ts         # Security layer for file access
│   ├── history.ts              # Change tracking with snapshots
│   ├── verse-parser.ts         # Parse Verse code structure
│   ├── log-parser.ts           # Parse UEFN build logs
│   ├── import-resolver.ts      # Auto-resolve Verse imports
│   ├── knowledge-base.ts       # Core documentation & combined exports
│   ├── knowledge-base-extended.ts  # Extended patterns & snippets
│   ├── knowledge-base-official.ts  # Device/Widget/Character APIs
│   └── asset-library.ts        # Fortnite asset reference library
└── types/
    ├── project.ts              # Project structure types
    └── history.ts              # History entry types

Example Usage

Generate a Device

Use generate_device with:
- name: "coin_collector"
- description: "Collect coins to score points"
- editables: [{ name: "ScorePerCoin", type: "int" }]
- events: ["Button.InteractedWithEvent"]
- tracksPlayers: true

Fix Build Errors

1. Use get_build_errors to see all errors
2. For each error, use fix_verse_error with the suggested fix
3. Use trigger_build to rebuild
4. Repeat until clean

Search for UI Help

Use search_docs with query: "button widget"

Automate Full Build Cycle

1. Use execute_workflow with workflow: "save_all"
2. Use execute_workflow with workflow: "build_verse"
3. Use monitor_build to wait for completion
4. Use get_build_status to check results

Documentation

License

MIT