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
Norman Finance
MCP server for managing accounting and taxes with Norman Finance.
Airflow MCP
Interact with Apache Airflow using natural language to manage and monitor your data workflows.
Xeams MCP Server
Validate email address and check that status of a previously sent email
Trello
Interact with Trello boards, lists, and cards using the Trello REST API.
MCP Redmine
A server integration for the Redmine project management tool.
Odoo MCP Improved
An enhanced MCP server for Odoo ERP with advanced tools for sales, purchases, inventory, and accounting.
Plane MCP Server
Manage projects and issues on the open-source project management platform, Plane.so.
Obsidian
Interact with your Obsidian vault using the Local REST API plugin, enabling LLMs to access and manage your notes.
Blogger Posting
Automate blog posting on Google Blogger using the Blogger API.
Issuebage MCP Server
digital badge issuing platform