A Model Context Protocol (MCP) server bridge that allows dynamic registration of CLI tools and HTTP requests as MCP tools.
- Dynamic Tool Registration:
- CLI Tools: Register any CLI tool available in the environment.
- HTTP Tools: Register simple HTTP endpoints as tools.
- Configuration Persistence:
- CLI tools are persisted as YAML configurations.
- HTTP tools are persisted as JSON configurations.
- Examples: The following APIs and CLI tools can be registered via LLM conversations:
- CLI:
fscan,httpx,naabu,nmap,nuclei,subfinder - HTTP:
http://cip.cc
- CLI:
"mcp-server-bridge": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-bridge"
]
}- Install
uv(if not installed):
pip install uv- Install dependencies and packages:
uv sync- Run the server:
uv run mcp-server-bridgeThe server runs in stdio or SSE mode.
get_cli_tool_help(command, help_flag):- Get help text for a CLI command.
- Used to determine arguments during registration.
register_cli_tool(command, tool_description, tool_usage, tool_args):- Register a new CLI tool to expose via MCP.
- Generates YAML configuration in
src/mcp_server_bridge/config/.
register_http_tool(name, description, method, url, params, data, headers):- Register a new HTTP tool.
- Generates JSON configuration in
src/mcp_server_bridge/config/.
Register a CLI tool fscan as an MCP tool:
Register an HTTP interface as an MCP tool:

src/mcp_server_bridge/: Main package source.server.py: Core server logic and tool definitions.config/: Directory for storing registered tool configurations (YAML/JSON).__init__.py: Package exports.__main__.py: Entry point.
tests/: Test suite.
Run tests:
uv run pytest

