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 ... } }