KotorMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| K1_PATH | No | Path to KOTOR 1 installation. Overrides automatic detection. | |
| K2_PATH | No | Path to KOTOR 2 installation. Overrides automatic detection. | |
| TSL_PATH | No | Alternative environment variable for KOTOR 2 (TSL) path. | |
| KOTOR_PATH | No | Alternative environment variable for KOTOR 1 path. | |
| KOTOR1_PATH | No | Alternative environment variable for KOTOR 1 path. | |
| KOTOR2_PATH | No | Alternative environment variable for KOTOR 2 path. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| detectInstallationsA | Use when you need to discover candidate K1/K2 installation paths (env vars and platform defaults). Read-only. |
| loadInstallationA | Use when you need to activate an installation in memory for subsequent tools. Read-only; does not modify disk. |
| openInstallationA | Build or reuse a compacted in-memory installation snapshot and return a handle for paged follow-up queries. Read-only; does not write to disk. |
| getInstallationSnapshotA | Page through a compacted in-memory installation snapshot created by openInstallation. Use includeData=true for compacted per-resource documents. |
| getInstallationGraphA | Page through canonical dependency edges extracted from an in-memory installation snapshot created by openInstallation. |
| kotor_installation_infoA | Use when you need installation summary: path, game, valid, errors, missing files, module/override counts. Loads installation if not cached. |
| listResourcesA | Use when exploring installation contents: list resources from override/modules/chitin with optional filters. Read-only. |
| describeResourceB | Use when you need a short summary of a resource (GFF, TLK, 2DA) using resolution order. Read-only. |
| kotor_find_resourceA | Use when you need the first match for a resref or to see all locations. Supports glob (e.g. 203tel*). Resolution order: Override -> MOD -> KEY/BIF. Read-only. |
| kotor_search_resourcesA | Use when you need to search resource names by regex. Paginated; prefer location/type filter on large installs. Read-only. |
| journalOverviewA | Use when you need a summary of global.jrl plot categories and entries for the installation. Read-only. |
| kotor_lookup_2daA | Use when you need to query a 2DA table by row index, column name, or value search. Read-only. |
| kotor_lookup_tlkA | Use when you need to resolve a strref to display text from dialog.tlk. Read-only. |
| kotor_list_archiveB | Use when you need to list contents of a KEY/BIF/RIM/ERF/MOD file with pagination. Read-only. |
| kotor_extract_resourceA | Use when you need to write a resolved resource to disk. Optional 'source' restricts to one location (OVERRIDE, CHITIN, MODULES). Writes to disk. [destructiveHint: writes to disk] |
| kotor_read_gffA | Use when you need the full GFF tree as JSON (DLG, UTC, ARE, etc.). Use field_paths or max_depth/max_fields to stay under response limits. Read-only. |
| kotor_read_2daB | Use when you need a 2DA table as JSON with optional row range and column filter. Read-only. |
| kotor_read_tlkA | Use when you need TLK (dialog.tlk) entries by strref range or text search. Read-only. |
| kotor_list_modulesA | Use when you need all modules with human-readable area names (from ARE + TalkTable). Read-only. |
| kotor_describe_moduleA | Use when you need full module analysis: ARE, LYT rooms, WOK list, resource counts, scripts. Read-only. |
| kotor_module_resourcesA | Use when you need a paginated list of all resources in a module (.rim + _s.rim + _dlg.erf). Read-only. |
| kotor_list_referencesB | Use when tracing what a resource references: list outbound refs (scripts, conversations, tags, template resrefs) by field path. Read-only. |
| kotor_find_referrersA | Use when you need to find which resources reference a script resref, tag, conversation, or resref. Use module_root to narrow; expensive over full install. Read-only. |
| kotor_find_strref_referrersA | Use when you need to find which resources use a TLK strref (TLK/2DA Find References parity). Read-only. |
| kotor_describe_dlgA | Use when you need DLG structure: entry/reply counts and script/condition refs. Read-only. |
| kotor_describe_jrlB | Use when you need a JRL (journal) summary: categories and entries. Read-only. |
| kotor_describe_resource_refsA | Use when you need a reference summary for any GFF resource (scripts, conversations, tags, template resrefs). Read-only. |
| kotor_walkmesh_validation_diagramA | Get a text validation diagram for a walkmesh (BWM/WOK): perimeter, transitions, outer boundary. Use when you need to understand an area's walkable layout, door links, or boundary for modding or debugging. Read-only; returns plain text (no ANSI). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| K1 Resource | Resolve resource by resref.ext (resolution order) |
| K2 Resource | Resolve resource by resref.ext (resolution order) |
| K1 2DA Table | 2DA table as JSON |
| K2 2DA Table | 2DA table as JSON |
| K1 TLK String | TLK string by strref |
| K2 TLK String | TLK string by strref |
| K1 Walkmesh validation diagram | Text validation diagram (perimeter, transitions) for area walkmesh |
| K2 Walkmesh validation diagram | Text validation diagram (perimeter, transitions) for area walkmesh |
| KotorMCP capabilities | Resolution order, tool index, and when to use each tool (agent onboarding) |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/oldrepublicwizard/KotorMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server