Skip to main content
Glama

ISE MCP Server

Apache 2.0
7
  • Apple
  • Linux
CHANGELOG.md6.15 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - **Modular Architecture Implementation:** - Reorganized codebase into a proper Python package structure with clear separation of concerns - Created explicit ISEMCPServer, ToolFactory, and ISEApiClient classes - Implemented command-line interface with argument parsing in `__main__.py` - Added basic unit tests and verification scripts - Created `setup.py` with console script entry point - **Enhanced Filtering and Rate Limiting:** - Implemented comprehensive rate limiting with `aiolimiter` using token bucket algorithm - Added global and category-based (auth, device, policy) rate limits - Created rate limiting management tools: `rate_limit_info` and `rate_limit_config` - Integrated exponential backoff for rate limit retries and HTTP 429 handling - Enhanced filtering capabilities with comprehensive input models - **Performance Optimizations:** - Implemented API response caching with `aiocache` and configurable TTL - Added cache management tools: `cache_clear`, `cache_info`, and `cache_config` - Implemented transparent auto-pagination for large result sets - Added streaming pagination option for memory-efficient processing ### Changed - **Project Structure Simplification:** - Removed the `cisco/ISE` directory layer, moving `ise_mcp_server` directly under `src/` - Implemented src-layout pattern for Python packaging - Reorganized imports to use relative imports within the package - Updated all configuration files and paths for the new structure - **Docker Improvements:** - Updated Dockerfile to use Python module directly instead of fastmcp CLI - Fixed Docker build process to properly handle the src-layout structure - Added explicit src directory creation in Dockerfile - Updated Docker ENTRYPOINT to use `python -m src.ise_mcp_server` - **Transport and Configuration:** - Default transport changed from `stdio` to `streamable-http` for local execution - Enhanced configuration with improved URL resolution - Made transport parameter handling conditional based on transport type - Added more detailed logging throughout the application ### Fixed - **Docker and Execution:** - Fixed Docker startup error with stdio transport by conditionally passing parameters - Fixed setup.py to correctly use src-layout pattern for Python packaging - Fixed directory not found errors in Docker build - Fixed module resolution in Docker environment - **API Interaction:** - Improved error handling for API calls by specifically catching HTTP status and request errors - Fixed caching issues with paginated requests - Enhanced SSL verification configuration handling - **Tool Registration and Execution:** - Fixed issues with argument validation in tool functions - Enhanced docstring generation for better tool discoverability - Fixed error handling and reporting for API communication issues ### Removed - **Deprecated Components:** - Removed old directory structure with cisco/ISE layer - Removed dependency on fastmcp CLI for running the server - Eliminated duplicate configuration files ## [0.3.0] - 2025-05-19 ### Added - **Rate Limiting Implementation:** - Added rate limiting models and configuration for Cisco ISE API - Implemented token bucket algorithm with aiolimiter library - Created rate limiting tools for management and monitoring - Added category-based rate limiting for different API endpoints - Integrated exponential backoff for rate limit handling - **Caching and Pagination:** - Implemented API response caching with aiocache - Added automatic pagination for large result sets - Created cache management tools - Implemented efficient pagination with caching support ### Changed - **Project Structure:** - Simplified directory structure by removing cisco/ISE layer - Implemented src-layout pattern for Python packaging - Updated Docker configuration to handle new structure - Reorganized imports and module organization ### Fixed - Fixed Docker startup issues with stdio transport - Fixed setup.py configuration for src-layout - Improved error handling for API communication - Enhanced SSL verification configuration ## [0.2.0] - 2025-05-18 ### Added - Docker-based setup for running the ISE MCP server, primarily for Claude Desktop integration. - `Dockerfile` modified to use `stdio` transport and remove `.env` copying. - `claude_desktop_config.json` updated to use `docker run -i --rm --env-file=.env ise-mcp:latest` for STDIO communication. - `ISE_MCP.md` tool definition created for Docker Desktop AI Tools. - Documentation (`README.md`, memory bank files) updated to reflect the new Docker-based workflow. ### Changed - Default recommended method for running with Claude Desktop is now via Docker, not direct Python execution or `docker-compose`. - `docker-compose.yml` is now positioned as an alternative for local testing, not the primary integration method for Claude Desktop. ## [0.1.0] - 2025-05-17 ### Added - Initial migration to `fastmcp` library for MCP server implementation. - Dynamic tool generation from `urls.json` for Cisco ISE API endpoints. - Filtering capabilities (`filter_expression`, `query_params`) for dynamically generated tools. - Pydantic models (`FilterableToolInput`, `NonFilterableToolInput`) for tool arguments. - Dynamic docstring generation for tools, including filtering information. - Asynchronous API calls with `httpx` and asynchronous server operation. - Robust SSL verification handling for ISE API calls, configurable via environment variables. - Memory bank files for documentation and project tracking. ### Changed - Replaced custom JSON-RPC server with `fastmcp`. - Replaced `requests` library with `httpx` for asynchronous HTTP calls. ### Fixed - Various compatibility issues with the `fastmcp` library. - Error handling improvements for API communication.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/automateyournetwork/ISE_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server