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_sdk_eyra_accelerator_v15
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.
Stateless MCP gateway and OTel span-streaming bridge for hosted MCP servers.
61Streamable HTTP MCP server exposing planner flows, tasks, and squads.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes any stdio-based MCP server to the internet via HTTP/SSE transport, enabling remote agents to access MCP tools over a network.6 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.9 npmMIT
- AlicenseNot gradedqualityCmaintenanceExposes local stdio MCP servers to chat AIs through temporary public URLs, providing both a Streamable HTTP gateway and a REST+OpenAPI bridge for integration with ChatGPT and other clients.MIT