
automateyournetwork/ise_mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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.jsonconfiguration file. - FastMCP Integration: Leverages the
fastmcplibrary for robust MCP server implementation, including schema generation and request handling. - Asynchronous API Calls: Uses
httpx.AsyncClientfor non-blocking communication with Cisco ISE. - API Filtering: Supports filtering of Cisco ISE API results through
filter_expressionandquery_paramsarguments 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.envfile. - 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-httptransport 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:
Or, if usingpip install -r requirements.txtuv:
Key dependencies includeuv pip install -r requirements.txtfastmcp,httpx,pydantic, andpython-dotenv. (Ensurerequirements.txtreflectshttpxinstead ofrequests).
Configuration
- Environment Variables:
Create a
.envfile 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"
インストール
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設定
{
"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 ...
}
}