Uses Express as the web framework for serving the MCP server endpoints, including the main MCP endpoint, health checks, and the home page.
Mentioned as part of the deployment workflow for pushing code to repositories before deploying to Render.
Supported as a source code repository option for deploying the MCP server to Render.
Supported as a source code repository option for deploying the MCP server to Render.
Built on Node.js (version 18.0.0 or higher required) as the server runtime environment for the MCP functionality.
Uses npm for package management, dependency installation, and running server commands.
Designed to comply with OpenAI's MCP specifications for secure model context protocols.
Provides deployment configuration and instructions for hosting the MCP server on Render, with both automatic deployment via render.yaml and manual deployment options.
Employs Zod schemas for comprehensive input validation of user requests to the MCP server.
Fibonacci MCP Server
A secure Model Context Protocol (MCP) server that provides tools for calculating Fibonacci numbers. This server is designed to meet OpenAI's MCP specifications and includes comprehensive security measures for production deployment.
Features
- Fibonacci Calculator: Calculate the nth Fibonacci number with input validation
- BMI Calculator: Calculate BMI from weight and height with realistic bounds
- Code Review Prompt: Generate prompts for code review with size limits
- Web Interface: Beautiful home page explaining the server capabilities
- Session Management: Stateful MCP server with automatic session cleanup
- Security Features: Rate limiting, CORS, input validation, and error handling
- Production Ready: Health checks, logging, and environment-specific configurations
Security & Compliance Features
🔒 Security Measures
- Rate Limiting: 1000 requests per 15-minute window per IP
- Input Validation: Comprehensive validation using Zod schemas
- Request Size Limits: 10MB limit on request payloads
- CORS Configuration: Proper CORS headers for MCP client compatibility
- Session Timeout: Automatic cleanup of sessions older than 1 hour
- Error Handling: Proper error responses following MCP protocol standards
🛡️ Production Readiness
- Health Check Endpoint:
/health
for monitoring and load balancers - Structured Logging: Comprehensive error logging and monitoring
- Environment Detection: Automatic configuration for production vs development
- Memory Management: Automatic cleanup of rate limit and session data
- Graceful Error Handling: Proper HTTP status codes and JSON-RPC error responses
📋 MCP Protocol Compliance
- Proper Error Codes: JSON-RPC 2.0 compliant error responses
- Server Metadata: Complete server information and capabilities
- Session Management: Proper MCP session lifecycle management
- Resource Validation: Input validation for dynamic resources
Local Development
Prerequisites
- Node.js 18.0.0 or higher
- npm
Installation
- Clone the repository:
- Install dependencies:
- Start the server:
The server will be available at:
- Home page: http://localhost:7171/
- MCP endpoint: http://localhost:7171/mcp
- Health check: http://localhost:7171/health
Deployment on Render
Option 1: Using render.yaml (Recommended)
- Push your code to a Git repository (GitHub, GitLab, etc.)
- Connect your repository to Render
- Render will automatically detect the
render.yaml
file and deploy your service
Option 2: Manual Deployment
- Create a new Web Service on Render
- Connect your Git repository
- Configure the service:
- Environment: Node
- Build Command:
npm install
- Start Command:
npm start
- Environment Variables:
NODE_ENV
:production
Environment Variables
PORT
: Port number (automatically set by Render)NODE_ENV
: Set toproduction
for production deployments
MCP Tools
fibonacci
Calculate the nth Fibonacci number with input validation.
Parameters:
n
(number): The position in the Fibonacci sequence (0-indexed, max 1000)
Example:
Response:
calculate-bmi
Calculate BMI from weight and height with realistic bounds.
Parameters:
weightKg
(number): Weight in kilograms (0-1000)heightM
(number): Height in meters (0.1-3.0)
review-code
Generate a prompt for code review with size limits.
Parameters:
code
(string): The code to review (max 10,000 characters)
MCP Resources
config://app
: Static application configurationusers://{userId}/profile
: Dynamic user profile data (with input validation)
API Endpoints
GET /
: Home page with server informationGET /health
: Health check endpoint for monitoringPOST /mcp
: MCP protocol endpointGET /mcp
: Server-sent events (SSE) for notificationsDELETE /mcp
: Session termination
Security Headers
The server automatically includes the following security headers:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, mcp-session-id, Authorization
Rate Limiting
- Limit: 1000 requests per 15-minute window per IP address
- Response: HTTP 429 with JSON-RPC error when limit exceeded
- Storage: In-memory with automatic cleanup
Error Handling
The server returns proper JSON-RPC 2.0 error responses:
Common error codes:
-32000
: Bad Request-32029
: Rate limit exceeded-32601
: Method not found-32603
: Internal server error
Monitoring & Health Checks
Health Check Response
Logging
The server logs:
- Session creation and cleanup
- Rate limit violations
- Error conditions
- Server startup information
Technical Details
- Server Name: fibonacci-mcp-server
- Version: 1.0.0
- Protocol: Model Context Protocol (MCP)
- Transport: HTTP/Express with session management
- Node.js Version: >=18.0.0
- Security: Rate limiting, CORS, input validation
- Compliance: JSON-RPC 2.0, MCP protocol standards
OpenAI MCP Compliance
This server is designed to meet OpenAI's MCP specifications:
✅ Authentication & Security: Rate limiting, input validation, CORS
✅ Error Handling: Proper JSON-RPC error responses
✅ Session Management: Secure session lifecycle
✅ Production Readiness: Health checks, logging, monitoring
✅ Protocol Compliance: MCP and JSON-RPC 2.0 standards
✅ Resource Management: Memory cleanup and timeout handling
License
ISC
This server cannot be installed
A secure Model Context Protocol server that provides tools for calculating Fibonacci numbers, BMI, and generating code review prompts with comprehensive security measures for production deployment.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.Last updated -1316TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that allows secure execution of pre-approved commands, enabling AI assistants to safely interact with the user's system.Last updated -1620JavaScript
- AsecurityFlicenseAqualityA foundation for creating custom Model Context Protocol servers that can integrate with AI systems, providing a simple BMI calculator tool as an example implementation.Last updated -23TypeScript
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.Last updated -2PythonMIT License