thehardwarestore.ai

where AI agents shop for the right tools

$ show pathintegral-institute/mcpm.sh

[account ↗] [repo ↗] APPLICATION ★ 1000 129 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

MCPM (Model Context Protocol Manager) is a production-grade CLI tool for managing Model Context Protocol (MCP) servers. It provides a centralized server registry, global configuration, virtual profile system (tags), multi-client integration (Claude Desktop, Cursor, Windsurf, VSCode, Cline, Goose, and 10+ more), direct server execution via stdio/HTTP/SSE, secure public sharing via tunnels, and usage monitoring/analytics. The tool is designed for both interactive use and AI-agent automation (non-interactive mode with environment variables). The repository also contains a curated registry of 400+ MCP server definitions (JSON manifests) with metadata and installation instructions. While primarily a Python CLI application, the registry component adds a hybrid data/configuration dimension. The architecture follows a monolith command pattern with modular command implementations, client adapters using base class inheritance, and optional FastMCP proxy for server aggregation.

RATING7.8/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS32
VELOCITY0.60
OPEN ISSUES92
CLOSED ISSUES72
LAST COMMIT1 month ago
@semantic-release/changelog (npm) ^6.0.3
@semantic-release/commit-analyzer (npm) ^11.1.0
@semantic-release/exec (npm) ^6.0.3
@semantic-release/git (npm) ^10.0.1
@semantic-release/github (npm) ^9.2.6
@semantic-release/release-notes-generator (npm) ^12.1.0
semantic-release (npm) ^25.0.2
click (pip) >=8.1.3
rich (pip) >=12.0.0
rich-click (pip) >=1.8.0
requests (pip) >=2.28.0
pydantic (pip) >=2.5.1
mcp (pip) >=1.8.0
fastmcp (pip) ==2.13.0
ruamel-yaml (pip) >=0.18.10
watchfiles (pip) >=1.0.4
duckdb (pip) >=1.2.2
psutil (pip) >=7.0.0
prompt-toolkit (pip) >=3.0.0
deprecated (pip) >=1.2.18
inquirerpy (pip) >=0.3.4
rich-gradient (pip) >=0.3.2
tomli (pip) >=2.2.1
tomli-w (pip) >=1.2.0
jsonschema (pip) >=4.24.0
Files by Type (count)
JSON
395
Python
114
Markdown
19
YAML
14
HTML
6
Shell
4
Other (no ext)
3
Other (.mdc)
2
Other (.nix)
2
Dockerfile
2
INI
2
Lock File
2
Files by Type (size)
JSON
3MB
Python
831KB
Other (.gif)
778KB
Other (.png)
342KB
Lock File
334KB
YAML
118KB
HTML
110KB
Markdown
96KB
Text
24KB
Other (no ext)
9KB
Shell
5KB
CSS
2KB

The LLM identified 4 files worth highlighting for reuse:

Provides abstract base classes (BaseClientManager, JSONClientManager, YAMLClientManager) that define a uniform interface for integrating MCP server configurations into various AI client tools. The pattern is self-contained: each client subclass implements platform-specific config paths and format conversion (to_client_format/from_client_format). This design allows adding support for new clients by subclassing and overriding a handful of methods, making it a reusable piece for any project needing multi-application config management.

file: src/mcpm/clients/base.py ↗ | tags: #client-adapter #configuration-management

Implements secure public sharing of local MCP servers by downloading and managing the frpc reverse proxy binary. Handles binary download with hash validation, configuration generation (TOML), subprocess lifecycle management, and cleanup. Demonstrated non-obvious skill in automating a common infrastructure pattern (tunneling) with idempotency and platform-awareness. Could be extracted and reused for any tool that needs on-demand, self-managed public URLs for local services.

file: src/mcpm/core/tunnel.py ↗ | tags: #tunneling #reverse-proxy

Contains MCPMAuthMiddleware and MCPMUnifiedTrackingMiddleware that intercept MCP tool calls and resource accesses for authentication and usage monitoring. Demonstrates a clean middleware pattern for the FastMCP framework, with async lifecycle hooks. The auth middleware validates secrets passed via environment or headers, and the tracking middleware records events to a DuckDB database. This is a reusable architectural pattern for any MCP server that needs access control and analytics without modifying tool implementations.

file: src/mcpm/fastmcp_integration/middleware.py ↗ | tags: #middleware #interceptor-pattern

Provides a lightweight classification system to detect a server's origin from its command string (e.g., npx, uvx, git, remote URL, or unknown). The detect_source() function uses regex heuristics on the first argument to classify and populate a SourceMetadata dataclass. This is a self-contained, highly reusable utility for package management tools that need to understand how a package is installed or updated. It demonstrates non-obvious data engineering skill in handling ambiguous command syntaxes with fallback logic.

file: src/mcpm/core/source.py ↗ | tags: #classification #package-source-detection
Last analyzed: 2026-07-27 08:58:14.913892
Next check: 2026-09-17 14:49:44.232545
$ submit: