Resource icon

Misc vseUOAware 1.0

Author
ghostbyte420
Downloads
3
Views
45
First release
Last update

Ratings

0.00 star(s) 0 ratings
No permission to download Join the discussion

More resources from ghostbyte420

vseUOAware​

An MCP Agent That Allows Visual Studio Copilot to Read UO Client Files


Why Use This?​

With this tool you can ask questions like "find the item ID for sandals", "render gump 0", or "show me an ASCII map of facet 1" right in chat, and get real answers backed by actual decoded client data instead of guesses.

Working with legacy UO client formats (.mul, .uop) normally means digging through outdated tools, forum posts, or reverse-engineered reference source just to answer a simple question like "what's the ID for this item?" or "what does gump 12 look like?". vseUOAware puts that knowledge directly in your AI coding assistant's hands:

  • No more guessing IDs. Ask in plain English and get exact tile/item/gump/sound/body IDs pulled straight from the real client files.

  • Visual, not just textual. Art, gumps, hues, lights, textures, fonts, and full creature animations render to real PNGs you can open immediately — critical for anything binary/graphical that plain text can't convey.

  • One tool, every legacy format. Classic .idx/.mul pairs and the newer hash-indexed .uop archives are both fully supported side by side, so you don't need separate tooling depending on client era.

  • Safe by design. Everything is strictly read-only against your original client files — nothing here can corrupt your source assets, making it safe to explore, script against, and build tooling/content on top of.

  • Built for real development work, not just browsing — whether you're scaffolding a new item, verifying an animation, auditing tiledata flags, or laying groundwork for larger systems (including next-gen asset pipelines), the data your agent needs is one question away.

Available tools​

39 tools are currently exposed, spanning:

CategoryToolbox
Directory/file browsingget_saved_uo_directory, set_uo_directory, list_uo_files, read_uo_text_file
Classic & UOP archive inspectionlist_mul_entries, read_mul_entry_preview, list_uop_entries, read_uop_entry_preview
Tile/item metadataget_land_tile, get_item_tile, find_item_id_by_name
Visual renderingrender_art_tile, render_gump, render_hue_swatch, render_light, render_texture, render_ascii_text, render_multi_map
Animationlist_animation_bodies, list_defined_actions, render_animation_frames, get_item_animation_data
Maprender_map_ascii, inspect_map_region, inspect_map_coordinate
Semantic/reference dataget_multi, list_skills, list_skill_groups, get_localized_string, search_localized_strings, search_speech, list_verdata_patches, list_ascii_fonts, get_radar_color
Soundsearch_sounds, export_sound
Lightingget_light_count
Demoget_random_number

How To Configure...​

Place the project on your desktop or any other location, and then open up the .mcp.json file in a text editor and replace <PATH TO PROJECT DIRECTORY> with the full path to this projects directory on your machine, for example:

C#:
Expand Collapse Copy
{
  "servers": {
    "vseUOAware": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "E:\\Development\\Source Code\\Visual Studio\\MCP\\vseUOAware\\vseUOAware\\vseUOAware.csproj"
      ]
    }
  }
}

Then place the .mcp.json file in the same directory as the Visual Studio .slnx file for the project you are working on. Restart Visual Studio and make sure that
your setup is similar to the following screenshots:

vse1.png

vse2.png

Cross-Platform?​

The MCP server is built as a self-contained application and does not require the .NET runtime to be installed on the target machine. However, since it is self-contained, it must be built for each target platform separately. By default, the template is configured to build for:

  • win-x64
  • win-arm64
  • osx-arm64
  • linux-x64
  • linux-arm64
  • linux-musl-x64
If your users require more platforms to be supported, update the list of runtime identifiers in the project's <RuntimeIdentifiers /> element.
See aka.ms/nuget/mcp/guide for the full guide.
  • Like
Reactions: Wilson

Donations

Total amount
$0.00
Goal
$500.00

Shards

Back