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
Servidores relacionados
Simple Voice MCP Server
A simple text-to-speech server that plays audio from text, supporting multiple voice models.
Pandoc
A server for converting document formats using Pandoc.
Google Calendar Tools
A server for managing Google Calendar events and schedules.
SpellChecker
A fast, multilingual spell-checker for Large Language Models.
UNO: Unified Narrative Operator
A text enhancement tool that transforms story content into rich, detailed narratives using advanced literary techniques and heuristic analysis.
Backlog Manager
Manage task backlogs using a file-based JSON storage system.
Offorte
Create and send business proposals using AI with Offorte.
Rememberizer
Access personal and team knowledge from documents and Slack discussions.
Yandex Tracker
Integrates with Yandex Tracker, allowing an AI assistant to interact with its task management system via the MCP protocol.
TranscriptionTools
An MCP server for intelligent transcript processing, including formatting, repair, and summarization.