Skip to main content
Glama
phamtienduceng

SSE Calculator MCP Server

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

  1. Clone the repository

  2. Install dependencies:

npm install
  1. Start the server:

npm run start:dev
  1. 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:

  1. Docker: A Dockerfile is provided for containerized deployment

    • See Dockerfile and docker-compose.yml for configuration

  2. Smithery.ai: Deploy directly from GitHub

    • See SMITHERY_DEPLOYMENT.md for detailed instructions

    • Configuration provided in smithery.json

  3. Heroku/DigitalOcean: Cloud platform deployment

    • See DEPLOYMENT.md for step-by-step instructions

  4. 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/phamtienduceng/calculator-mcp-remote-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server