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
Related Servers
CognitiveCompass MCP
A cognitive framework selector to help choose the right mental models and thinking frameworks for any situation.
Plane MCP Server
Manage projects and issues on the open-source project management platform, Plane.so.
Office PowerPoint MCP
Create, edit, and manipulate PowerPoint presentations using python-pptx.
Rebrandly
Generate short URLs using the Rebrandly API.
Anki MCP Server
Interact with the Anki flashcard app via the AnkiConnect add-on. Supports audio generation and similarity search.
Microsoft To Do MCP
Interact with Microsoft To Do using the Microsoft Graph API.
YNAB
Interact with your YNAB (You Need A Budget) budgets and financial data.
WayStation
A universal remote MCP server that connects to popular productivity tools such as Notion, Monday, AirTable, and many more.
early-mcp
Complete MCP server for Early (Timeular) time tracking - 46 tools for tracking, entries, activities, folders, tags, reports. Created with Claude
Attendee MCP Server
An MCP server for managing Attendee meeting bots, requiring a running Attendee backend service.