This repository contains a demo implementation of a Model Context Protocol (MCP) server. The server is designed to manage organizations and devices, calculate distances between devices and their associated organizations, and provide a set of tools for interacting with the data.
Clone the repository:
git clone <repository-url>
cd mcp-demo
Set up a virtual environment:
uv venv
source .venv/bin/activate
Configure the environment variables in a .env
file:
DB_NAME=mcp
DB_USER=mcp_user
DB_PASSWORD=pa$$word
DB_HOST=localhost
DB_PORT=5432
Set up the database:
psql -U <username> -d <database> -f tables.sql
Run the MCP server:
uv run main.py
Use the provided tools to interact with the server:
get_organizations
: Fetch all organizations from the database.get_devices
: Fetch all devices from the database.get_devices_by_organization
: Fetch devices for a specific organization.list_devices_with_distance
: List devices and their distances from their associated organizations.main.py
: Main entry point for the MCP server.tables.sql
: SQL script to set up the database schema and seed data..env
: Environment variables for database configuration.pyproject.toml
: Project metadata and dependencies.httpx
: HTTP client for Python.mcp[cli]
: MCP framework for building servers.psycopg2
: PostgreSQL database adapter for Python.To configure Claude Desktop for this MCP server project, follow these steps:
Install Claude Desktop on your machine from the official website.
Open Claude Desktop and navigate to the settings menu.
Add a new project configuration for the MCP server:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
Add the mcp servers
{
"mcpServers": {
"devices": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-demo",
"run",
"main.py"
],
"env": {
"DB_NAME": "mcp",
"DB_USER": "mcp_user",
"DB_PASSWORD": "pa$$word",
"DB_HOST": "localhost",
"DB_PORT": "5432"
}
}
}
}
List the devices in DB and show me how far are they from their organization address. Also, add get the mac addresses of the devices.
Seamless access to top MCP servers powering the future of AI integration.