Italian Cities

Exposes CRUD operations for Italian cities via MCP, backed by Elasticsearch and a REST API.
  • typescript

0

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "danielsaban-mcp-server-crud-elasticsearch": {
      "command": "node",
      "args": [
        "/absolute/path/to/varolio/dist/mcp-server/index.js"
      ],
      "env": {
        "API_HOST": "localhost",
        "API_PORT": "3000",
        "NODE_ENV": "development",
        "ELASTICSEARCH_HOST": "http://localhost:9200",
        "ELASTICSEARCH_INDEX": "citta_italiane"
      }
    }
  }
}

You run a dedicated MCP server that exposes Italian cities data through a CRUD API backed by Elasticsearch. The MCP interface lets AI assistants create, read, update, delete, and search cities by name, while keeping the data stored in a fast search database and surfaced through a simple REST API.

How to use

You interact with the MCP server from an MCP client. The server in this setup runs locally in stdio mode and communicates with the CRUD API to perform city operations. Typical workflows include creating new cities, listing all cities, updating a city name, searching by name, and deleting cities as needed.

To enable your Claude Desktop or similar MCP client, configure an MCP server entry that points to the local MCP server executable. Use the provided command and path to start the MCP server from your development or production environment. The MCP server is designed to start after the CRUD API server is available, so ensure the CRUD API is running before starting the MCP service.

How to install

Prerequisites you need before installation: Node.js 20 or newer, Docker and Docker Compose, and npm or yarn.

Step 1. Install dependencies and prepare the environment.

npm install
cp .env.example .env
npm run build

Step 2. Run the server in development or production mode. In development, you can run the MCP server directly in stdio mode after building the project; for production, start the MCP server with the production command.

Additional notes and configuration

Environment variables you may set for the Elasticsearch-backed API and MCP server include the host, port, and index for the city data, plus the Node environment setting. You can customize these in your environment file as needed.

MCP server commands shown in the setup are meant to be used exactly as written to ensure the MCP client can locate and start the server. If you are running locally, use the stdio configuration described in the example snippets to start the MCP server alongside the CRUD API.

Project structure and runtime notes

Project components include an Elasticsearch database, a CRUD API built with Express.js, and an MCP server that exposes tools for city management. The MCP server communicates with the CRUD API to perform operations.

Database initialization happens automatically on first start, creating a dataset of Italian cities. You can also reinitialize the database manually if needed using the provided scripts.

Available tools

create_city

Create a new Italian city in the database using the MCP interface.

list_cities

List all Italian cities stored in the database.

get_city

Retrieve a city by its ID.

search_cities

Search cities by name with fuzzy matching support.

update_city

Update the name of an existing city by its ID.

delete_city

Remove a city from the database by its ID.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational