Skip to content

Implements a Model Context Protocol (MCP) server that provides country-related data using the REST Countries API

Notifications You must be signed in to change notification settings

Pedrohmlara/countries-mcp

Repository files navigation

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

  1. Install dependencies:
npm install
  1. Add a .env file in the root directory as .example shows

Running the Application

Development Mode

npm run dev

Production Mode

  1. Build the application:
npm run build
  1. Start the server:
npm start

Using Docker

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

About

Implements a Model Context Protocol (MCP) server that provides country-related data using the REST Countries API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published