Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEXUS_API_KEYYesPersonal API key from Nexus Mods
NEXUS_OAUTH_CLIENT_IDNoOAuth client ID
NEXUS_OAUTH_TOKEN_FILENoToken store path, defaults to ~/.nexus-mcp/oauth-tokens.json
NEXUS_OAUTH_REDIRECT_URINoOAuth redirect URI, defaults to http://localhost/callback
NEXUS_OAUTH_CLIENT_SECRETNoClient secret for non-public OAuth apps

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
nexus_validate_keyA

Validate the configured Nexus Mods API key and identify the account.

Returns user_id, username, is_premium, is_supporter, email, and profile_url. This endpoint is exempt from hourly rate limits - safe to use to check the key works or to probe remaining quota via the '_rl' rate-limit snapshot.

nexus_get_gamesA

List all games on Nexus Mods with their domain_name, mod counts, and file counts.

Use this to find the correct lowercase domain_name slug for other tools.

Returns: JSON array of games: {id, domain_name, name, genre, mods, file_count, downloads, approved_date, collections}. With '_rl' rate-limit snapshot.

nexus_get_gameA

Get details for one game: stats, file counts, download counts, and its file/mod categories.

Returns: JSON object with game info including a 'categories' list (category_id, name, parent_category).

nexus_get_modA

Get full details for one mod: name, author, version, description, endorsement and download counts, upload dates.

Returns: JSON mod info object (mod_id, name, summary, description BBCode, version, author, endorsement_count, mod_downloads, created/updated timestamps, ...). Server-cached 5 minutes.

nexus_get_mod_changelogsA

Get the changelog history for one mod.

Returns: JSON dict mapping version -> list of HTML changelog strings, e.g. {"1.1": ["Fixed X"], "1.2": ["Added Y"]}.

nexus_get_latest_addedA

Get the 10 most recently added mods for a game (array of mod info objects).

nexus_get_latest_updatedB

Get the 10 most recently updated mods for a game (array of mod info objects).

nexus_get_trendingA

Get the 10 currently trending mods for a game (array of mod info objects).

nexus_get_updated_modsA

Get all mods for a game whose files/activity changed within a time window.

Returns: JSON array of {mod_id, latest_file_update (epoch), latest_mod_activity (epoch)}. Server-cached 5 minutes. Useful to check if your own mod page saw activity.

nexus_get_mod_filesA

List all files attached to a mod, with versions, sizes, upload dates, and update chain.

Returns: JSON {files: [...], file_updates: [{old_file_id, new_file_id, ...}]}. File category_id mapping: 1=MAIN, 2=UPDATE, 3=OPTIONAL, 4=OLD_VERSION, 6=DELETED, 7=ARCHIVED.

nexus_get_file_infoA

Get details for a single file of a mod: version, size, MD5, virus scan link, changelog.

nexus_get_download_linkA

Get a short-lived download URL for a mod file from the Nexus CDN.

