npm-mcp
Enables AI assistants to manage Nginx Proxy Manager, including proxy hosts, SSL certificates, streams, and more.
README
NPM MCP - Nginx Proxy Manager MCP Server
An MCP (Model Context Protocol) server for managing Nginx Proxy Manager through Claude and other MCP-compatible AI assistants.
Features
- Proxy Hosts: Create, update, delete, enable/disable proxy hosts
- SSL Certificates: Manage Let's Encrypt certificates with DNS challenge support
- Streams: Configure TCP/UDP port forwarding
- Access Lists: Set up authentication with basic auth and IP rules
- Redirection Hosts: Configure URL redirections
- Dead Hosts (404): Set up custom 404 pages
- Users: Manage NPM user accounts
- System: View audit logs, settings, and host reports
Quick Install (Recommended)
The easiest way to get started is with the automated installer:
# Clone the repository
git clone https://github.com/crogers2287/npm-mcp.git
cd npm-mcp
# Run the installer
./install.sh
The installer will:
- Check prerequisites (Node.js 18+, npm, jq)
- Install dependencies and build the project
- Prompt for your NPM connection details
- Test the connection to your NPM instance
- Automatically configure Claude Code
Installer Options
./install.sh # Run interactive installation
./install.sh --help # Show help
./install.sh --uninstall # Remove NPM MCP configuration
Manual Installation
If you prefer to configure manually:
# Clone the repository
git clone https://github.com/crogers2287/npm-mcp.git
cd npm-mcp
# Install dependencies
npm install
# Build
npm run build
Configuration
Set the following environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
NPM_HOST |
Yes | - | NPM server hostname (e.g., npm.example.com) |
NPM_PORT |
No | - | NPM API port (omit for standard 80/443) |
NPM_EMAIL |
Yes | - | Admin email for authentication |
NPM_PASSWORD |
Yes | - | Admin password |
NPM_HTTPS |
No | false |
Set to true for HTTPS connections |
Claude Desktop Configuration
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json on Linux or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"npm": {
"command": "node",
"args": ["/path/to/npm-mcp/dist/index.js"],
"env": {
"NPM_HOST": "npm.example.com",
"NPM_HTTPS": "true",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password"
}
}
}
}
Claude Code Configuration
Add to your MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"npm": {
"command": "node",
"args": ["/path/to/npm-mcp/dist/index.js"],
"env": {
"NPM_HOST": "npm.example.com",
"NPM_HTTPS": "true",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password"
}
}
}
}
Available Tools
Proxy Hosts
npm_list_proxy_hosts- List all proxy hostsnpm_get_proxy_host- Get proxy host detailsnpm_create_proxy_host- Create a new proxy hostnpm_update_proxy_host- Update a proxy hostnpm_delete_proxy_host- Delete a proxy hostnpm_enable_proxy_host- Enable a proxy hostnpm_disable_proxy_host- Disable a proxy host
SSL Certificates
npm_list_certificates- List all certificatesnpm_get_certificate- Get certificate detailsnpm_create_certificate- Create a Let's Encrypt certificatenpm_delete_certificate- Delete a certificatenpm_renew_certificate- Renew a certificate
Streams (TCP/UDP)
npm_list_streams- List all streamsnpm_get_stream- Get stream detailsnpm_create_stream- Create a new streamnpm_update_stream- Update a streamnpm_delete_stream- Delete a streamnpm_enable_stream- Enable a streamnpm_disable_stream- Disable a stream
Access Lists
npm_list_access_lists- List all access listsnpm_get_access_list- Get access list detailsnpm_create_access_list- Create an access listnpm_update_access_list- Update an access listnpm_delete_access_list- Delete an access list
Redirection Hosts
npm_list_redirection_hosts- List all redirectionsnpm_get_redirection_host- Get redirection detailsnpm_create_redirection_host- Create a redirectionnpm_update_redirection_host- Update a redirectionnpm_delete_redirection_host- Delete a redirectionnpm_enable_redirection_host- Enable a redirectionnpm_disable_redirection_host- Disable a redirection
Dead Hosts (404)
npm_list_dead_hosts- List all 404 hostsnpm_get_dead_host- Get 404 host detailsnpm_create_dead_host- Create a 404 hostnpm_delete_dead_host- Delete a 404 host
Users
npm_list_users- List all usersnpm_get_user- Get user detailsnpm_create_user- Create a usernpm_delete_user- Delete a user
System
npm_list_audit_log- View audit lognpm_list_settings- List settingsnpm_get_setting- Get a setting valuenpm_update_setting- Update a settingnpm_get_hosts_report- Get hosts summary
Resources
The MCP server also exposes these resources:
npm://hosts/summary- Summary of all configured hostsnpm://certificates/summary- Summary of SSL certificates
Usage Examples
Create a Proxy Host
Create a proxy host for app.example.com that forwards to 192.168.1.100:8080
Request SSL Certificate
Create a Let's Encrypt certificate for app.example.com
Set Up Stream Forwarding
Create a TCP stream to forward port 25565 to minecraft-server:25565
Create Access List with Basic Auth
Create an access list called "admin-only" with username "admin" and password "secret123"
API Reference
This MCP server wraps the Nginx Proxy Manager API. For detailed API documentation, see:
License
MIT
Contributing
Contributions welcome! Please open an issue or pull request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.