mcp-server-ngrok
Allows exposing the MCP server publicly via an ngrok tunnel, enabling remote AI clients like Kiro Web to connect and use custom tools.
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., "@mcp-server-ngrokGet the current time in Tokyo"
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.
MCP Server for ngrok + Kiro Web
A local MCP (Model Context Protocol) server with SSE and Streamable HTTP transports, designed to be exposed via ngrok and used as a true MCP server in Kiro Web.
Quick Start
# 1. Install
npm install
# 2. Run the server
npm run dev
# 3. In another terminal, expose via ngrok
ngrok http 3000Copy the ngrok HTTPS URL (e.g., https://abc123.ngrok-free.app).
Related MCP server: MCP HTTP Proxy
Add to Kiro Web Config
{
"mcpServers": {
"my-local-server": {
"type": "sse",
"url": "https://YOUR-NGROK-URL.ngrok-free.app/sse"
}
}
}Then start a new Kiro session - the AI will have access to all your custom tools!
Available Tools
Tool | Description |
| Generate a personalized greeting message |
| Get the current date/time (with optional timezone) |
| Perform arithmetic (add, subtract, multiply, divide) |
| Save a note with a key |
| Retrieve a saved note by key |
| List all saved note keys |
| Get server system information |
Endpoints
Endpoint | Method | Transport | Description |
| GET | - | Health check |
| GET | SSE | SSE connection (legacy transport) |
| POST | SSE | SSE message handler |
| POST | Streamable HTTP | Modern transport |
Adding Your Own Tools
Edit src/server.ts and add tools inside the createMcpServer() function:
server.registerTool(
"my_tool_name",
{
title: "My Tool",
description: "What this tool does",
inputSchema: {
param1: z.string().describe("Description of param1"),
param2: z.number().optional().describe("Optional param"),
},
},
async ({ param1, param2 }) => {
const result = `Got: ${param1}, ${param2}`;
return { content: [{ type: "text", text: result }] };
}
);Architecture
┌─────────────────┐ ┌─────────────┐ ┌─────────────────────┐
│ Kiro Web │◀─────▶│ ngrok │◀─────▶│ Your Local Machine │
│ (AI Client) │ HTTPS │ tunnel │ HTTP │ MCP Server :3000 │
└─────────────────┘ └─────────────┘ └─────────────────────┘Configuration
Environment Variable | Default | Description |
|
| Port the server listens on |
Security Notes
Your ngrok URL is publicly accessible - keep it private
For production, add authentication (API keys, OAuth)
ngrok paid plans offer IP restrictions and fixed subdomains
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Host your MCP tool over streamable HTTP in one command.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Streamable HTTP MCP server exposing planner flows, tasks, and squads.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables interaction with remote MCP servers using SSE transport instead of STDIO for enhanced communication capabilities.1203,795 PyPI2,751PythonMIT
- AlicenseNot gradedqualityDmaintenanceExposes any stdio-based MCP server to the internet via HTTP/SSE transport, enabling remote agents to access MCP tools over a network.4 npmMIT
- FlicenseNot gradedqualityDmaintenanceA standalone MCP server that exposes API endpoints as tools for AI assistants, using SSE transport.-
- AlicenseNot gradedqualityAmaintenanceLifts local stdio MCP servers into remote Streamable HTTP endpoints for cloud-hosted AI clients, with bearer-token auth and tool policy filtering.4 npmMIT