
Auto-generated Minimalist UI for Python Scripts Using the Click Library
Auto-generated Minimalist UI for Python Scripts Using the Click Library
For example, when in a repo containing the following files:
$ tree
.
...
├── scripts
│ ├── hello_world_script.py # <-- Script containing a @click.command()
│ ├── options_test.py # <-- Script containing a @click.command()
│ ├── not_a_click_cmd.py
│ └── test
│ └── sup.py # <-- Script containing a @click.command()
......and run the following commands:
$ source .venv/bin/activate
$ pip install click-clack # Or wtv pip/uv command you use to setup your virtualenv.
$ click-clack
Running ClickClack.py ⚡
➜ URL: http://localhost:2718...you'll get a minimalist UI that looks like this:
...simply enter any values, and click Run Command!:
If you'd like to make your click commands accessible to MCP Clients such as Claude Desktop, simply add the following config to claude_desktop_config.json (see https://modelcontextprotocol.io/quickstart/user for more info):
{
"mcpServers": {
"click_clack": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/directory/with/your/click/commands"
"--",
"click-clack",
"--mcp",
"--module-path",
"/path/to/directory/with/your/click/commands"
]
}
}
}Note that for this to work as documented above, you'll need to install uv globally first and the /path/to/directory/with/your/click/commands directory must be a valid uv project (i.e. you ran uv init there and uv added the dependencies your commands need).
For example, in Claude Desktop once properly configured you'll be able to see the available tools provided by the click-clack MCP server.
Click commands don't generally return values, so instead when running your commands as an MCP tool, Click Clack will capture all stdout/stderr output that your command emits, and redirect that to the MCP client as your tool's reponse. So, instead of returning your final tool response, use print(response) instead.
This project crawls all .py files at and below the directory where the click-clack command is run. It then automatically traverses the Python AST looking for the @click.command() decorator, and imports the decorated commands and generates a minimalist UI for them.
Whether you're writing basic click commands, or using asyncclick to write async commands, click-clack seamlessly supports your command by auto-detecting the command type.
Marimo fundamentally underpins this package by providing an extremely simple framework for generating interactive UIs in pure python.
MCP Server generation is entirely based on FastMCP, which does almost all of the heavy lifting. Click Clack just performs auto-discovery and does a bit of clever wrapping of your Click commands to be able to pass them off to FastMCP as tools.
The UI will generate an input for each command parameter, and will forward the data from the input to the command.
Currently this project only supports automatically discovering the following command parameter types:
strintfloatbool (including is_flag=True)click.Choiceclick.File (via a file browser UI element: TODO - support stdout via click's magic "-" file arg support)click.Pathclick.DateTimeclick.IntRangeclick.FloatRangeThis repo does not document an install step we could read. Check the README on GitHub.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/click-clack to learn what the "Click Clack" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
This server doesn't publish a machine-readable tool manifest, and it doesn't expose a public endpoint we could ask. Connect the server locally to see what it exposes.
Maintain this server? Claiming proves you own the listing and earns the last 4 points.
Claim this listingPaste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/click-clack)Nothing comparable is listed yet.
0.2.1Release notes0.2.0Release notes0.1.4Release notes0.1.3Release notes0.1.2Release notes0.1.1Release notes0.1.0Release notesConnect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "click-clack" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.