cameronking4/spawn-mcp
If you are the rightful owner of spawn-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) SSE Server POC is a proof-of-concept server that facilitates the streaming of real-time model responses via Server-Sent Events (SSE) using the Model Context Protocol.
MCP SSE Server POC
A proof-of-concept server for STDIO transport of Model Context Protocol (MCP) into instant Server-Sent Events (SSE) streaming, deployable as a service. Instant remote hosted MCP servers with zero infrastructure work.
Features
- Create and manage MCP server configurations via a simple UI
- Generate stable SSE endpoints for each configuration
- Stream real-time model responses via SSE
- Built with Express, Drizzle ORM, and PostgreSQL
- One-click deployment on Render
Local Development
Prerequisites
- Node.js (v18 or later)
- PostgreSQL database
Setup
- Clone this repository:
git clone https://github.com/yourusername/mcp-sse-poc.git
cd mcp-sse-poc
- Install dependencies:
npm install
- Set up your local PostgreSQL database and create a
.env
file with your database connection string:
DATABASE_URL=postgresql://username:password@localhost:5432/mcp_sse_db
- Generate and run migrations:
npm run generate
npm run migrate
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
Deployment on Render
1. Push Your Code to GitHub/GitLab
Make sure your repository includes all the files in this project.
2. Create a Web Service on Render
- Log in to your Render Dashboard
- Click New → Web Service
- Connect your GitHub/GitLab repository
- Configure the service:
- Name: Choose a name (e.g.,
mcp-sse-poc
) - Environment: Node
- Build Command:
npm install
(this will trigger the postinstall script that builds and migrates) - Start Command:
npm start
- Name: Choose a name (e.g.,
- Click Create Web Service
3. Add a PostgreSQL Database
- In Render, click New → PostgreSQL Database
- Name it (e.g.,
mcp-sse-db
) - Select the free plan
- Click Create Database
- Copy the provided
DATABASE_URL
connection string
4. Configure Environment Variables
- Go back to your Web Service
- Navigate to the Environment tab
- Add the following environment variable:
- Key:
DATABASE_URL
- Value: Paste the connection string you copied
- Key:
5. Deploy
Render will automatically deploy your application. Once deployed, you can access it at the URL provided by Render.
Usage
- Open your deployed application in a browser
- Create a new MCP server configuration by entering a name and JSON configuration
- Save the configuration to generate an SSE URL
- Use the SSE URL in your client application to stream model responses
Example Configuration
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Model Context Protocol (MCP)
The Model Context Protocol is a lightweight, STDIO-based specification for interacting with language models over a standard input/output interface. It allows for real-time streaming of model responses and is designed to be simple and extensible.
Core Concepts
-
STDIO Transport
- Input: JSON blob describing context messages
- Output: Incremental response tokens streamed to stdout
- Errors & Events: Non-blocking notifications on stderr
-
JSON Message Format
{ "context": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Translate to French: Hello, world!" } ], "stream": true }
-
Server-Sent Events (SSE)
- Each JSON chunk becomes an SSE event
- Perfect mapping to MCP's unidirectional streaming model
License
MIT