README Documentation
Countries MCP
This project implements a Model Context Protocol (MCP) server that provides country-related data using the REST Countries API. It's built using TypeScript and Express, with Docker support for easy deployment.
Prerequisites
- Node.js (v14 or higher)
- Docker and Docker Compose
- npm or yarn package manager
Installation
- Install dependencies:
npm install
- Add a
.env
file in the root directory as .example shows
Running the Application
Development Mode
npm run dev
Production Mode
- Build the application:
npm run build
- Start the server:
npm start
Using Docker
- Build and run using Docker Compose:
docker-compose up --build
API Documentation
Endpoints
POST /mcp
Main endpoint for MCP communication.
Headers:
Accept: application/json, text/event-stream
mcp-session-id
: Session identifier (null for new sessions)
Initial Request:
- First request should not include a session ID
- Server will respond with a new session ID in the
mcp-session-id
header
Subsequent Requests:
- Include the session ID received from the initial request
- Maintains the session context for continued interaction
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source