fast-mcp-server
The Fast MCP Server is a lightweight protocol server designed to expose custom tools through Server-Sent Events for AI client integration. It offers easy deployment via Docker and includes example functionalities like weather alerts.
Fast MCP Server
A lightweight MCP (Model Context Protocol) Server implementation exposing custom tools via SSE for integration with AI clients.
Table of Contents
- Overview
- Features
- Prerequisites
- Getting Started
- Usage
- Configuration
- Development
- Troubleshooting
- License
Overview
This repository provides a simple MCP Server that implements custom tools (e.g., weather lookups) and exposes them over Server-Sent Events (SSE). It can be run in a Docker container for quick deployment and integrates seamlessly with clients that support the MCP protocol.
Features
- Exposes tools as MCP endpoints over SSE
- Containerized for easy deployment via Docker Compose
- Configurable port and host
- Example tools included (e.g., weather alerts & forecast)
Prerequisites
- Docker ≥ 20.10
- Docker Compose ≥ 1.29
Getting Started
Clone the repository and navigate into the project directory:
git clone git@github.com:kongo97/fast-mcp-server.git
cd fast-mcp-server
Build the Docker Image
docker compose build
This will build the MCP Server image using the provided Dockerfile
.
Start the Container
docker compose up -d
This command will:
- Pull/build the image
- Start the container in detached mode
- Map port
8100
on the host to port8100
in the container
To stop and remove the container, run:
docker compose down
Usage
Connecting an MCP Client
Configure your MCP-compatible client (e.g., Claude Desktop) to connect via SSE at:
http://localhost:8100/sse
Inside docs folder, you can find a simple configuration compatible with Claude Desktop (claude_desktop_config.json)
Available Endpoints
Method | Path | Description |
---|---|---|
GET | /sse | Open SSE stream for MCP communication |
POST | /sse | Send JSON-RPC requests over SSE |
Configuration
You can customize the server port and host by setting environment variables in docker-compose.yml
or directly in the container:
services:
mcp-server:
environment:
- MCP_PORT=8100 # default port
- MCP_HOST=0.0.0.0 # bind address
Development
- Edit or add your MCP tools in
src/server.py
(or your chosen file). - Rebuild and restart the container:
docker compose build docker compose up -d
- Check logs for errors:
docker compose logs -f
Troubleshooting
- 404 on
/sse
: Ensure the server is bound to the correct port and path. - Connection refused: Verify Docker is running and the container is healthy:
docker ps docker logs simple-mcp-server
- Client errors: Check the client configuration for correct SSE URL and protocol version.