Nexus MCP Server
English | 简体中文
MCP (Model Context Protocol) server for Sonatype Nexus Repository Manager 3 (OSS and Pro), enabling AI assistants to query Maven, Python (PyPI), and Docker repositories.
Power your agent
คำสั่งของผู้เผยแพร่เอง ไม่ใช่เอนด์พอยต์ของ PlugMCP
Host a copy with our keys and logs.
uvx nexus-mcp-server==0.1.1Claude Code ไม่มีลิงก์ติดตั้งสำหรับคำสั่งแบบโลคัล ให้คัดลอกคำสั่งด้านล่างแล้วรันในเทอร์มินัล
NEXUS_BASE_URL=<value> NEXUS_USERNAME=<value> NEXUS_PASSWORD=<secret> claude mcp add io.github.addozhang-nexus -- uvx nexus-mcp-server==0.1.1รันในเทอร์มินัล
{ "mcpServers": { "io.github.addozhang-nexus": { "command": "uvx", "args": [ "nexus-mcp-server==0.1.1" ], "env": { "NEXUS_BASE_URL": "<value>", "NEXUS_USERNAME": "<value>", "NEXUS_PASSWORD": "<secret>" } } }}claude_desktop_config.json
URL แบบรีโมตหรือคำสั่งบนเครื่องของคุณ? การติดตั้งสองแบบต่างกันอย่างไร
รันบน PlugMCP
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
เปิดจากผู้เผยแพร่
English | 简体中文
MCP (Model Context Protocol) server for Sonatype Nexus Repository Manager 3 (OSS and Pro), enabling AI assistants to query Maven, Python (PyPI), and Docker repositories.
Query Sonatype Nexus Repository (OSS/Pro) for Maven, Python, and Docker artifacts
Supported Nexus versions:
This server uses the standard Nexus REST API v1 (/service/rest/v1), which is available in both OSS and Pro editions.
This MCP server provides 6 read-only tools for querying Nexus repositories:
Note: All tools are read-only and safe to use. No write operations (create/update/delete) are supported.
# Clone the repository
git clone https://github.com/your-org/nexus-mcp-server.git
cd nexus-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # or venv/bin/activate.fish
# Install in development mode
pip install -e ".[dev]"
# Run the server (defaults to http://0.0.0.0:8000)
python -m nexus_mcp
# Quick start
docker run -p 8000:8000 addozhang/nexus-mcp-server:latest
# Or use docker-compose
docker-compose up
# See DOCKER.md for detailed deployment guide
For detailed deployment guide, see DOCKER.md.
The server can be configured using command line arguments or environment variables:
Priority: CLI arguments > Environment variables > Default values
Transport Modes:
sse (default) - Server-Sent Events transport, compatible with most MCP clientsstreamable-http - Streamable HTTP transport for clients that prefer this protocol# SSE mode (default)
python -m nexus_mcp
# Streamable-HTTP mode
python -m nexus_mcp --transport streamable-http
# Custom port
python -m nexus_mcp --port 9000
# Custom host and port
python -m nexus_mcp --host 127.0.0.1 --port 9000
# SSE mode (default)
docker run -p 8000:8000 addozhang/nexus-mcp-server:latest
# Streamable-HTTP mode
docker run -e NEXUS_MCP_TRANSPORT=streamable-http -p 8000:8000 addozhang/nexus-mcp-server:latest
# Custom port
docker run -e NEXUS_MCP_PORT=9000 -p 9000:9000 addozhang/nexus-mcp-server:latest
# Or use docker-compose
docker-compose up
# See DOCKER.md for detailed deployment guide
For detailed deployment guide, see DOCKER.md.
Credentials are passed as HTTP headers with each request:
Note: Set X-Nexus-Verify-SSL: false when connecting to self-hosted Nexus instances with self-signed certificates.
Add to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"nexus": {
"url": "http://localhost:8000/mcp",
"headers": {
"X-Nexus-Url": "https://nexus.company.com",
"X-Nexus-Username": "admin",
"X-Nexus-Password": "secret123"
}
}
}
}
For self-signed certificates:
{
"mcpServers": {
"nexus": {
"url": "http://localhost:8000/mcp",
"headers": {
"X-Nexus-Url": "https://nexus.company.com",
"X-Nexus-Username": "admin",
"X-Nexus-Password": "secret123",
"X-Nexus-Verify-SSL": "false"
}
}
}
}
For other MCP clients that support HTTP transport:
{
"url": "http://localhost:8000/mcp",
"headers": {
"X-Nexus-Url": "https://nexus.company.com",
"X-Nexus-Username": "your-username",
"X-Nexus-Password": "your-password"
}
}
Pagination example:
# First page
response = get_maven_versions("com.example", "myapp")
# response contains: versions, hasMore, continuationToken (if hasMore is true)
# Next page
if response["hasMore"]:
next_response = get_maven_versions(
"com.example",
"myapp",
continuation_token=response["continuationToken"]
)
Pagination: Same pattern as Maven - check hasMore and use continuationToken for subsequent pages.
pytest tests/ -v
mypy src/
ruff check src/ tests/
nexus-mcp-server/
├── specs/ # Requirements documents
│ ├── authentication.md
│ ├── maven-support.md
│ ├── python-support.md
│ ├── docker-support.md
│ ├── mcp-architecture.md
│ └── http-streaming.md
├── src/nexus_mcp/ # Source code
│ ├── __init__.py # Package init with version
│ ├── __main__.py # CLI entry point
│ ├── server.py # FastMCP server with tools
│ ├── nexus_client.py # Nexus REST API client
│ ├── auth.py # Authentication types
│ ├── dependencies.py # Credential extraction from headers
│ └── tools/ # Tool implementations
│ ├── __init__.py
│ └── implementations.py
├── tests/ # Test suite
│ ├── conftest.py # Fixtures and sample data
│ ├── test_nexus_client.py # Client unit tests
│ ├── test_tools.py # Tool integration tests
│ └── test_http_transport.py # HTTP transport tests
├── AGENTS.md # Operational guide
├── IMPLEMENTATION_PLAN.md # Task tracking
└── pyproject.toml # Python project metadata
python -m nexus_mcp)X-Nexus-Url header is correct and accessibleX-Nexus-Username and X-Nexus-Password headers are correctX-Nexus-Url, X-Nexus-Username, X-Nexus-PasswordConnection timeout with streamable-http:
python -m nexus_mcp --transport sseTools not appearing:
MIT
Contributions welcome! Please run tests and linting before submitting PRs.
Query Sonatype Nexus Repository (OSS/Pro) for Maven, Python, and Docker artifacts
{ "mcpServers": { "io.github.addozhang-nexus": { "command": "uvx", "args": [ "nexus-mcp-server==0.1.1" ], "env": { "NEXUS_BASE_URL": "<value>", "NEXUS_USERNAME": "<value>", "NEXUS_PASSWORD": "<secret>" } } }}เครื่องมือ
ยังไม่มีรายการเครื่องมือ เซิร์ฟเวอร์แบบรีโมตจะได้รายการหลังการตรวจสอบสถานะครั้งแรก
FAQ
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
ผู้เผยแพร่ระบุตัวแปรสภาพแวดล้อมเหล่านี้: NEXUS_BASE_URL, NEXUS_USERNAME, NEXUS_PASSWORD
Nexus ทำงานแบบโลคัลผ่าน stdio
ตรวจสอบล่าสุดเมื่อ 2026-11-09 Query Sonatype Nexus Repository (OSS/Pro) for Maven, Python, and Docker artifacts