Server data from the Official MCP Registry
Read-only-first Sonatype Nexus Repository 3 inspection, audit and documentation.
About
Read-only-first Sonatype Nexus Repository 3 inspection, audit and documentation.
Security Report
Valid MCP server (1 strong, 2 medium validity signals). 6 known CVEs in dependencies (0 critical, 1 high severity) Imported from the Official MCP Registry.
7 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: NEXUS_URL
Environment variable: NEXUS_USERNAME
Environment variable: NEXUS_PASSWORD
Environment variable: NEXUS_VERIFY_TLS
Environment variable: NEXUS_MCP_MODE
Environment variable: NEXUS_MCP_ENABLE_WRITE_TOOLS
Environment variable: NEXUS_MCP_ENABLE_RAW_API
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-oomchiller-nexus-mcp-server": {
"env": {
"NEXUS_URL": "your-nexus-url-here",
"NEXUS_MCP_MODE": "your-nexus-mcp-mode-here",
"NEXUS_PASSWORD": "your-nexus-password-here",
"NEXUS_USERNAME": "your-nexus-username-here",
"NEXUS_VERIFY_TLS": "your-nexus-verify-tls-here",
"NEXUS_MCP_ENABLE_RAW_API": "your-nexus-mcp-enable-raw-api-here",
"NEXUS_MCP_ENABLE_WRITE_TOOLS": "your-nexus-mcp-enable-write-tools-here"
},
"args": [
"nexus-mcp-server"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Sonatype Nexus MCP Server
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.
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,idempotentHintandopenWorldHint; 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
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
{
"mcpServers": {
"nexus": {
"command": "uvx",
"args": ["--from", "git+https://github.com/oomchiller/nexus-mcp-server@v0.2.1", "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.
| Variable | Default | Meaning |
|---|---|---|
NEXUS_URL | unset | Nexus base URL. Without it the server starts, and calls report that Nexus is not configured. |
NEXUS_USERNAME / NEXUS_PASSWORD | unset | Basic authentication. Use a read-only Nexus account. |
NEXUS_VERIFY_TLS | true | Verify the Nexus TLS certificate. |
NEXUS_CA_BUNDLE | unset | PEM file of CA certificates to trust instead of the public roots; needs NEXUS_VERIFY_TLS=true. |
NEXUS_TIMEOUT_SECONDS | 30 | HTTP timeout. |
NEXUS_ALLOWED_HOSTS | host of NEXUS_URL | Comma-separated hosts the client may contact. |
NEXUS_LOG_LEVEL | INFO | Log level (stderr). |
NEXUS_MCP_MODE | readonly | readonly, audit (same gates as readonly) or admin. |
NEXUS_MCP_ENABLE_WRITE_TOOLS | false | With admin, lists and allows the write tools. |
NEXUS_MCP_ENABLE_RAW_API | false | Lists nexus_api_call. |
NEXUS_MCP_RAW_API_GET_ONLY | false | Restrict nexus_api_call to GET. |
NEXUS_MCP_MAX_RAW_RESPONSE_BYTES | 1048576 | Largest Nexus response accepted. |
NEXUS_MCP_GRAPH_TTL_SECONDS | 60 | How long graph tools reuse one Knowledge Graph build; 0 rebuilds on every call. |
NEXUS_MCP_ENABLE_PROMPTS | true | Register prompts. |
NEXUS_MCP_ENABLE_RESOURCES | true | Register 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
--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
| Group | Tools |
|---|---|
| Explanation | nexus_understand_architecture, nexus_explain_repository, nexus_explain_storage_strategy |
| Inventory and documentation | nexus_generate_inventory_json, nexus_generate_architecture_md, nexus_generate_repository_catalog_md, nexus_audit_repository_content |
| Audit | nexus_detect_architecture_smells, nexus_generate_audit_report |
| Drift | nexus_compare_live_state_with_declared_state |
| OpenAPI | nexus_openapi_list_operations, nexus_generate_capability_map |
Listed only when enabled:
| Tool | Requires |
|---|---|
nexus_api_call | NEXUS_MCP_ENABLE_RAW_API=true; paths are canonicalized and restricted to /service/rest/. |
nexus_delete_repository, nexus_run_task | NEXUS_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_HOSTSand only paths relative toNEXUS_URL. - Redaction is defence in depth, not a substitute for a least-privilege Nexus account. See SECURITY.md.
Development
uv sync --locked
uv run pytest
uv 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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
