Cisco Ise Mcp Server

by automateyournetwork

434 downloads
Not rated
GitHub

About

The Cisco Ise Mcp Server is a Model Context Protocol (MCP) server that dynamically exposes Cisco Identity Services Engine (ISE) data as structured, discoverable tools via JSON-RPC calls. It integrates with Cisco ISE REST APIs, enabling easy data retrieval for administrators and…

Details

Author
automateyournetwork
Downloads
434
Categories
Other, Infrastructure

- Dynamic tool generation from ISE resource endpoints.
- Environment-driven configuration via .env file.
- Structured JSON-RPC interface for tool discovery and execution.
- One-shot and persistent operating modes.
- Automatic logging of requests, responses, and errors.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Cisco Ise Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure a .env file with ISE_BASE, USERNAME, and PASSWORD, and a urls.json file listing the ISE resource endpoints. Run the server in one-shot mode with python ise_mcp_server.py --oneshot for a single JSON-RPC request, or without --oneshot for persistent STDIN-based listening. Use the JSON-RPC methods initialize, tools/discover, and tools/call to interact with the generated tools.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "cisco ise mcp server": {
            "ise": {
                "command": "python",
                "args": [
                    "ise_mcp_server.py",
                    "--oneshot"
                ],
                "env": {
                    "ISE_BASE": "https://devnetsandboxise.cisco.com",
                    "USERNAME": "readonly",
                    "PASSWORD": "ISEisC00L"
                }
            }
        }
    }
}

McpServers

{
    "ise": {
        "command": "python",
        "args": [
            "ise_mcp_server.py",
            "--oneshot"
        ],
        "env": {
            "ISE_BASE": "https://devnetsandboxise.cisco.com",
            "USERNAME": "readonly",
            "PASSWORD": "ISEisC00L"
        }
    }
}

ISE MCP Server

Overview

The ISE MCP Server is a Model Context Protocol (MCP) server designed to dynamically expose Cisco Identity Services Engine (ISE) data as structured, discoverable tools. This server interacts with Cisco ISE REST APIs, enabling easy integration and data retrieval using JSON-RPC calls.

Features

- Dynamic tool generation for Cisco ISE resources.
- Environment-driven configuration.
- Structured JSON-RPC interface for tool discovery and execution.

Setup

Server

{ "mcpServers": { "ise": { "command": "python", "args": [ "ise_mcp_server.py", "--oneshot" ], "env": { "ISE_BASE": "https://devnetsandboxise.cisco.com", "USERNAME": "readonly", "PASSWORD": "ISEisC00L" } } } }

Requirements

- Python 3.8 or higher
- Required packages (install with pip):

pip install requests pydantic python-dotenv

Configuration

Create a .env file in the root directory with the following content:

ISE_BASE=https://devnetsandboxise.cisco.com
USERNAME=readonly
PASSWORD=ISEisC00L

Ensure you have a urls.json file structured as follows:

[
  {"URL": "/ers/config/endpoint?size=100", "Name": "Endpoints"},
  {"URL": "/ers/config/identitygroup?size=100", "Name": "Identity Groups"},
  ...
]

Running the Server

One-shot Mode

Use the --oneshot option to process a single JSON-RPC request:

python ise_mcp_server.py --oneshot

Persistent Mode

Run the server persistently, continuously listening for JSON-RPC requests from STDIN:

python ise_mcp_server.py

JSON-RPC Interface

Initialize

{
  "jsonrpc": "2.0",
  "method": "initialize",
  "id": 1
}

Discover Tools

{
  "jsonrpc": "2.0",
  "method": "tools/discover",
  "id": 2
}

Call a Tool

Example for calling the endpoints tool:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "endpoints",
    "arguments": {}
  },
  "id": 3
}

Tool List

The server automatically generates tools based on the entries in the urls.json file. Each tool corresponds to an ISE resource endpoint.

Logging

Logging is configured with standard INFO-level logging. All requests and responses, along with errors, are logged to the console.

License

Apache 2.0 License

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.