Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .dxtignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
__pycache__/
.claude/
.ruff_cache/
.venv/
build/
lib/
scripts/
*.egg-info/
49 changes: 28 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Netwrix Privilege Secure MCP Server
The Netwrix Privilege Secure MCP Server is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server that provides seamless integration with Netwrix Privilege Secure (NPS), enabling AI agents to monitor and manage privileged access across your environment.

This [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server enables AI assistants to interface directly with Netwrix Privilege Secure (NPS), enhancing your organization's Privileged Access Management (PAM) capabilities.

## Use Cases
- Monitor active privileged sessions and view live screenshots
- Search command history to identify suspicious activity
- Identify administrators with outdated passwords
- Track managed credentials that require rotation
- Automate security audits and compliance reporting
- **Real-time Monitoring:** View active privileged sessions with live screenshots
- **Security Investigation:** Search command history to identify suspicious activity
- **Credential Management:** Identify outdated passwords and credentials needing rotation

## Tools

### Session Monitoring

- **get_active_sessions** - Get active activity sessions

- **get_active_session_image** - Get a live image for an active session
Expand All @@ -20,13 +20,15 @@ The Netwrix Privilege Secure MCP Server is a [Model Context Protocol (MCP)](http
- `search_term`: Term to search for in command history (string, required)

### Credential Management

- **get_admin_credentials_older_than** - Find administrators with outdated passwords
- `days`: Password age threshold in days (number, required)

- **get_managed_credentials_older_than** - Find managed passwords that need rotation
- `days`: Password age threshold in days (number, required)

### Event Search

- **get_events_from_server** - Find latest 10 events that contain the search text
- `search_text`: Text to search for (str, required)

Expand All @@ -35,37 +37,42 @@ The Netwrix Privilege Secure MCP Server is a [Model Context Protocol (MCP)](http

## Installation

Clone the repository:
Prequisites:

- Install [uv](https://docs.astral.sh/uv/getting-started/installation/), a Python project manager

- Clone the repository (or download it as a zip)

To clone the repository:
```bash
git clone https://github.com/netwrix/mcp-server-nps.git
```

### Install in Claude Desktop via Desktop Extensions

**Requirements:** Python 3.12+ installed

- File -> Settings -> Extensions -> Advanced settings -> Install Extension...
- Select the `mcp-server-nps.dxt` file to upload
- Fill out required fields and select Install
- Navigate `File -> Settings -> Extensions -> Advanced settings -> Install Extension...`
- Select the `mcp-server-nps.dxt` file to upload (found in releases)
- Fill out the required fields, select Install and Enable

### Install in Claude Desktop via Configuration File

**Requirements:** uv installed

- File -> Settings -> Developer -> Edit Config
- Navigate `File -> Settings -> Developer -> Edit Config`

Open the `claude_desktop_config.json` file and add the following:

```json
{
"mcpServers": {
"mcp-server-nps": {
"command": "uv",
"args": ["path/to/src/mcp_server_nps/server.py"],
"command": "uv",
"args": [
"run",
"path/to/src/mcp_server_nps/server.py"
],
"env": {
"NPS_URL": "https://example.com",
"NPS_USERNAME": "my_username",
"NPS_PASSWORD": "mypassword"
"NPS_USERNAME": "your_nps_username",
"NPS_PASSWORD": "your_nps_password"
}
}
}
Expand All @@ -78,6 +85,6 @@ Then, restart Claude Desktop.

This project is licensed under the terms of the MIT open source license. Please refer to [MIT](./LICENSE) for the full terms.

## Questions & Support
## Connect with Us

If you need help using this MCP server or understanding your results, just visit the [Netwrix Community](https://community.netwrix.com/) - we’re here to help!
If you need help using this MCP server, want to better understand your results, or would like to share feedback, visit the [Netwrix Community](https://community.netwrix.com/) - we’re here to help and eager to hear about your experience!
18 changes: 11 additions & 7 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,36 @@
"version": "0.1.0",
"display_name": "Netwrix Privilege Secure MCP Server",
"description": "Monitor privileged sessions, search history, manage credentials, and track security events",
"long_description": "This MCP server provides an integration with Netwrix Privilege Secure. It enables AI assistants to monitor active privileged sessions in real-time while searching command history and metadata from past sessions. Security teams can identify credentials that need rotation based on age and retrieve live session screenshots for enhanced monitoring. The system supports querying security events and audit logs as well as checking system version.",
"long_description": "This MCP server provides an integration with Netwrix Privilege Secure, enhancing your Privileged Access Management (PAM) capabilities. It enables AI assistants to monitor active privileged sessions with live screenshots, search command history to identify suspicious activity, and detect credentials requiring rotation.",
"author": {
"name": "Netwrix Corporation"
},
"keywords": [
"netwrix",
"security",
"privilege",
"access",
"management",
"monitoring"
],
"license": "MIT",
"icon": "assets/icon.png",
"server": {
"type": "python",
"entry_point": "src/mcp_server_nps/server.py",
"entry_point": "server.py",
"mcp_config": {
"command": "python",
"command": "uv",
"args": [
"${__dirname}/src/mcp_server_nps/server.py"
"run",
"--directory",
"${__dirname}",
"python",
"${__dirname}/server.py"
],
"env": {
"PYTHONPATH": "${__dirname}/lib",
"NPS_URL": "${user_config.nps_url}",
"NPS_USERNAME": "${user_config.nps_username}",
"NPS_PASSWORD": "${user_config.nps_password}",
"NPS_VERIFY_TRUST": "false"
"NPS_PASSWORD": "${user_config.nps_password}"
}
}
},
Expand Down
Binary file modified mcp-server-nps.dxt
Binary file not shown.
File renamed without changes.
File renamed without changes.
3 changes: 0 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,3 @@ select = [
"SIM", # flake8-simplify
"I", # isort
]

[tool.uv]
package = true
6 changes: 0 additions & 6 deletions scripts/Bundle-DXT.ps1

This file was deleted.

File renamed without changes.
29 changes: 17 additions & 12 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.