一键导入
ngrok
Expose a local port to the public internet using ngrok. Use when the user wants a public URL for a locally running web service.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Expose a local port to the public internet using ngrok. Use when the user wants a public URL for a locally running web service.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | ngrok |
| description | Expose a local port to the public internet using ngrok. Use when the user wants a public URL for a locally running web service. |
| metadata | {"mmclaw":{"emoji":"🌐","os":["linux","darwin","win32"],"requires":{"bins":["python"]}}} |
Use this skill when the user wants to expose a local server to the public internet. Trigger phrases: "ngrok", "public URL", "expose my server", "tunnel", "access from outside".
Do NOT run which ngrok or check for a ngrok binary. There is no standalone ngrok command. ngrok is installed as a Python package and must always be invoked via Python.
Prompt the user to install manually first. Only run automatically if the user explicitly asks for help.
pip install ngrok
The authtoken is stored at $MMCLAW_WORKSPACE/skill-config/ngrok.json:
{
"authtoken": "your_token_here"
}
Get your token at: https://dashboard.ngrok.com/get-started/your-authtoken
Ask the user for their authtoken, then create the file:
import json, os
config = {"authtoken": "<token_provided_by_user>"}
path = os.environ.get('MMCLAW_WORKSPACE', os.path.expanduser('~/.mmclaw')) + '/skill-config/ngrok.json'
os.makedirs(os.path.dirname(path), exist_ok=True)
with open(path, "w") as f:
json.dump(config, f, indent=2)
print(f"Config saved to {path}")
shell_asyncUse the shell_async tool for this command to ensure it runs in the background without blocking. Do NOT append &.
python -c "
import ngrok, json, os, threading
_ws = os.environ.get('MMCLAW_WORKSPACE', os.path.expanduser('~/.mmclaw'))
config = json.load(open(_ws + '/skill-config/ngrok.json'))
url_path = _ws + '/skill-config/ngrok_url.txt'
listener = ngrok.forward(<PORT>, authtoken=config['authtoken'])
open(url_path, 'w').write(listener.url())
threading.Event().wait()
"
sleep 2 && cat $MMCLAW_WORKSPACE/skill-config/ngrok_url.txt
After Step 2, you MUST capture the contents of ngrok_url.txt and explicitly report the public URL to the user in your response. Do NOT tell the user to "check the terminal". The URL must appear directly in your reply.
Browse, search, and install skills from the CrawHub skill marketplace.
Agent Messaging (ClawMeets). Send, read, list, and delete messages via the ClawMeets agent-to-agent protocol.
Notion API for creating and managing pages, databases, and blocks.
Create or update MMClaw skills. Use this when the user wants to add new capabilities, automate a specific tool, or define complex multi-step workflows for the agent.
Search the web using a configured search provider. Use when the user explicitly asks to search, look up current information, or needs real-time data such as news, prices, or recent events.
Scan a directory for sensitive files before serving it over HTTP. Always run this before using the file-server skill.