ls-mcp

Detect Configured MCP (Model Context Protocol) in your local dev environment

npm version license downloads build codecov Responsible Disclosure Policy

ls-mcp logo
## Features - **🔍 MCP Discovery**: Automatically detect MCP servers across various AI applications and agentic IDEs - **📁 Directory Bubbling**: Intelligent discovery of project-scoped MCP configs from nested directories, supporting project-scoped MCP Server configuration and global configurations - **🔄 Process Detection**: Real-time status of running MCP servers - **🔒 Credential Analysis**: Security analysis of environment variables and API keys for potentially exposed credentials in MCP Servers ## Usage: CLI ```bash npx ls-mcp ``` ### Analyze Specific Files To analyze specific MCP configuration files instead of using automatic discovery, use the `--files` flag. This flag **replaces** automatic discovery and only analyzes the files you specify: ```bash # Single file npx ls-mcp --files ./mcp-config.json # Multiple files (comma-separated) npx ls-mcp --files ./config1.json,./config2.json # Multiple files (space-separated) npx ls-mcp --files ./config1.json ./config2.json ``` The `--files` flag automatically detects the configuration structure in your files, supporting various formats including: - `servers` - Standard MCP configuration key - `mcpServers` - Alternative MCP configuration key - `mcp.servers` - Nested configuration format - `context_servers` - Context-based configuration format ### Show All Providers By default, `ls-mcp` hides providers that have zero configured servers to reduce clutter. To show all providers including those with empty configurations, use the `--all` or `-a` flag: ```bash # Show all providers including empty ones npx ls-mcp --all # Short form npx ls-mcp -a # Combine with JSON output npx ls-mcp --all --json ``` **Note**: When using `--files` to analyze specific configuration files, the custom group is always shown even if it contains zero servers, as you explicitly requested to analyze those files. ### JSON Output To output results in JSON format (useful for programmatic consumption): ```bash npx ls-mcp --json # Combine with --files flag npx ls-mcp --files ./config.json --json ``` This will return a structured JSON object containing: - `mcpFiles`: Complete MCP server configurations organized by provider (only includes providers with configured servers unless `--all` is specified) - `summary`: Statistics including total servers, running servers, credential warnings, and transport breakdown ### Debug Mode To enable verbose debugging output, set the `NODE_DEBUG` environment variable: ```bash # Enable debug logging for ls-mcp NODE_DEBUG=ls-mcp npx ls-mcp # Enable all debug logging NODE_DEBUG=* npx ls-mcp ``` ## Documentation For detailed information about the project architecture and features: - **[Project Overview](./docs/project.md)**: Comprehensive project analysis and architecture - **[Design Documentation](./docs/design.md)**: Technical design decisions and implementation details - **[Requirements](./docs/requirements.md)**: Functional and non-functional requirements - **[Custom File Analysis](./docs/custom-files-analysis.md)**: Analyze specific MCP configuration files with the `--files` flag - **[Directory Bubbling](./docs/directory-bubbling.md)**: Intelligent directory traversal feature - **[URL Hostname Extraction](./docs/url-hostname-extraction.md)**: Clean display of hostnames for URL-based servers - **[Credential Detection](./docs/credential-detection.md)**: Security analysis features ## Documentation - [Project documentation](./docs/README.md) - development, testing, architecture, and conventions. ## Contributing Please consult [CONTRIBUTING](./CONTRIBUTING.md) for guidelines on contributing to this project. ## Author **ls-mcp** © [Liran Tal](https://github.com/lirantal), Released under the [Apache-2.0](./LICENSE) License.