Netscaler.MCP.server

by czirakim

186 downloads
Not rated
GitHub

About

A MCP server for talking to a Citrix Netscaler device

Details

Author
czirakim
Downloads
186
Categories
Other

- Tool-based API with list, create, update, bind, delete, stat, and nslog tools.
- Communicates with Netscaler devices via REST (NITRO API).
- Sensitive settings managed through environment variables (.env file).
- Modular design allows easy addition of new tools or functionalities.
- Supports stdio transport for compatibility with various clients.

Configure environment variables (e.g., Netscaler IP and authorization string) in a .env file for sensitive data. Run python3 NetscalerMCPserver.py as an MCP server via stdio transport. It was tested with the Claude Desktop app (hosted in Windows WSL) and can also be used in Open WebUI via mcpo (mcpo --port 8000 --api-key "api-key-value" -- python3 NetscalerMCPserver.py). Faster performance is noted with tools like Cursor, VS Code, or similar.

Netscaler.MCP.server

image

This project is an MCP( Model Context Protocol ) server designed to interact with Netscaler devices using the NITRO API (REST). It provides a set of tools to manage Netscaler objects such as lbvserver,csvserver, service, server. The server is implemented using the FastMCP framework and exposes functionalities for creating, updating, listing, and deleting Netscaler objects.

Features

- Tool-Based API: The project defines tools (list_tool, create_tool, update_tool, bind_tool, delete_tool, stat_tool, nslog_tool) that encapsulate operations on Netscaler devices.
- REST API Integration: Uses Python's requests library to communicate with Netscaler devices via the NITRO API (REST).
- Environment Configuration: Sensitive information like IP addresses and authorization strings are managed through environment variables loaded from a .env file.
- Extensibility: Modular design allows additional tools or functionalities to be added easily.
- Transport Support: The server runs using the stdio transport, making it compatible with various client integrations.

Key Files

- NetscalerMCPserver.py: The main server file that initializes the MCP server and defines the tools.
- Tools/NetscalerObject.py: A utility class for performing CRUD operations on Netscaler objects.

The repo also contains an example of the Claude desktop app config file.

It was tested with the Claude Desktop app. The MCP server was hosted in Windows WSL.

image

You can also use it in Open WebUI by running it via mcpo
<br>mcpo --port 8000 --api-key "api-key-value" -- python3 NetscalerMCPserver.py

But it works even faster if you use tools like Cursor/VS Code or something similar.

Credits

This was written by Mihai Cziraki
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.