Manage Sonatype Nexus Repository Manager and Sonatype Repository Firewall from an MCP client.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add sonatype --env NEXUS_URL='<NEXUS_URL>' --env NEXUS_USERNAME='<NEXUS_USERNAME>' --env NEXUS_PASSWORD='<NEXUS_PASSWORD>' -- npx -y @brianveltman/sonatype-mcp --nexus-url '{{config.NEXUS_URL}}' --nexus-username '{{config.NEXUS_USERNAME}}' --nexus-password '{{config.NEXUS_PASSWORD}}'~/.codex/config.toml
[mcp_servers.sonatype]
command = "npx"
args = ["-y", "@brianveltman/sonatype-mcp", "--nexus-url", "{{config.NEXUS_URL}}", "--nexus-username", "{{config.NEXUS_USERNAME}}", "--nexus-password", "{{config.NEXUS_PASSWORD}}"]
env = { NEXUS_URL = "<NEXUS_URL>", NEXUS_USERNAME = "<NEXUS_USERNAME>", NEXUS_PASSWORD = "<NEXUS_PASSWORD>" }
# codex mcp add sonatype --env NEXUS_URL='<NEXUS_URL>' --env NEXUS_USERNAME='<NEXUS_USERNAME>' --env NEXUS_PASSWORD='<NEXUS_PASSWORD>' -- npx -y @brianveltman/sonatype-mcp --nexus-url '{{config.NEXUS_URL}}' --nexus-username '{{config.NEXUS_USERNAME}}' --nexus-password '{{config.NEXUS_PASSWORD}}'~/.cursor/mcp.json
{
"mcpServers": {
"sonatype": {
"command": "npx",
"args": [
"-y",
"@brianveltman/sonatype-mcp",
"--nexus-url",
"{{config.NEXUS_URL}}",
"--nexus-username",
"{{config.NEXUS_USERNAME}}",
"--nexus-password",
"{{config.NEXUS_PASSWORD}}"
],
"env": {
"NEXUS_URL": "<NEXUS_URL>",
"NEXUS_USERNAME": "<NEXUS_USERNAME>",
"NEXUS_PASSWORD": "<NEXUS_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"sonatype": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@brianveltman/sonatype-mcp",
"--nexus-url",
"{{config.NEXUS_URL}}",
"--nexus-username",
"{{config.NEXUS_USERNAME}}",
"--nexus-password",
"{{config.NEXUS_PASSWORD}}"
],
"env": {
"NEXUS_URL": "<NEXUS_URL>",
"NEXUS_USERNAME": "<NEXUS_USERNAME>",
"NEXUS_PASSWORD": "<NEXUS_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"sonatype": {
"command": "npx",
"args": [
"-y",
"@brianveltman/sonatype-mcp",
"--nexus-url",
"{{config.NEXUS_URL}}",
"--nexus-username",
"{{config.NEXUS_USERNAME}}",
"--nexus-password",
"{{config.NEXUS_PASSWORD}}"
],
"env": {
"NEXUS_URL": "<NEXUS_URL>",
"NEXUS_USERNAME": "<NEXUS_USERNAME>",
"NEXUS_PASSWORD": "<NEXUS_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"sonatype": {
"command": "npx",
"args": [
"-y",
"@brianveltman/sonatype-mcp",
"--nexus-url",
"{{config.NEXUS_URL}}",
"--nexus-username",
"{{config.NEXUS_USERNAME}}",
"--nexus-password",
"{{config.NEXUS_PASSWORD}}"
],
"env": {
"NEXUS_URL": "<NEXUS_URL>",
"NEXUS_USERNAME": "<NEXUS_USERNAME>",
"NEXUS_PASSWORD": "<NEXUS_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"sonatype": {
"command": "npx",
"args": [
"-y",
"@brianveltman/sonatype-mcp",
"--nexus-url",
"{{config.NEXUS_URL}}",
"--nexus-username",
"{{config.NEXUS_USERNAME}}",
"--nexus-password",
"{{config.NEXUS_PASSWORD}}"
],
"env": {
"NEXUS_URL": "<NEXUS_URL>",
"NEXUS_USERNAME": "<NEXUS_USERNAME>",
"NEXUS_PASSWORD": "<NEXUS_PASSWORD>"
}
}
}
}Environment variables
NEXUS_URLNEXUS_USERNAMENEXUS_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.