Premium accounts can omit key/expires. Non-premium accounts MUST extract 'key' and 'expires' from a .nxm download link (nxm://{domain}/mods/{mod}/ files/{file}?key=...&expires=...) generated on the Nexus website.

Returns: JSON array of {URI, name, short_name} mirrors - the first entry is the preferred location. Links are short-lived; do not cache them.

nexus_download_mod_fileA

Resolve a mod file's CDN link and stream it to a local file.

Downloads the actual file behind nexus_get_download_link, saving it to disk with MD5 + SHA-256 checksums (verify MD5 against nexus_get_file_info). Premium accounts can omit key/expires; non-premium accounts MUST pass the key/expires pair from a .nxm download link generated on the Nexus website.

Returns: JSON {file, bytes, md5, sha256, mirror, _rl} or an error string.

nexus_search_by_md5A

Look up which mod and file on Nexus matches a file's MD5 hash (useful to identify an installed file).

Returns: JSON array of {mod: , file_details: }.

nexus_get_tracked_modsA

List the mods the authenticated account is tracking.

Returns: JSON array of {mod_id, domain_name}.

nexus_track_modA

Start tracking a mod for the authenticated account (get update notifications).

Returns: JSON {message: "..."}; HTTP 200 = already tracking, 201 = newly tracked.

nexus_untrack_modB

Stop tracking a mod for the authenticated account.

Returns: JSON {message: "..."}.

nexus_get_endorsementsA

List the authenticated account's endorsement history.

Returns: JSON array of {mod_id, domain_name, date (epoch), version, status ('Undecided' | 'Abstained' | 'Endorsed')}.

nexus_endorse_modA

Endorse a mod on behalf of the authenticated account.

Constraints: the account must have downloaded the mod, and Nexus enforces a 15-minute cooldown after the download before endorsing (TOO_SOON_AFTER_DOWNLOAD).

Returns: JSON {message: "Updated to: Endorsed", status: "Endorsed"}.

nexus_abstain_endorsementA

Withdraw or abstain from an endorsement for a mod.

Returns: JSON {message: ..., status: "Abstained"}.

nexus_search_modsA

Search Nexus Mods with free text + filters, sorted and paginated.

Backed by the v2 GraphQL API (https://api.nexusmods.com/v2/graphql), which does NOT consume the v1 REST rate-limit quota. The v1 REST API has no free-text search, so this is the only way to search by name.

Returns: JSON {totalCount, _returned, nodes: [{modId, uid, name, summary, author, version, downloads, endorsements, fileSize, game, modCategory, uploader, pictureUrl, ...}]}. Paginate with offset += _returned until offset >= totalCount. Note: description (full BBCode) is NOT included here - use nexus_get_mod_v2 for full mod details.

nexus_get_mod_v2A

Get rich mod details via v2 GraphQL: full description (raw BBCode), tags, requirements, and complete file list - none of which v1 REST exposes.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota.

Returns: JSON {mod: {..., description (BBCode + literal tags - render or strip before display), requirements}, files: [{fileId, name, version, category, sizeInBytes, totalDownloads, date, description}]}.

nexus_get_user_v2A

Get a public Nexus Mods user profile by member ID or exact username.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Provide exactly one of member_id or username.

Returns: JSON {memberId, name, about, avatar, modCount, joined, kudos, contributedModCount, collectionCount, recognizedAuthor, lastActive, posts}.

nexus_search_collectionsA

Search Nexus Mods collections (curated mod packs) with free text.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. v1 REST has no collections search at all.

Returns: JSON {totalCount, _returned, nodes: [{slug, name, summary, endorsements, totalDownloads, overallRating, game, user, ...}]}.

nexus_graphql_introspectA

Introspect any type in the Nexus v2 GraphQL schema.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Useful for discovering filters, sorts, and fields before composing a query with nexus_graphql_query.

Returns: JSON {name, kind, description, fields: [{name, type}], inputFields, enumValues} or null if the type does not exist.

nexus_graphql_queryA

Run a raw query against the Nexus v2 GraphQL API (power-user escape hatch).

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Introspect types with nexus_graphql_introspect first to build valid queries. Use for read-only queries; most mutations require OAuth scopes this server does not have and will fail cleanly.

Returns: The raw GraphQL 'data' payload as JSON, or 'Error: ...' with the server-side GraphQL error messages.

nexus_search_usersA

Search Nexus Mods users by username (v2 GraphQL).

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Unlike nexus_get_user_v2 this supports partial names.

Returns: JSON {totalCount, _returned, nodes: [{memberId, name, avatar, modCount, joined, kudos, ...}]}. Paginate with offset += _returned.

nexus_search_gamesA

Search Nexus Mods games by name, sorted and paginated (v2 GraphQL).

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Complements nexus_get_games (full cached catalog).

Returns: JSON {totalCount, _returned, nodes: [{domainName, name, id, modCount, downloadCount, genre, forumUrl, supportsVortex, approvedAt}]}.

nexus_resolve_domainA

Resolve a game display name to its domain_name slug (v2 GraphQL).

Convenience wrapper for agents: most tools require a lowercase domain_name slug (e.g. 'skyrimspecialedition'), NOT the display name. Call this first when you only know the game's name, then pass the returned domainName value to the other tools.

Backed by the v2 GraphQL API (does not consume the v1 REST quota).

Returns: JSON {totalCount, _returned, nodes: [{domainName, name, id}]} - best matches first; take domainName from the intended node.

nexus_get_game_v2A

Get rich game details via v2 GraphQL: mod/download/collection counts, genre, forum URL, Vortex support.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota.

Returns: JSON game object, or {error: ...} for unknown domains.

nexus_get_files_v2A

Get the complete file list of a mod via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Same data as nexus_get_mod_files but from v2 and therefore quota-free on the v1 pool.

Returns: JSON {totalFiles, _returned, files: [{fileId, name, version, category, sizeInBytes, totalDownloads, date, description}]}.

nexus_get_mods_batchA

Fetch many mods across games in a single v2 GraphQL query.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Batch equivalent of nexus_get_mod - ideal for resolving many mod IDs at once without burning quota.

Returns: JSON {totalResolved, _returned, mods: [...same shape as nexus_search_mods nodes...]}.

nexus_get_mod_endorsersA

List users who endorsed a mod via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Resolves the mod's uid first (two-step, both cached).

Returns: JSON {pageInfo: {endCursor, hasNextPage}, nodes: [{memberId, name, avatar, modCount, kudos, ...}]}. Paginate with after_cursor.

nexus_get_newsA

Get Nexus Mods news articles (site news, game news, interviews, ...).

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Filter by category and/or game.

Returns: JSON {totalCount, _returned, nodes: [{id, title, summary, author, date, newsCategory, sourceName, sourceUrl, commentsCount, image, games}]}.

nexus_get_categoriesA

Get mod categories (per-game or global) via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Provide exactly one of domain_name or is_global. Note: these are collection-style categories (Total Overhaul, Themed, Vanilla Plus, ...) - per-game lists may be sparse for newer games.

Returns: JSON list [{id, name, parentId, description, approved, ...}].

nexus_get_tagsA

Get the mod tag taxonomy of a game via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Useful to build tag filters for nexus_search_mods.

Returns: JSON list [{id, name, parentId, global, blockable, searchable}].

nexus_get_collectionA

Get full details of a mod collection by slug via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. v1 REST has no collection detail endpoint.

Returns: JSON {slug, name, summary, description (BBCode), endorsements, downloads, ratings, game, author, tags, category}.

nexus_get_collection_revisionA

Get a specific collection revision (mod count, sizes, status) via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota.

Returns: JSON {id, revisionNumber, revisionStatus, status, adultContent, latest, overallRating, totalDownloads, uniqueDownloads, modCount, totalSize, collection}.

nexus_search_commentsA

Search Nexus Mods comments by text or list a thread's comments.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Provide exactly one of term or thread_id. KNOWN ISSUE: Nexus' searchComments endpoint currently returns HTTP 500 for all requests server-side; errors are surfaced as-is until Nexus fixes it. May also require extra permissions for some threads.

Returns: JSON {totalCount, timeTaken, nodes: [{id, body, createdAt, likesCount, isPinned, creator}]}.

nexus_get_comment_threadA

Get a comment thread with all top-level comments and their replies.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Useful to read replies on threads where nexus_search_comments is unavailable (that endpoint is currently broken upstream).

NOTE: only thread IDs returned by the GraphQL API itself resolve (e.g. from nexus_search_mods-related queries or createComment). Thread IDs scraped from mod-page posts-tab HTML do NOT resolve ("not found").

Returns: JSON {id, comments: {totalCount, nodes: [{id, body, createdAt, likesCount, isPinned, creator, replies: {totalCount, nodes}}]}}.

nexus_get_commentA

Get a single comment by ID via v2 GraphQL.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota.

Returns: JSON {id, body, createdAt, updatedAt, likesCount, isPinned, creator}.

nexus_get_badgesA

List all badges a mod can earn (e.g. 'Top pick', 'Easy install').

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Static catalog - cache the result in your workflow.

Returns: JSON {badges: [{id, name, description}]}.

nexus_get_user_monthly_summaryA

List the months a user has a monthly activity report for.

Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. Follow up with nexus_get_user_monthly_report (v1) for a specific month's download/upload numbers.

Returns: JSON {userId, entries: [{month, year}]}.

nexus_track_userA

Start tracking a user (get notifications about their new mods) via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {trackUser: {success}} or an error string.

nexus_untrack_userA

Stop tracking a user via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {untrackUser: {success}} or an error string.

nexus_give_kudosA

Give kudos to a user via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {giveKudos: {success}} or an error string.

nexus_remove_kudosA

Remove previously given kudos from a user via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {removeKudos: {success}} or an error string.

nexus_add_favourite_gameA

Add a game to your favourites via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {addFavouriteGame: {success}} or an error string.

nexus_remove_favourite_gameA

Remove a game from your favourites via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {removeFavouriteGame: {success}} or an error string.

nexus_like_commentA

Like a comment via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {likeComment: {comment}} or an error string.

nexus_remove_comment_likeA

Remove your like from a comment via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON {removeCommentLike: {comment}} or an error string.

nexus_create_commentA

Post a comment in a thread via v2 GraphQL — top-level by default, or a nested reply when reply_to_id is given.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota. Find thread IDs on mod pages (?tab=posts); forum threads and mod posts have distinct thread IDs.

Returns: JSON {createComment: {comment: {id, body, ...}}} or an error string.

nexus_edit_commentA

Edit the body of your own comment via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota. Only the comment's author can edit it.

Returns: JSON {updateComment: {comment: {id, body, ...}}} or an error string.

nexus_discard_commentA

Discard (soft-delete) a comment via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota. Discarded comments are removed from public view. Only the author (or a moderator) can discard a comment. NOTE: restoring via nexus_restore_comment REQUIRES OAuth Bearer auth - Nexus denies restore under apikey-only auth, so with an API key alone discard is effectively one-way.

Returns: JSON {discardComment: {comment: {id, isDiscarded, discardedAt}}} or an error string.

nexus_restore_commentA

Restore a previously discarded comment via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota. Undo for nexus_discard_comment — the comment becomes publicly visible again. REQUIRES OAuth Bearer auth: Nexus denies restore under apikey-only auth even for your own comments.

Returns: JSON {restoreComment: {comment: {id, isDiscarded, discardedAt}}} or an error string.

nexus_get_files_by_uidA

Get mod file lists by mod UID(s) via v2 GraphQL - no domain/modId pair needed.

Ideal when you only have the uid (e.g. from a .nxm link or your own mod pipeline). Backed by the v2 GraphQL API, which does NOT consume the v1 REST rate-limit quota. NOTE: the response does NOT include domainName/modId - resolve the owning game/mod separately (e.g. nexus_search_by_md5) before calling the download tools.

Returns: JSON {totalFiles, _returned, files: [{fileId, name, version, category, sizeInBytes, totalDownloads, date, description}]}.

nexus_get_favourite_gamesA

Get the authenticated user's favourite games via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON array of games: {id, name, domainName, genre, modCount, collectionCount}.

nexus_get_ignored_usersA

Get the current user's ignored (muted) users via v2 GraphQL.

Consumes the v2 GraphQL pool, NOT the v1 REST rate-limit quota.

Returns: JSON array of users: {memberId, name, avatar, viewerHasIgnored}.

nexus_ignore_userA

Ignore (mute) a user via v2 GraphQL - hides their content in your feed.

Personal preference only: no public side effect. Reversible with nexus_unignore_user. Provide user_id OR username (at least one). NOTE: applies immediately but list reads (nexus_get_ignored_users) can lag several seconds - wait before re-reading to confirm.

Returns: JSON {ignoreUser: {success}} or an error string.

nexus_unignore_userA

Stop ignoring (unmute) a user via v2 GraphQL.

Personal preference only: no public side effect. Provide user_id OR username (at least one). NOTE: applies immediately but list reads (nexus_get_ignored_users) can lag several seconds - wait before re-reading to confirm.

Returns: JSON {unignoreUser: {success}} or an error string.

nexus_get_blocked_tagsA

Get the current user's blocked tags via v2 GraphQL.

Blocked tags hide matching mods/collections from your searches. Find tag IDs with nexus_get_tags / nexus_search_mods.

Returns: JSON array of tags: {id, name, global, blockable, searchable, parentId}.

nexus_block_tagA

Block a tag for the current user via v2 GraphQL - hides matching content.

Personal preference only: no public side effect. Reversible with nexus_unblock_tag. Only blockable tags can be blocked. NOTE: preference mutations apply immediately but list reads (nexus_get_blocked_tags) can lag several seconds - wait before re-reading to confirm.

Returns: JSON {blockTag: {success}} or an error string.

nexus_unblock_tagA

Unblock a previously blocked tag via v2 GraphQL.

Personal preference only: no public side effect. List reads (nexus_get_blocked_tags) can lag several seconds after this returns success - wait before re-reading to confirm.

Returns: JSON {unblockTag: {success}} or an error string.

nexus_get_user_by_nameA

Get a user profile by exact username via v2 GraphQL.

Unlike nexus_search_users (fuzzy), this resolves one exact username and fails cleanly when nobody has it. Useful to convert a username to a memberId for the user mutation tools.

Returns: JSON user object {memberId, name, avatar, modCount, kudos, joined, ...} or {userByName: null} when the username does not exist.

nexus_get_user_monthly_reportA

Get the download/upload numbers for ONE specific month via v2 GraphQL.

Companion to nexus_get_user_monthly_summary (which lists available months): this fetches the actual per-mod/per-game values for a chosen month. Useful for tracking your own mod's download history. NOTE: Nexus hides this report for privacy-restricted accounts ("UserMonthlyReport was hidden due to permissions") - that is an API-side restriction, not a tool failure.

Returns: JSON {userMonthlyReport: {userId, reportType, entries: [{month, year, value, status, ratio, modId, gameId, authorId, ...}]}}.

nexus_get_speedtest_urlsA

Get CDN speedtest URLs to diagnose download issues via v2 GraphQL.

Handy when downloads feel slow: test latency/throughput against each mirror and compare. Consumes the v2 GraphQL pool.

Returns: JSON array of {title, description, location, tag}.

nexus_oauth_loginA

Start the OAuth2 authorization-code flow: returns the URL to open in a browser.

Uses PKCE S256 + random state (per the official Nexus OAuth guide). After approving, copy the 'code' query parameter from the final redirect URL and pass it to nexus_oauth_exchange. Bearer tokens then take precedence over NEXUS_API_KEY and unlock user-context mutations.

Returns: JSON {authorize_url, redirect_uri, state, instructions}.

nexus_oauth_exchangeA

Complete the OAuth2 flow: exchange the authorization code for tokens.

Exchanges via PKCE code_verifier (+ client_secret when configured), saves tokens to the token file, and validates the identity with the resulting Bearer token. Tokens auto-refresh; any 4xx refresh response is treated as revocation per the official guide.

Returns: JSON account summary from nexus_validate_key, or an error string.

nexus_oauth_statusA

Report the OAuth login state: configured env vars, token expiry, scope.

Never exposes the access token itself - only a prefix and expiry metadata.

Returns: JSON {configured, logged_in, expires_at, scope, has_refresh_token, token_file}.

nexus_oauth_refreshA

Force a refresh of the OAuth access token via the refresh grant.

Use when a request unexpectedly returns 401. A 4xx refresh failure means the user revoked the application (see https://users.nexusmods.com/oauth/authorized_applications) and the stored tokens are cleared - log in again with nexus_oauth_login.

Returns: JSON {refreshed, expires_at, scope} or an error string.

nexus_oauth_logoutA

Delete stored OAuth tokens and fall back to NEXUS_API_KEY authentication.

Removes the local token file. To fully revoke access, also remove the application at https://users.nexusmods.com/oauth/authorized_applications.

Returns: JSON {logged_out: true}.

nexus_update_mod_direct_downloadA

Enable or disable direct (no-ads) downloads on your own mod via v2 GraphQL.

REQUIRES OAuth login (nexus_oauth_login + nexus_oauth_exchange): this user-context mutation is rejected under apikey-only auth even for the mod owner. Useful for mod authors automating release pipelines.

Returns: JSON payload from Nexus or an error string.

nexus_get_age_verification_infoA

Get a user's age verification status (v2 GraphQL).

Returns: JSON {verified, externalVerificationIds: [{createdAt, externalVerificationId}]}.

nexus_get_api_applicationsA

List the authenticated account's registered API applications (v2 GraphQL).

Returns: JSON list of {active, id, key, name, slug, summary}.

nexus_get_category_by_idA

Get a single collection category by ID (v2 GraphQL).

Returns: JSON {id, name, description, parentId, approved, createdAt, updatedAt}.

nexus_get_collection_gamesA

List games that support collections (v2 GraphQL).

Returns: JSON list of {id, name, domainName, modCount, collectionCount}.

nexus_get_current_warningsA

Get the current user's unread moderation warnings and global notices (v2 GraphQL).

Returns: JSON {unreadWarnings: [{id, category, date, isRead, link, publicReason, reason, postId, removedDate, removedReason}], unreadGlobalNotices: [{content, date}]}.

nexus_get_external_videoA

Resolve an external video URL to embed metadata (v2 GraphQL).

Returns: JSON {id, title, platform, embedUrl, thumbnailUrl}.

nexus_get_file_hashB

Look up which mod file matches an MD5 hash (v2 GraphQL).

Returns: JSON list of {md5, fileName, fileType, fileSize, gameId, modFileId, createdAt}.

nexus_get_file_hashesA

Look up which mod files match a batch of MD5 hashes (v2 GraphQL).

Returns: JSON list of {md5, fileName, fileType, fileSize, gameId, modFileId, createdAt}.

nexus_get_game_artworkA

Get the current game artwork schema URLs (v2 GraphQL).

Returns: JSON {schemaV1: {tile, tileBlurred}, schemaV2: {hero, thumbnail, tile}}.

nexus_get_legacy_modsA

Get mods by (gameId, modId) pairs via the legacy bridge (v2 GraphQL).

Returns: JSON {totalCount, _returned, nodes: [mod objects]}. Paginate with offset += _returned.

nexus_get_tags_v2B

List tags with optional filters (v2 GraphQL).

Returns: JSON list of {id, name, adult, global, taggablesCount, category, games}.

nexus_get_tag_categoriesA

List all tag categories with their tags (v2 GraphQL).

Returns: JSON list of {id, name, tags: [{id, name, adult}]}.

nexus_get_tag_by_idA

Get a single tag by ID (v2 GraphQL).

Returns: JSON {id, name, adult, global, taggablesCount, category, games}.

nexus_get_tag_category_by_idA

Get a single tag category by ID (v2 GraphQL).

Returns: JSON {id, name, tags: [{id, name, adult}]}.

nexus_search_mediaA

Search site-wide media (images, supporter images, videos) via v2 GraphQL.

NOTE: this endpoint is SERVER-SIDE FLAKY - it intermittently fails with GraphQL "A name ... was not found" errors regardless of filter combination. Identical calls often succeed on retry; just retry. (An adultContent filter was deliberately removed: that filter consistently errors server-side for both True and False.)

Returns: JSON {totalCount, _returned, nodes: [...]}. Nodes are a union (Image, SupporterImage, Video) discriminated by __typename. Paginate with offset += _returned.

nexus_get_opted_in_modsA

List a user's mods that opted into Donation Points (v2 GraphQL).

Returns: JSON {count, userId, user, entries: [{id, gameId, modId, uploaderId, ratio, createdAt}]}.

nexus_get_preferencesA

Get the current user's site preferences (v2 GraphQL).

Returns: JSON with adult, default tabs/sort/search, download location, reminders, notification and subfeed booleans. Edit with nexus_update_preferences.

nexus_get_private_message_urlA

Get the web URL for one of your private messages (v2 GraphQL).

Returns: JSON string URL or an error string.

nexus_get_transactionsA

Get Donation Points transactions for the current user (v2 GraphQL).

NOTE: Nexus hides the data under apikey-only auth ("hidden due to permissions"). Requires OAuth login (nexus_oauth_login + nexus_oauth_exchange); the tool surfaces the error otherwise.

Returns: JSON {totalCount, filteredCount, transactions: [{id, type, label, amount, createdAt, creditorEntity, debitorEntity}]}.

nexus_get_uploadsA

List mod file uploads with scan status (v2 GraphQL).

Returns: JSON {totalCount, filteredCount, uploads: [{id, status, uploadType, md5, sha256, virusTotalStatus, ...}]}.

nexus_get_user_donation_preferencesA

Get the current user's Donation Points donation preferences (v2 GraphQL).

Returns: JSON {donateStraight, donateProfile, donateAuthorpremium, donateOwnpremium, donatePremiumMax, paypal}. Edit with nexus_update_user_donation_preferences.

nexus_get_user_monthly_report_by_idA

Get one monthly Donation Points report by report ID (v2 GraphQL).

NOTE: Nexus hides this report for privacy-restricted accounts ("hidden due to permissions") - an API-side restriction, not a tool failure.

Returns: JSON {userId, entries: [{reportId, year, month, value, status, ratio, authorId, authorValue, gameId, modId, modCount, modValue, authorCount}]}.

nexus_request_media_upload_urlA

Request a presigned URL for uploading media (v2 GraphQL).

Returns: JSON {url, uuid}. Upload the file to url, then reference the uuid.

nexus_get_collection_revision_upload_urlA

Request a presigned URL for uploading a collection revision bundle (v2 GraphQL).

Returns: JSON {url, uuid}.

nexus_start_age_verification_flowA

Start the age verification flow for the current user (v2 GraphQL).

This is an ACTION, not a read: it initiates a verification session.

Returns: JSON {success, message, verificationResult: {id, url}} - open url to verify.

nexus_start_age_verification_appeal_flowA

Start the age verification appeal flow for the current user (v2 GraphQL).

This is an ACTION, not a read: it initiates an appeal session.

Returns: JSON {success, message, verificationResult: {id, url}} - open url to continue.

nexus_update_about_meA

Update a user's About Me profile text via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_update_countryA

Update a user's country via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_update_preferencesA

Update the current user's site preferences via v2 GraphQL.

Only the provided fields are changed; omitted fields stay as-is. Read current values with nexus_get_preferences.

Returns: JSON {success} or an error string.

nexus_update_user_donation_preferencesA

Update the current user's Donation Points preferences via v2 GraphQL.

Only the provided fields are changed; omitted fields stay as-is.

Returns: JSON {success, userDonationPreferences: {...}} or an error string.

nexus_create_messageA

Send a private message to one or more users via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_close_collection_bug_reportA

Close a bug report on your collection via v2 GraphQL.

Returns: JSON {collectionBugReport: {id, status, closureReason, closedAt}}.

nexus_submit_moderation_fixA

Submit a fix for an active moderation on your content (v2 GraphQL).

Returns: JSON {success, moderationFix: {id, status, description, createdAt}}.

nexus_create_collectionA

Create a new collection and its first draft revision (v2 GraphQL).

Either build the payload from the individual params or pass the full CollectionPayload JSON via collection_data_json (shape: {adultContent, collectionManifest: {info: {...}, mods: [...]}, collectionSchemaId}).

Returns: JSON {success, collectionId, revisionId} or an error string.

nexus_edit_collectionA

Edit a collection's metadata (must own the collection) via v2 GraphQL.

Only the provided fields are changed; omitted fields stay as-is.

Returns: JSON {success, collection: {id, name, slug}} or an error string.

nexus_create_or_update_revisionA

Create a new draft revision or update the existing draft (v2 GraphQL).

Pass mods_json (or the full payload via collection_data_json) to replace the revision's mod list; omit mods_json to keep it unchanged.

Returns: JSON {success, collectionId, revisionId, revisionNumber} or an error string.

nexus_update_revisionA

Update a collection revision's metadata (must own it) via v2 GraphQL.

Only the provided fields are changed; omitted fields stay as-is.

Returns: JSON {success, revisionId} or an error string.

nexus_publish_revisionA

Publish a draft collection revision (must own the collection) via v2 GraphQL.

This makes the revision publicly available - hard to undo (use nexus_retract_revision afterwards).

Returns: JSON {success} or an error string.

nexus_retract_revisionB

Retract a published collection revision (must own it) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_discard_revisionA

Discard a collection revision (must own the collection) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_discard_collectionA

Discard (soft-delete) an entire collection (must own it) via v2 GraphQL.

DESTRUCTIVE: discards the collection. Prefer nexus_unlist_collection.

Returns: JSON {success} or an error string.

nexus_list_collectionA

List (publish) a currently unlisted collection (must own it) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_unlist_collectionA

Unlist a collection (hide from public listings, keep URL) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_create_changelogA

Create a changelog entry for a collection revision (must own it) via v2 GraphQL.

Returns: JSON {success, changelogId} or an error string.

nexus_update_changelogA

Update an existing changelog entry (must own it) via v2 GraphQL.

Returns: JSON {success, changelogId} or an error string.

nexus_create_tagA

Create a new tag (moderator permissions may be required) via v2 GraphQL.

Returns: JSON {success, tag: {id, name}} or an error string.

nexus_update_tagA

Update an existing tag (moderator permissions may be required) via v2 GraphQL.

Only the provided fields are changed; omitted fields stay as-is.

Returns: JSON {success, tag: {id, name}} or an error string.

nexus_discard_tagA

Discard (soft-delete) a tag (moderator permissions may be required) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_add_badge_to_collectionA

Award a badge to a collection (moderator permissions required) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_remove_badge_from_collectionA

Remove a badge from a collection (moderator permissions required) via v2 GraphQL.

Returns: JSON {success} or an error string.

nexus_reorder_itemA

Reorder reorderable items (collection images/videos) via v2 GraphQL.

Requires ownership of the parent collection.

Returns: JSON {item: {__typename}} or an error string.

nexus_hide_commentA

Hide a comment (moderator permissions required) via v2 GraphQL.

Returns: JSON {comment: {id}} or an error string.

nexus_lock_commentA

Lock a comment against further interaction (moderator permissions) via v2 GraphQL.

Returns: JSON {comment: {id}} or an error string.

nexus_lock_comment_threadA

Lock a comment thread (e.g. a mod's comments page) via v2 GraphQL.

Requires moderator permissions or thread ownership.

Returns: JSON {commentThread: {id, lockedAt}} or an error string.

nexus_pin_commentA

Pin a comment to the top of its thread via v2 GraphQL.

Requires moderator permissions or thread ownership.

Returns: JSON {comment: {id}} or an error string.

nexus_unpin_commentA

Unpin a previously pinned comment via v2 GraphQL.

Requires moderator permissions or thread ownership.

Returns: JSON {comment: {id}} or an error string.

nexus_reorder_pinned_commentsA

Reorder pinned comments in a thread via v2 GraphQL.

Pass ALL pinned comment IDs of the thread in the desired order.

Returns: JSON {comments: [{id}]} in the new order, or an error string.

nexus_clear_comment_moderation_statusB

Clear a comment's moderation status (moderator permissions) via v2 GraphQL.

Returns: JSON {comment: {id}} or an error string.

nexus_clear_comment_thread_moderation_statusA

Clear a comment thread's moderation status (moderator permissions) via v2 GraphQL.

Returns: JSON {commentThread: {id}} or an error string.

nexus_track_app_metricA

Report an app metric (e.g. a Vortex collection install event) via v2 GraphQL.

Returns: JSON {success, errors} or an error string.

nexus_block_mods_from_earning_dpA

Block a user's mods from earning Donation Points via v2 GraphQL.

Requires moderator permissions when targeting another user.

Returns: JSON {success} or an error string.

nexus_unblock_mods_from_earning_dpA

Unblock a user's mods from earning Donation Points via v2 GraphQL.

Requires moderator permissions when targeting another user.

Returns: JSON {success} or an error string.

nexus_upload_attachmentA

Upload an attachment (usable in comments) via the v2 GraphQL multipart spec.

Accepts base64-encoded content and posts it as an Apollo Upload multipart request. Attachments can then be referenced by id in comment mutations.

Returns: JSON {attachment: {id, filename, url}} or an error string.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/Talya1412/nexus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server