- Home
- MCP servers
- MCP-Ables
MCP-Ables
- python
4
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"mfakbar127-mcp-ables": {
"command": "python",
"args": [
"mcpables-main.py",
"examples/nuclei.yaml"
]
}
}
}You can turn any shell command into an MCP Server that AI agents can call, without writing full server code. By describing your tool in a YAML file, MCP-Ables generates an MCP server you can expose to chat clients and automation workflows, enabling rapid, AI-driven command execution across security, DevOps, data processing, and more.
How to use
You interact with MCP-Ables by providing a YAML description of your shell tool and then starting the MCP server so AI agents can invoke it. Create one YAML file per tool or group several tools in a single file. Run the MCP server with the Python entry point, and the server will surface the defined commands as AI-callable endpoints.
How to install
Prerequisites you need to run MCP-Ables on your machine are a Python 3.11+ runtime and any command-line tool you want to expose (for example nuclei, nmap, kubectl, etc.). Follow these concrete steps to get started.
git clone https://github.com/mfakbar127/MCP-Ables.git
cd MCP-Ables
pip install -r requirements.txt
# Example: run with a single YAML file
python mcpables-main.py examples/nuclei.yaml
# Example: run with a directory of YAMLs (recursive)
python mcpables-main.py examples/
# To expose multiple tools, add more YAMLs and repeat the run command as needed.
Configuration and examples
MCP-Ables provides a set of predefined tool configurations you can use as-is or adapt. You define each tool’s name, description, the shell command to run, and the arguments it accepts. You can organize tools in single-file or multi-tool formats and run them from a file or a directory.
name: nuclei_scan
description: Run Nuclei vulnerability scanner against a target URL or IP address
run:
kind: shell
cmd: "nuclei -c {{concurrency}} -t {{target}} -t {{template_path}}"
args:
target:
type: string
description: "Target URL or IP address to scan (e.g., https://example.com)"
required: true
template_path:
type: string
description: "Path to Nuclei templates directory"
required: true
concurrency:
type: int
description: "Number of concurrent requests (1-100)"
required: false
default: 10
" ,
Tips for using MCP-Ables with AI clients
Once the server is running, you can call your tools from compatible AI agents to perform scripted tasks, automate workflows, or perform ad-hoc analyses. Each tool exposes a defined set of arguments, with clear descriptions to help the AI understand how to invoke them correctly.
Troubleshooting
If your MCP-Ables server does not appear in an AI client, verify that you started the server with the correct YAML file or directory and that Python has access to the shell commands you expose. Check that the required prerequisites are installed and that there are no syntax errors in your YAML definitions.
Notes on security and usage
Expose only trusted tools through MCP-Ables, and validate inputs to prevent unintended command execution. Keep the YAML descriptions concise and avoid exposing sensitive system operations unless you intend them to be accessible via AI.
Available tools
nuclei_scan
Run Nuclei vulnerability scanner against a target URL or IP address
subfinder
Passive subdomain enumeration tool from ProjectDiscovery
naabu
Fast port scanning of hosts from ProjectDiscovery
asnmap
ASN, domain, IP, and org network range lookups from ProjectDiscovery
mapcidr
CIDR/IP processing and slicing for mass scanning from ProjectDiscovery
hacking-tools
Bundle of offensive tools including sqlmap, hydra, gobuster, and nikto