mirror of
https://github.com/b3nw/nginx-proxy-manager-mcp.git
synced 2026-05-19 23:35:47 -05:00
feat: Initial NPM MCP server implementation
- NpmClient with JWT auth and auto-refresh - FastMCP server with 5 tools (list_proxy_hosts, get_proxy_host_details, get_system_health, search_audit_logs, list_certificates) - Docker support with multi-stage build using uv - Supports stdio and streamable HTTP transports - GitHub Actions for tests and Docker builds
This commit is contained in:
89
README.md
Normal file
89
README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# NPM MCP Server
|
||||
|
||||
MCP server for [Nginx Proxy Manager](https://nginxproxymanager.com/) - manage your reverse proxy through AI assistants.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# Using uv (recommended)
|
||||
uv pip install -e .
|
||||
|
||||
# Or with pip
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Copy `env.example` to `.env` and configure:
|
||||
|
||||
```env
|
||||
NPM_API_URL=http://your-npm-instance:81/api
|
||||
NPM_IDENTITY=admin@example.com
|
||||
NPM_SECRET=yourpassword
|
||||
|
||||
# Optional: Server settings
|
||||
NPM_MCP_PORT=8000
|
||||
NPM_MCP_TRANSPORT=stdio # or "http"
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Stdio Mode (for Claude Desktop, etc.)
|
||||
|
||||
```bash
|
||||
npm-mcp
|
||||
# or
|
||||
python -m npm_mcp.main --transport stdio
|
||||
```
|
||||
|
||||
### HTTP Mode (for remote agents)
|
||||
|
||||
```bash
|
||||
npm-mcp --transport http
|
||||
# Starts server on http://0.0.0.0:8000
|
||||
```
|
||||
|
||||
### Claude Desktop Configuration
|
||||
|
||||
Add to your `claude_desktop_config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"npm": {
|
||||
"command": "npm-mcp",
|
||||
"env": {
|
||||
"NPM_API_URL": "http://localhost:81/api",
|
||||
"NPM_IDENTITY": "admin@example.com",
|
||||
"NPM_SECRET": "yourpassword"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Available Tools
|
||||
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `list_proxy_hosts` | List all proxy hosts |
|
||||
| `get_proxy_host_details` | Get full config for a specific host |
|
||||
| `get_system_health` | Check NPM version and status |
|
||||
| `search_audit_logs` | Query audit log entries |
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install with dev dependencies
|
||||
uv pip install -e ".[dev]"
|
||||
|
||||
# Run tests
|
||||
pytest
|
||||
|
||||
# Lint
|
||||
ruff check src/
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user