{"ok":true,"site":{"host":"ngrok.com","url":"https://ngrok.com/","type":"live","desc":"ngrok is developer infrastructure that routes and secures traffic to your apps, APIs, and AI models, wherever they run. Start on localhost, ship to prod.","tools":[{"name":"get_site_overview","kind":"answer","impl":"imperative","description":"Read ngrok's llms.txt: what ngrok is, its products, and links to the docs, the API, and its agent-facing documents.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"get_pricing","kind":"answer","impl":"imperative","description":"Read ngrok's plans, limits, and prices as markdown, with dollar amounts served live from billing.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"get_auth_instructions","kind":"answer","impl":"imperative","description":"Read how an agent gets and uses ngrok credentials: API keys for api.ngrok.com, authtokens for the ngrok agent, and AI Gateway keys.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"get_agent_setup_prompt","kind":"answer","impl":"imperative","description":"Read the setup guide for an AI coding agent that puts a developer's local app online with the ngrok agent and verifies the endpoint.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"get_docs_page","kind":"answer","impl":"imperative","description":"Read one page of the ngrok documentation as markdown. Pass the path after /docs/ with no extension, for example gateway/traffic-policy, api, or agent/cli. The page index is at /docs/llms.txt.","inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"The docs path after /docs/, such as gateway/traffic-policy."}},"required":["path"]},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"get_agent_skill","kind":"answer","impl":"imperative","description":"Read one of ngrok's agent skills (a SKILL.md) by name. The index at /.well-known/agent-skills/index.json lists the names and descriptions.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"The skill name from the index, such as expose-localhost."}},"required":["name"]},"executable":true,"handlerField":"execute","page":"/","pages":["/","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"open_page","kind":"act","impl":"imperative","description":"Open a page on ngrok.com in this tab. Use the get_* tools instead when you only need a document's content.","inputSchema":{"type":"object","properties":{"path":{"type":"string","enum":["/","/pricing","/download","/gateway","/use-cases/share-localhost","/use-cases/api-gateway","/use-cases/ai-agent-connectivity","/customers","/contact","/support","/docs"],"description":"/: Home; /pricing: Pricing; /download: Download the ngrok agent; /gateway: Universal Gateway; /use-cases/share-localhost: Share localhost; /use-cases/api-gateway: API gateway; /use-cases/ai-agent-connectivity: AI agent connectivity; /customers: Customers; /contact: Contact sales; /support: Support; /docs: Documentation"}},"required":["path"]},"executable":true,"handlerField":"execute","page":"/","pages":["/","/blog","/abuse","/brand","/careers","/compare/cloudflare-tunnel"]},{"name":"search_blog_posts","kind":"answer","impl":"imperative","description":"Search the ngrok blog by words in a post's title, description, author, or tags. Omit the query for the newest posts. Returns each post's slug, title, description, date, author, tags, and URL.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Words to match. Every word must appear somewhere in the post's metadata."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10}}},"executable":true,"handlerField":"execute","page":"/blog","pages":["/blog"]},{"name":"get_blog_index","kind":"answer","impl":"imperative","description":"Read the blog's llms.txt: what the ngrok blog covers and where its feeds and indexes are.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/blog","pages":["/blog"]},{"name":"get_changelog_feed","kind":"answer","impl":"imperative","description":"Read the ngrok changelog as an RSS feed: each entry's title, summary, date, products, and URL, newest first.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/blog","pages":["/blog"]},{"name":"open_blog_post","kind":"act","impl":"imperative","description":"Open one blog post in this tab by its slug. search_blog_posts returns the slugs.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"The post slug, such as probes."}},"required":["slug"]},"executable":true,"handlerField":"execute","page":"/blog","pages":["/blog"]}],"category":"Developer Tools","favicon":"/favicons/ngrok.com.png","apiSurface":"spec","toolCount":11}}