SSE Calculator
A stateful calculator server using Server-Sent Events (SSE) for real-time communication.
SSE Calculator MCP Server
A stateful calculator server that uses Server-Sent Events (SSE) for real-time communication. This server implements the Model Context Protocol (MCP) for integration with AI assistants.
Features
- Real-time calculator operations using SSE
- Stateful sessions for ongoing calculations
- History tracking for all calculations
- Web-based calculator interface
- MCP integration for AI assistants
Architecture
The server is built using NestJS and implements the following components:
- Session Service: Manages calculator sessions and state
- Calculator Service: Performs calculation operations
- SSE Controller: Handles client connections and event streaming
Getting Started
Prerequisites
- Node.js (v14 or higher)
- npm (v6 or higher)
Installation
- Clone the repository
- Install dependencies:
npm install
- Start the server:
npm run start:dev
- Open the calculator interface in your browser:
http://localhost:3000
API Endpoints
SSE Stream
GET /calculator/stream
Establishes an SSE connection and creates a new calculator session.
Calculate
POST /calculator/calculate/:sessionId
Performs a calculation operation on the specified session.
Request body:
{
"operation": "add", // add, subtract, multiply, divide, clear
"a": 5,
"b": 3
}
History
GET /calculator/history/:sessionId
Retrieves the calculation history for the specified session.
Sessions
GET /calculator/sessions
Retrieves all active calculator sessions.
MCP Integration
To use this server as an MCP server, add the following configuration to your MCP settings file:
{
"mcpServers": {
"remote-calculator": {
"url": "http://localhost:3000/calculator/stream",
"disabled": false,
"alwaysAllow": [],
"timeout": 60
}
}
}
Deployment Options
For production deployment, you can use the following options:
-
Docker: A Dockerfile is provided for containerized deployment
- See
Dockerfileanddocker-compose.ymlfor configuration
- See
-
Smithery.ai: Deploy directly from GitHub
- See
SMITHERY_DEPLOYMENT.mdfor detailed instructions - Configuration provided in
smithery.json
- See
-
Heroku/DigitalOcean: Cloud platform deployment
- See
DEPLOYMENT.mdfor step-by-step instructions
- See
-
Self-hosted: Use NGINX or similar for SSL termination and load balancing
Hosting Your Own MCP Server
After deploying your server, update your MCP client configuration to point to your hosted URL:
{
"mcpServers": {
"remote-calculator": {
"url": "https://your-deployed-url.com/calculator/stream",
"disabled": false,
"alwaysAllow": [],
"timeout": 60
}
}
}
License
MIT
관련 서버
Yandex Browser Tabs
An MCP server for managing Yandex Browser tabs with extended functionality.
Goodday
A read-only server for the Goodday project management platform.
Linear MCP Server
Interact with the Linear project management system using its GraphQL API.
Gamma MCP Server
Integrates with the Gamma API to generate presentations from prompts.
Google Sheets
Interact with Google Sheets using a Python-based MCP server and Google Apps Script.
Multi-Model Advisor
Queries multiple Ollama models to combine their responses, offering diverse AI perspectives on a single question.
Plane MCP Server
Manage projects and issues on the open-source project management platform, Plane.so.
Lenny's Podcast Transcripts
Search 286 episodes of product management wisdom from Lenny Rachitsky. Semantic search across 300+ hours of transcripts.
Summarize MCP
Converts text summaries to speech using OpenAI's Text-to-Speech API and plays them in the background.
Jira MCP Server
Integrates with Jira's REST API to manage issues programmatically.