Sonatype Nexus

io.github.oomchiller由 GitHub 账号 oomchiller 发布v0.2.1更新于 Nov 4, 2026

以只读优先方式对 Sonatype Nexus Repository 3 进行检查、审计和文档记录。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

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

发布方自己的服务:Dependency Management Mcp Server

已验证STDIO仅桌面

概览

Sonatype Nexus 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sonatype Nexus,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 1c6f8ef

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v0.2.1最新Nov 4, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Sonatype 集成