nexusmods-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEXUS_API_KEY | No | Your Nexus Mods API key. Required for v1 and v3 API tools (e.g., validate_user, get_mod, upload_file_version). Get one at https://www.nexusmods.com/users/myaccount?tab=api. | |
| NEXUS_BROWSER_VISIBLE | No | Set to '1' to show the headless Chromium window used for web tier operations (debugging). | 0 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| validate_userA | Validate NEXUS_API_KEY and show the account (name, premium/supporter) plus remaining API rate limit. |
| get_gameA | Game details by domain name: id, name, mod/file/download counts, categories (id → name). Use list_games to discover domain names. |
| get_modB | Full mod info: name, version, author, status, downloads, endorsements, dates, summary, your endorsement status. |
| get_mod_filesA | List a mod's files (file_id, name, version, category, size, upload date). Optional category filter. |
| get_mod_fileC | Details for one mod file. |
| get_changelogsA | All version changelogs of a mod (version → entries). Newest versions last. |
| list_modsA | 10 mods per list: latest_added, latest_updated or trending for a game. |
| get_updated_modsA | IDs of mods updated in the last day/week/month (with timestamps). Use to check tracked mods for updates. |
| md5_lookupA | Identify a mod file from its MD5 hash (returns mod + file). For a batch of hashes use graphql_query with fileHashes. |
| get_download_linkA | CDN download URLs for a file. Premium: works directly. Non-premium: pass key + expires from an nxm:// link (nxm:///mods//files/?key=...&expires=...). |
| download_fileA | Download a mod file to a local directory (dest_dir, else NEXUS_DOWNLOAD_DIR). Premium: direct. Non-premium: pass key + expires from an nxm:// link. |
| get_tracked_modsA | Mods you track (game domain + mod id). Optional game filter. |
| track_modB | Start or stop tracking a mod. |
| endorse_modA | Endorse a mod or abstain from endorsing. The current mod version is looked up automatically if not given. |
| get_endorsementsB | Mods you endorsed or abstained from. |
| search_modsA | Search mods by name (wildcard), optionally within one game, sorted. No API key needed. Returns game/modId pairs usable by every other tool. |
| list_gamesA | Find games and their domain names (needed by all game-scoped tools). No API key needed. |
| get_mod_detailsA | Mod info without an API key, including the full description (BBCode as stored), tags, uid (for v3), requirements and mods requiring it. |
| search_collectionsA | Search collections by name / game. Returns slugs for get_collection and get_collection_comments. |
| get_collectionA | Collection details by slug: author, stats, comment thread id, latest revision and (optionally) its mod list. |
| get_collection_commentsA | Read a collection's comments (newest first) with first replies. Pass comment_thread_id (from get_collection) or slug. Paginate with |
| get_userA | Public profile by username: member id, join date, kudos, mod/collection counts, about. |
| get_newsB | Latest Nexus Mods news, optionally per game/category. |
| graphql_queryA | Run any read-only query against https://api.nexusmods.com/v2/graphql (schema: https://graphql.nexusmods.com/). Mutations are rejected. Output is raw JSON — prefer the typed tools. |
| get_upload_targetsA | Resolve a mod (game + mod_id from the site URL) to its v3 mod uid and list its mod files (v3 mod_file ids) — the ids upload_file_version and add_changelog need. |
| get_mod_file_versionsA | Versions of one v3 mod file (id, version, category, upload date, primary). |
| upload_file_versionA | Upload a local archive as a NEW VERSION of an existing mod file and publish it immediately (multipart upload → finalise → wait → publish). Get mod_file_id from get_upload_targets. If publishing fails after the upload, retry with upload_id to skip re-uploading. Optionally adds a changelog (needs mod_uid). |
| add_changelogB | Add changelog text for a version of a mod. mod_uid from get_upload_targets. |
| web_statusA | Check whether the browser session is logged in to nexusmods.com (needed only for web-tier WRITE tools). |
| web_loginA | Get a nexusmods.com session: extracts cookies from installed browsers, else opens a visible sign-in window (session captured automatically, persists across runs). Re-run your action after signing in. |
| web_set_cookiesA | Manually set nexusmods.com cookies: a Cookie header string "name1=value1; name2=value2" from a logged-in browser. |
| get_mod_commentsA | Read a mod page's Posts tab: threaded comments (id, author, date, text, inline replies), sticky first. 10 threads per page. Works without login. |
| post_mod_commentA | Post a comment on a mod's Posts tab, or reply to a comment (parent_id from get_mod_comments). Needs a logged-in web session. BBCode allowed. |
| edit_mod_commentA | Edit your own comment on a mod's Posts tab (comment_id from get_mod_comments). Needs a logged-in web session. |
| post_collection_commentA | Comment on a collection (comment_thread_id from get_collection), or reply (reply_to_id). Uses the site's CreateComment mutation with the web session. |
| edit_collection_commentA | Edit your collection comment (UpdateComment mutation via web session). |
| delete_collection_commentA | Delete (discard) your collection comment (DiscardComment mutation via web session). Cannot be undone. |
| forum_listA | List sub-forums and topics of a forum (forum_id or URL), or the forum index when omitted. Topics: id, title, author, date, replies, views. Works without login. |
| forum_topicA | Read posts of a forum topic (topic id or URL), 25 per page. Works without login. |
| forum_replyA | Post a reply in a forum topic (id or URL). Needs a logged-in web session (forum sign-in is done automatically via SSO). |
| pm_listA | List your private-message conversations (forum messenger): id, title, participants, last message snippet, unread flag. Needs a logged-in web session. |
| pm_readA | Read the messages of a private conversation (id from pm_list), 25 per page. Needs a logged-in web session. |
| pm_sendA | Start a new private conversation with one or more members (forum messenger compose). Needs a logged-in web session. |
| pm_replyA | Reply in an existing private conversation (id from pm_list). Needs a logged-in web session. |
| pm_leaveA | Leave a private conversation — removes it from your inbox (the conversation is deleted once no participants remain). Uses the conversation page's 'leave' link. |
| get_mod_bugsA | List a mod's bug reports (Bugs tab): id, title, status, replies, version, priority, last post. 10 per page. Works without login (private reports need the author's session). |
| get_mod_bugA | Read one bug report and its replies (issue_id from get_mod_bugs). |
| post_mod_bugA | File a new bug report on a mod (Bugs tab → Report a bug). BBCode allowed. Needs a logged-in web session. |
| reply_mod_bugA | Reply to a bug report (issue_id from get_mod_bugs). BBCode allowed. Needs a logged-in web session. |
| delete_mod_bugA | Delete a bug report and all its replies from YOUR mod (mod author/moderator only). Cannot be undone. |
| hide_mod_commentA | Hide a comment on a mod's Posts tab — the site's 'Hide and optionally report post' action (removes it from view for everyone except staff). Available to the mod's author for any comment on their mod. Needs a logged-in web session. |
| get_mod_mediaA | List a mod's author images (id, url, title, primary/thumbnail) and videos as the mod editor shows them. Author/editor session required. |
| upload_mod_imageA | Upload an image (JPG/PNG/GIF, max 8 MB) to YOUR mod's gallery, as the mod editor does: image safety hash check, upload, media cache refresh. Needs the author's web session. |
| delete_mod_imageA | Delete an image from YOUR mod's gallery (image_id from get_mod_media). Cannot be undone. |
| add_mod_videoA | Add a YouTube video to YOUR mod's Videos tab, as the mod editor does. Needs the author's web session. |
| delete_mod_videoA | Delete a video from YOUR mod (video_id from add_mod_video / get_mod_media). Cannot be undone. |
| edit_mod_pageA | Edit YOUR mod page's name, summary, full description (BBCode) and/or version, as the mod editor's Save does. Unchanged fields (category, author, tags, translation) are resent exactly as loaded. Omit all edit fields to just view the current values. Use dry_run to preview the request. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 57 tools
Most tools are clearly grouped by resource and action, but get_mod and get_mod_details both read as generic mod-info lookups, and get_mod_files/get_mod_file/get_mod_file_versions/get_upload_targets are easy to confuse despite different id systems. graphql_query also overlaps with every typed read tool, though the description advises preferring typed tools.
The majority of tools follow a clear snake_case verb_noun pattern like get_mod, list_games, delete_collection_comment, and track_mod. There are minor deviations such as md5_lookup, forum_list, forum_topic, web_status, and pm_list/pm_read, plus get_mod_bug vs get_mod_bugs plural inconsistency, but the conventions are still mostly predictable.
With 57 tools, this server far exceeds the 25+ threshold and presents a heavy selection burden, even though the tools cover many Nexus Mods subdomains. The surface could be better scoped by consolidating related web-session, PM, and media tools into smaller grouped tools.
The server covers a remarkably broad domain: mod browsing, search, files, downloads, tracking, endorsements, comments, bugs, collections, forums, PMs, media, uploads, and changelogs. Minor gaps exist such as collection creation/editing and bug-status updates, but agents can generally accomplish end-to-end workflows without dead ends.