AI

automateyournetwork/ise_mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

16 stars 11 forks 品質 69 トレンド 21Apache-2.0

An MCP server for Cisco ISE

概要

The ISE MCP Server is a Model Context Protocol (MCP) server built with the Python fastmcp library. It dynamically exposes Cisco Identity Services Engine (ISE) API endpoints as structured, discoverable MCP tools. This server allows clients to interact with Cisco ISE REST APIs in a standardized way, offering features like dynamic tool generation and API response filtering. - MCP tools are automatically created based on entries in the src/ise_mcp_server/urls.json configuration file. - Leverages the fastmcp library for robust MCP server implementation, including schema generation and request handling. - Uses httpx.AsyncClient for non-blocking communication with Cisco ISE. - Supports filtering of Cisco ISE API results through filter_expression and query_params arguments in each tool. - Cisco ISE connection details (base URL, username, password) and SSL verification settings (ISE_VERIFY_SSL) are configured via a .env file.

README

以下は原文 README の抜粋です。原文を見る。

ISE MCP Server (using FastMCP)

Overview

The ISE MCP Server is a Model Context Protocol (MCP) server built with the Python fastmcp library. It dynamically exposes Cisco Identity Services Engine (ISE) API endpoints as structured, discoverable MCP tools. This server allows clients to interact with Cisco ISE REST APIs in a standardized way, offering features like dynamic tool generation and API response filtering.

Features

  • Dynamic Tool Generation: MCP tools are automatically created based on entries in the src/ise_mcp_server/urls.json configuration file.
  • FastMCP Integration: Leverages the fastmcp library for robust MCP server implementation, including schema generation and request handling.
  • Asynchronous API Calls: Uses httpx.AsyncClient for non-blocking communication with Cisco ISE.
  • API Filtering: Supports filtering of Cisco ISE API results through filter_expression and query_params arguments in each tool.
  • Environment-Driven Configuration: Cisco ISE connection details (base URL, username, password) and SSL verification settings (ISE_VERIFY_SSL) are configured via a .env file.
  • Detailed Docstrings: Dynamically generated tools include comprehensive docstrings explaining their purpose, the ISE API endpoint they target, and how to use filtering parameters.
  • Standardized Interaction: Adheres to the Model Context Protocol, allowing interaction via any MCP-compatible client.
  • Streamable HTTP Transport: Configured to use streamable-http transport by default for web-based access.

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.9 or higher.
  • Required Python packages are listed in requirements.txt (at the project root). Install them using:
    pip install -r requirements.txt
    
    Or, if using uv:
    uv pip install -r requirements.txt
    
    Key dependencies include fastmcp, httpx, pydantic, and python-dotenv. (Ensure requirements.txt reflects httpx instead of requests).

Configuration

  1. Environment Variables: Create a .env file in the project root directory (/Users/username/mcp_servers/ISE_MCP/.env) with your Cisco ISE API credentials and base URL:
    ISE_BASE="https://your-ise-instance.example.com"
    USERNAME="your-ise-api-username"
    PASSWORD="your-ise-api-password"
    # Optional: Controls SSL certificate verification for ISE API calls.
    # Default is true. Set to "false" to disable (insecure).
    # Or provide a path to a CA bundle file, e.g., "/path/to/your/ca.pem".
    ISE_VERIFY_SSL="true"
    
GitHub で README 全文を見る

インストール

docker run -i // Essential for STDIO interaction "--rm // Automatically remove the container when it exits "--env-file=/Users/username/mcp_servers/ISE_MCP/.env // Mounts your .env file "ise-mcp:latest" // The image we just built
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { // ... other servers ... "ISE_MCP": { "command": "docker", "args": [ "run", "-i", // Essential for STDIO interaction "--rm", // Automatically remove the container when it exits "--env-file=/Users/username/mcp_servers/ISE_MCP/.env", // Mounts your .env file "ise-mcp:latest" // The image we just built ], "cwd": "/Users/username/mcp_servers/ISE_MCP" // Ensures paths are correct } // ... other servers ... } }