fabric-mcp.1.1.mov
Works for test-network.
A modular toolkit for managing Hyperledger Fabric test networks and chaincode lifecycle, featuring:
- hlf-controller: A Go-based REST API for network and chaincode operations.
- hlf-mcp: A Python-based MCP tool for automation, scripting, and agent integration.
- Automated Fabric Setup: The
hlf-controllerautomatically downloads and configures Hyperledger Fabric binaries and samples on first run. - Dynamic Configuration: Easily configure the entire Fabric network topology via a central
config.yamlfile. - Full Lifecycle Management: Bring up/down the network, create channels, deploy, invoke, and query chaincode via a simple REST API.
- Agent-Ready: The
hlf-mcptool allows LLMs (like those in Cursor or Claude Desktop) to interact with your Fabric network seamlessly.
- Go (1.18+)
- Python (3.9+)
- pip (for Python dependencies)
git clone <your-repo-url>
cd <repo-root>The controller handles its own prerequisites.
cd hlf-controller
go run main.go- The first time you run this, it will check for
fabric-samplesand download them to your home directory if they are missing. The server will not start until this process is complete. - The API will then be available at
http://localhost:8081.
cd ../hlf-mcp
pip install httpx
# (Optional) Install any other agent/MCP dependenciesThe Go controller is configured via the hlf-controller/config.yaml file. This is the primary way to define your network topology, including peer/orderer details, certificate paths, and timeouts.
HLF_CONFIG_PATH: Path to a customconfig.yamlfile for the controller.HLF_NETWORK_SCRIPT_PATH: Overrides the path to your Fabricnetwork.sh. If not set, the path fromconfig.yamlis used, which in turn defaults to~/fabric-samples/test-network/network.sh.HLF_API_BASE: Base URL for the hlf-controller API (used byhlf-mcp, defaults tohttp://localhost:8081).
- Cursor: Add the hlf-mcp tool to your
~/.cursor/mcp.json(see hlf-mcp/README.md). - Claude Desktop: Add to
claude_desktop_config.json(see hlf-mcp/README.md).
Add the following entry to your ~/.cursor/mcp.json file to integrate the MCP tool with Cursor:
"hlf-controller": {
"command": "uv",
"args": [
"--directory",
"/Users/padamarajkore/Desktop/hlf-mcp", //change it to your local path for hlf-mcp folder
"run",
"mcp_hlf_tool.py"
]
}Add the following entry to your claude_desktop_config.json file (usually found in ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
"hlf-controller": {
"command": "/Users/padamarajkore/.local/bin/uv", //change it to your local path for uv binary
"args": [
"--directory",
"/Users/padamarajkore/Desktop/hlf-mcp", //change it to your local path for hlf-mcp folder
"run",
"mcp_hlf_tool.py"
]
}Note:
- Adjust the
--directoryand script name to match the actual location and filename of your MCP tool. - Adjust the path to the
uvcommand if it is installed elsewhere on your system. - Place these entries inside the top-level JSON object, alongside your other tool definitions.
.
├── hlf-controller/ # Go REST API server with its own config.yaml
├── hlf-mcp/ # Python MCP tool
├── README.md # This file
MIT