Sonatype Nexus

io.github.oomchillerPublished by GitHub account oomchillerv0.2.1Updated Nov 4, 2026

Read-only-first Sonatype Nexus Repository 3 inspection, audit and documentation.

The publisher's own server: Dependency Management Mcp Server

VerifiedSTDIODesktop only

Overview

Sonatype Nexus's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Sonatype Nexus in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Sonatype Nexus MCP Server

[CI] [Release] [License]

A Model Context Protocol server that lets AI assistants inspect, audit and document a Sonatype Nexus Repository Manager 3.x instance. It is read-only by default; administrative tools are not even listed unless you enable them.

mermaid
flowchart LR    AI[MCP client] <-->|stdio / Streamable HTTP| Server[nexus-mcp-server]    Server <-->|REST API| Nexus[Nexus Repository 3.x]

Features

  • Inventory of repositories, blob stores, tasks, cleanup policies, routing rules, content selectors, users, roles and privileges, as far as the configured account can see them.
  • A relationship graph (repository → blob store, group → members, repository → cleanup policy, role → privilege) behind architecture explanations, risk checks and generated Markdown documentation.
  • Bounded full-content audit of one repository, with completion evidence.
  • Drift check of repositories against a declared state.
  • OpenAPI discovery of the instance's REST operations.
  • Every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint; outputs and logs redact the configured password and secret-looking keys.
  • Starts without configuration, so clients and registries can list its tools; calls then report what is missing.

Used in production in read-only mode on Nexus Pro 3.96.1-01; partially verified on OSS 3.70. See docs/COMPATIBILITY.md.

Quick start

The server is listed in the MCP Registry as io.github.oomchiller/nexus-mcp-server; registry-aware clients can install it from there. Manual setup:

Container

bash
docker run --rm -i \  -e NEXUS_URL=https://nexus.example.com \  -e NEXUS_USERNAME=readonly-user \  -e NEXUS_PASSWORD \  ghcr.io/oomchiller/nexus-mcp-server:0.2.1

Images are published for linux/amd64 and linux/arm64, run as an unprivileged user over stdio, and are configured through the environment only. Release digests are listed on the releases page.

Local process

json
{  "mcpServers": {    "nexus": {      "command": "uvx",      "args": ["--from", "git+https://github.com/oomchiller/[email protected]", "nexus-mcp-server"],      "env": {        "NEXUS_URL": "https://nexus.example.com",        "NEXUS_USERNAME": "readonly-user",        "NEXUS_PASSWORD": "change-me"      }    }  }}

More client examples (Claude Desktop, Codex CLI, Gemini CLI) are in examples/.

Configuration

Settings come from the environment or a .env file in the working directory.

VariableDefaultMeaning
NEXUS_URLunsetNexus base URL. Without it the server starts, and calls report that Nexus is not configured.
NEXUS_USERNAME / NEXUS_PASSWORDunsetBasic authentication. Use a read-only Nexus account.
NEXUS_VERIFY_TLStrueVerify the Nexus TLS certificate.
NEXUS_CA_BUNDLEunsetPEM file of CA certificates to trust instead of the public roots; needs NEXUS_VERIFY_TLS=true.
NEXUS_TIMEOUT_SECONDS30HTTP timeout.
NEXUS_ALLOWED_HOSTShost of NEXUS_URLComma-separated hosts the client may contact.
NEXUS_LOG_LEVELINFOLog level (stderr).
NEXUS_MCP_MODEreadonlyreadonly, audit (same gates as readonly) or admin.
NEXUS_MCP_ENABLE_WRITE_TOOLSfalseWith admin, lists and allows the write tools.
NEXUS_MCP_ENABLE_RAW_APIfalseLists nexus_api_call.
NEXUS_MCP_RAW_API_GET_ONLYfalseRestrict nexus_api_call to GET.
NEXUS_MCP_MAX_RAW_RESPONSE_BYTES1048576Largest Nexus response accepted.
NEXUS_MCP_GRAPH_TTL_SECONDS60How long graph tools reuse one Knowledge Graph build; 0 rebuilds on every call.
NEXUS_MCP_ENABLE_PROMPTStrueRegister prompts.
NEXUS_MCP_ENABLE_RESOURCEStrueRegister resources.

Token authentication is not implemented.

The server does not read SSL_CERT_FILE or the system trust store. For a Nexus behind a private CA, set NEXUS_CA_BUNDLE rather than disabling verification. An unreadable bundle, or a bundle with verification disabled, stops the server at startup.

Gateways that run several instances side by side and prefix only tool names (Docker MCP Gateway) should set NEXUS_MCP_ENABLE_PROMPTS=false and NEXUS_MCP_ENABLE_RESOURCES=false.

Command line

text
--transport {stdio,sse,streamable-http}   default stdio--host HOST / --port PORT                 HTTP bind, default 127.0.0.1:8000, no authentication--nexus-url URL                           overrides NEXUS_URL--nexus-username USERNAME                 overrides NEXUS_USERNAME--verify-ssl / --no-verify-ssl            overrides NEXUS_VERIFY_TLS--ca-bundle PATH                          overrides NEXUS_CA_BUNDLE

Keep NEXUS_PASSWORD in the environment, not on the command line.

Tools

GroupTools
Explanationnexus_understand_architecture, nexus_explain_repository, nexus_explain_storage_strategy
Inventory and documentationnexus_generate_inventory_json, nexus_generate_architecture_md, nexus_generate_repository_catalog_md, nexus_audit_repository_content
Auditnexus_detect_architecture_smells, nexus_generate_audit_report
Driftnexus_compare_live_state_with_declared_state
OpenAPInexus_openapi_list_operations, nexus_generate_capability_map

Listed only when enabled:

ToolRequires
nexus_api_callNEXUS_MCP_ENABLE_RAW_API=true; paths are canonicalized and restricted to /service/rest/.
nexus_delete_repository, nexus_run_taskNEXUS_MCP_MODE=admin and NEXUS_MCP_ENABLE_WRITE_TOOLS=true.

Resources: nexus://instance/summary, nexus://repositories, nexus://blobstores, nexus://tasks, nexus://cleanup-policies, nexus://security/summary, nexus://architecture, nexus://knowledge_graph. Prompts: nexus_audit_prompt, nexus_iac_drift_prompt.

Limits worth knowing: drift compares repository name, format and type only; risk checks cover a small set of graph rules; findings are only as complete as the REST APIs visible to the account. Optional endpoints that are missing for version, edition or permission reasons appear as limitations, not failures.

Safety

  • Read-only by default. Write tools and the raw API are not listed unless enabled, and every write is still checked against the mode at call time.
  • The client contacts only NEXUS_ALLOWED_HOSTS and only paths relative to NEXUS_URL.
  • Redaction is defence in depth, not a substitute for a least-privilege Nexus account. See SECURITY.md.

Development

bash
uv sync --lockeduv run pytestuv run ruff check . && uv run ruff format --check .uv run mypy src tests

See CONTRIBUTING.md, ARCHITECTURE.md, DECISIONS.md and ROADMAP.md.

License

MIT; see LICENSE.

Source: README.md at commit 1c6f8ef

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

1
  1. v0.2.1LatestNov 4, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Sonatype integrations