countries-mcp
Provides detailed country-related data using the REST Countries API, enabling access to geographic and demographic information through a standardized protocol.
Author

Pedrohmlara
Quick Info
Actions
Tags
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
.envfile 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
