LiveStormMCP
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v233View latest version
This project creates a Model Context Protocol (MCP) server that wraps the Livestorm API, exposing:
- GET endpoints as Resources
- POST, PUT, DELETE endpoints as Tools
- The server fetches and parses the Livestorm API's OpenAPI definition
- It dynamically creates MCP Resources and Tools based on the API endpoints
- When a client requests a Resource or Tool, the server proxies the request to the Livestorm API
When defining the MCP server in your LLM client applications use the following snippet:
{ "mcpServers": { "livestorm-api": { "type": "streamable-http", "url": "https://supagroova--7fab7ae4322911f080e9569c3dd06744.web.val.run/mcp", "note": "For Streamable HTTP connections, add this URL directly in Client" } } }
{ "mcpServers": { "livestorm-api": { "type": "sse", "serverUrl": "https://supagroova--7fab7ae4322911f080e9569c3dd06744.web.val.run/sse" } } }
index.ts
: Main entry point with HTTP triggerlivestorm.ts
: Functions to fetch and parse the OpenAPI definitionmcp.ts
: MCP server setup and configuration
You can store your environment variables in a .env
file in the project root.
These will be loaded automatically when you run the server (using
Deno std/dotenv).
Example .env
:
RUN_LOCAL=1
PORT=8787
LIVESTORM_API_TOKEN=your-livestorm-api-token-here
This is useful for API tokens and local configuration.
You can run this MCP server locally using the Deno
runtime, which supports TypeScript and npm:
/URL imports out of the box.
With Homebrew (macOS):
brew install deno
In your project directory, run:
RUN_LOCAL=1 deno run --allow-net --allow-env --allow-import index.ts
To specify a custom port:
RUN_LOCAL=1 PORT=3000 deno run --allow-net --allow-env --allow-import index.ts
Deno will automatically fetch and cache all dependencies.