IMALI Commander
OfficialProvides tools for inspecting Git repositories within the configured workspace, including git status, git diff, and git log via the run_workspace_command tool.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IMALI Commander search my workspace for TODO comments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IMALI Commander
Give AI assistants (Claude Desktop, ChatGPT and any MCP client) safe access to one folder on your computer or server: read, write, upload, download, search, and check git status. Nothing outside that folder, no shell.
Scoped to a single workspace folder; symlink and
../escapes are blockedWorks locally over stdio, or remotely over authenticated HTTPS
Read-only mode for "look but don't touch"
Audit log of every action (never file contents or tokens)
Token stored only as a hash; brute-force lockout
One command to run as a background service on macOS or Linux
Free and Pro
Free | Pro | |
All 10 tools, read-only mode, audit log | ✔ | ✔ |
Claude Desktop and other local clients (stdio) | ✔ | ✔ |
Local HTTP ( | ✔ | ✔ |
Remote HTTPS access (ChatGPT, web assistants, other machines) | ✔ | |
Multiple workspaces ( | ✔ | |
Priority email support | ✔ | |
Price | $0 | $9/month or $79/year |
Activate Pro with imali-commander activate <license-key>, then restart.
The license is checked at most once a day; if you're offline, Pro keeps
working for 7 days from the last successful check. Free never contacts the
internet.
Related MCP server: MCPort
Install
Requires Node.js 20+.
npm install -g github:IMALI-DEFI/imali-commander
imali-commander init --workspace ~/imali-workspaceinit prints your access token once plus a ready-to-paste client config.
Connect a desktop client (stdio)
Paste the JSON that init printed into your client's MCP config, e.g. Claude
Desktop → Settings → Developer → Edit Config, then restart the client. Without a
global install you can also run it through npx:
{
"mcpServers": {
"imali-commander": { "command": "npx", "args": ["-y", "github:IMALI-DEFI/imali-commander", "start"] }
}
}The config init prints looks like:
{
"mcpServers": {
"imali-commander": { "command": "/usr/local/bin/node", "args": ["/…/imali-commander/src/server.js"] }
}
}Run over HTTP
imali-commander start --http # foreground, http://127.0.0.1:8787/mcp
imali-commander service install --load # background service that starts at loginClients send Authorization: Bearer <token>. Commander only listens on
localhost; for access from other machines put it behind HTTPS (next section).
Remote access over HTTPS
Remote access is a Pro feature.
Docker (recommended): Commander plus Caddy with automatic Let's Encrypt certificates.
cp deploy/.env.example deploy/.env # set DOMAIN, IMALI_MCP_TOKEN_SHA256 and IMALI_LICENSE_KEY
docker compose -f deploy/docker-compose.yml --env-file deploy/.env up -dEndpoint: https://<DOMAIN>/mcp. Only /mcp and /health are exposed.
Without Docker: run Commander as a service, set "trustProxy": true in the
config, and use deploy/Caddyfile.host with Caddy on the same machine.
Commands
Command | What it does |
| Set up, print token and client config |
| Run the server (stdio by default) |
| Show settings and whether it's running |
| Check Node, permissions, workspace, port, token |
| New token (restart to apply) |
| Turn Pro on, or free this machine's seat |
| Show edition; |
| Extra workspaces (Pro); tools then take an optional |
| Background service (launchd / systemd) |
Tools
device_info, list_files, read_file, write_file, download_file,
upload_file, create_directory, file_info, search_files,
run_workspace_command (pwd, ls, git-status, git-diff, git-log only).
Read-only mode removes write_file, upload_file and create_directory.
Limits: text files 1 MB, transfers 5 MB, HTTP body 8 MB, commands 5 s / 32 KB output.
Configuration
~/.imali-commander/config.json (created by init, mode 600). Environment
variables override it; change the config folder with IMALI_HOME.
Env var | Config key | Default |
|
|
|
| — |
|
|
|
|
| — | plaintext token (32+ chars), overrides the hash |
|
| set by |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Pro key; activates on first start (for containers) |
— |
| extra workspaces, set with |
Troubleshooting
Client shows no tools: run
imali-commander doctor, then restart the client.401 Unauthorized: wrong token. Run
imali-commander rotate-token, thenservice restart.429 Too many requests: 10 bad tokens within a minute locks that address out for the rest of the minute.
Service logs:
~/.imali-commander/logs/service.log.
See SECURITY.md for the security model and CHANGELOG.md for releases.
Available Tools
10 toolscreate_directoryC
Create a directory within approved workspace
Inputs: directory (required).
device_infoC
Describe connected local computer and workspace
Inputs: no named parameters.
download_fileA
Read a small workspace file as base64 for transfer to an MCP client (max 5 MB)
Inputs: file (required).
file_infoB
Show metadata for a file or directory in the workspace
Inputs: file (required).
list_filesC
List files within approved workspace
Inputs: directory.
read_fileB
Read UTF-8 file in workspace (up to 1 MB)
Inputs: file (required).
run_workspace_commandB
Run a limited read-only command in the workspace; no shell or arbitrary programs
Inputs: command (required), directory.
search_filesC
Search filenames recursively within the workspace
Inputs: query (required), directory.
upload_fileB
Write base64-encoded file into approved workspace (max 5 MB)
Inputs: data (required), file (required).
write_fileC
Create or replace UTF-8 file in workspace
Inputs: file (required), content (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct action: device info, listing, reading, writing, base64 transfer, directory creation, metadata, filename search, and command execution. read_file and download_file overlap slightly, but the descriptions clearly distinguish UTF-8 content from base64 transfer.
Most names follow a consistent verb_noun snake_case pattern (list_files, read_file, write_file, download_file, upload_file, create_directory, search_files). The noun-only names device_info and file_info are minor deviations but remain readable and domain-consistent.
Ten tools is a well-scoped set covering read, write, transfer, metadata, search, and command operations. No tool appears redundant.
Core file operations are covered, but there is no delete_file or delete_directory, no move/rename or copy, and no append/update-in-place operation (write_file replaces). Agents needing cleanup or reorganization hit dead ends.
Maintenance
Related MCP Connectors
Operate GitHub from your AI assistant: repos, PRs, issues, Actions. Previews and read-only mode.
Git-backed platform for skills, tools, and context for AI agents
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
Related MCP Servers
- AlicenseAqualityCmaintenanceConnects AI assistants to GitHub repositories, pull requests, issues, commits, and code search while enabling repository visibility controls, CI/CD monitoring, sandboxed local filesystem access, and code quality/security analysis.131MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to safely read, search, understand, and edit local project code and files, with Git inspection, code indexing, and controlled command execution within permissioned workspaces.4 npm6MIT
- FlicenseAqualityBmaintenanceEnables AI assistants to securely inspect local Git repositories and perform restricted write operations in isolated worktrees, with sandboxed script execution and limited GitHub repository management.24-
- AlicenseAqualityCmaintenanceEnables AI clients like ChatGPT or Codex to manage files and local Git repositories within an explicitly authorized workspace, with server-enforced path boundary checks and optional remote Git operations.181MIT