The ZIN MCP Client acts as a friendly bridge that allows local AI models to communicate with various software tools and services. In simple terms, it takes an AI running on a personal computer (via Ollama) and gives it the ability to "reach out" and use external programs to perform real-world tasks. This means a user can have a private conversation with an AI that can actually look at files, run code, or check data, all without needing an internet connection or a subscription to a cloud-based service. For users who want more flexibility, the tool provides multiple ways to interact, including a sleek command-line interface and a lightweight web dashboard. It is designed to be a "plug-and-play" solution that supports connecting to several Model Context Protocol (MCP) servers at once. This multi-server support allows a single AI model to act as a versatile assistant, pulling in specialized capabilities from different sources to perform complex workflows like local code reviews or vulnerability scanning in a secure environment. On a more technical level, the client leverages the LangChain ReAct agent framework to intelligently orchestrate tool calls. It interprets user intent and determines which specific MCP tool to invoke, handling the STDIO communication between the local LLM and the server. It features a configuration system compatible with standard MCP formats, comprehensive logging for debugging, and seamless integration with Open Web UI. This makes it a robust utility for developers who need a fast, cross-platform, and private testing ground for building and refining their own AI-integrated systems.
Category: AI & LLM Tooling
Tags: langchain, local-llm, ollama, orchestration, react
uv (Recommended for dependency management) Steps: 1. Download and Extract: Download the latest release from the GitHub releases page and unzip it. bash unzip zin-mcp-client-<version>.zip cd zin-mcp-client 2. Install uv: bash curl -LsSf https://astral.sh/uv/install.sh | sh 3. Install Dependencies: Using uv (Recommended): bash uv pip install -r requirements.txt Using pip: bash pip install -r requirements.txt 4. Ollama Setup: Run a model with tool-calling capabilities (e.g., Llama 3.1): bash ollama run llama3.1:8b ollama serve ---mcp-config.json located in the root directory. It follows a structure similar to Claude Desktop's configuration. JSON Configuration Example: json { "mcpServers": { "jadx-mcp-server": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/jadx-mcp-server/", "run", "jadx_mcp_server.py" ] }, "apktool-mcp-server": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/apktool-mcp-server/", "run", "apktool_mcp_server.py" ] } } } Note: Replace /path/to/uv and /path/to/...-mcp-server/ with the actual absolute paths on your system. ---uv run zin_mcp_client.py * Web UI: uv run web_client.py * Open Web UI Proxy: uv run mcp_proxy.py (Exposes a proxy at http://localhost:8000) CLI Options: * --server [name]: Specify which server from the config to use. * --model [name]: Specify the Ollama model (e.g., llama3.1:8b). * --config [path]: Provide a custom path to a configuration JSON file. * --debug: Enable verbose logging and raw traffic details. ---apktool-mcp-server and jadx-mcp-server. This creates a completely air-gapped or local environment where the AI can decompile, inspect, and explain code without the data ever leaving the machine. Example: A researcher runs uv run zin_mcp_client.py --server jadx-mcp-server. They then prompt the local Llama 3.1 model: "Decompile app.apk and find any hardcoded API keys or insecure network configurations." The client invokes the local JADX tools and provides a summarized security report.GhidraMCP server to allow a local LLM to interact with Ghidra's decompiler and symbol tables. Example: An analyst opens a suspicious binary in Ghidra and starts the ZIN MCP Client. They ask the LLM: "Analyze the function at address 0x401000 and explain its logic." The LLM uses the Ghidra toolset to retrieve the assembly, convert it to pseudo-code, and explain the malware's obfuscation technique to the analyst.mcp_proxy.py feature. This acts as a bridge that turns standard STDIO-based MCP servers into an API that Open Web UI can consume. This allows users to use a polished web interface while still leveraging powerful, local tool-calling capabilities. Example: A developer configures ZIN's MCP Proxy to run a filesystem MCP server. In their Open Web UI settings, they add the ZIN proxy as a connection. Now, they can chat with their local model and say, "Search my 'Projects' folder for all Python files that don't have docstrings," and the model…Part of MCP Servers