Modular toolkit for managing Fabric test networks and chaincode lifecycle via MCP tools.
https://github.com/user-attachments/assets/75c3414a-3901-42ff-bf33-8f57b0ca96b4
Works for test-network.
A modular toolkit for managing Hyperledger Fabric test networks and chaincode lifecycle, featuring:
hlf-controller
automatically downloads and configures Hyperledger Fabric binaries and samples on first run.config.yaml
file.hlf-mcp
tool allows LLMs (like those in Cursor or Claude Desktop) to interact with your Fabric network seamlessly.git clone <your-repo-url>
cd <repo-root>
The controller handles its own prerequisites.
cd hlf-controller
go run main.go
fabric-samples
and download them to your home directory if they are missing. The server will not start until this process is complete.http://localhost:8081
.cd ../hlf-mcp
pip install httpx
# (Optional) Install any other agent/MCP dependencies
The 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 custom config.yaml
file for the controller.HLF_NETWORK_SCRIPT_PATH
: Overrides the path to your Fabric network.sh
. If not set, the path from config.yaml
is used, which in turn defaults to ~/fabric-samples/test-network/network.sh
.HLF_API_BASE
: Base URL for the hlf-controller API (used by hlf-mcp
, defaults to http://localhost:8081
).~/.cursor/mcp.json
(see hlf-mcp/README.md).claude_desktop_config.json
(see hlf-mcp/README.md).~/.cursor/mcp.json
)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"
]
}
claude_desktop_config.json
)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:
--directory
and script name to match the actual location and filename of your MCP tool.uv
command if it is installed elsewhere on your system..
├── hlf-controller/ # Go REST API server with its own config.yaml
├── hlf-mcp/ # Python MCP tool
├── README.md # This file
MIT