AWO MCP Demo
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWO MCP Demohow many AWO facilities are in Berlin?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AWO MCP Demo
Overview
This project demonstrates how the Model Context Protocol (MCP) can be used to expose processed AWO data to AI assistants such as Claude Desktop.
The prototype does not replace the existing AWO data pipeline. Instead, it provides a standardized interface between AI assistants and processed organizational data.
The current implementation uses a small CSV dataset as a demonstration. In a production environment, the same MCP server can be connected to the processed AWO database or data lake.
Related MCP server: mcp-arcgis-tucson
Architecture
User
│
Claude Desktop
│
MCP Server
│
Processed Dataset (CSV)Production Architecture
User
│
AI Assistant
│
MCP Server
│
Processed AWO Data
│
Existing AWO Pipeline
(Scraping → Cleaning → Normalization → Deduplication)Features
MCP server implemented with FastMCP
Implemented Tools
Three core tools were implemented to demonstrate the server's querying capabilities:
count_facilities(city): Returns the total number of facilities in a specified city.search_facilities(city): Returns a detailed list of facilities located in a given city.find_facilities_by_service(service): Returns a list of facilities that offer a specific service.Claude Desktop integration
Interactive Python client for testing
Step 1: Installation
Clone the repository.
git clone <repository-url>
cd awo-mcp-demoCreate and activate a Conda environment.
conda create -n awo-mcp python=3.11
conda activate awo-mcpInstall the required packages.
pip install -r requirements.txtStep 2: Running the MCP Server
Open a terminal in the project directory and activate the Conda environment.
conda activate awo-mcp
python server.pyThe server will start and wait for incoming MCP requests. This is expected behavior. Leave this terminal open while testing.
Step 3a:Running the Demo Client
Open a second terminal in the same project directory.
Activate the Conda environment again.
conda activate awo-mcp
python client.pyThe interactive menu will appear:
==============================
AWO MCP Demo
==============================
1. Count facilities
2. Search by city
3. Search by service
0. ExitChoose an option and enter the requested information. The client will communicate with the MCP server and display the returned results. for instance:
Option 1 – Count Facilities
Select 1 and enter a city name (e.g., Berlin).
The client calls the MCP tool:
count_facilities(city="Berlin")The server searches the dataset and returns the number of matching facilities.
Example:
City: Berlin
Result
------
2Step 3b: Claude Desktop Integration
Instead of using the demo client, you can connect the MCP server directly to Claude Desktop.
Step 1 – Install Claude Desktop
Download Claude Desktop:
Hint: For using a MCP server in your Claude Desktop instance, no Claude subscription is required.
Step 2 – Configure the MCP Server
Go to Settings → Developer → Local MCP Servers → Edit Config and this way open the Claude Desktop configuration file. Then add the following MCP server configuration:
{
"mcpServers": {
"awo": {
"command": "C:\\Users\\<USERNAME>\\miniconda3\\envs\\awo-mcp\\python.exe",
"args": [
"D:\\path\\to\\awo-mcp-demo\\server.py"
]
}
}
}Replace:
command– the executable to launch: The code snippet shows the example when pointing to a Conda Python executable on a Windows system. Here another example using pyenv virtualenvon a Mac system:"/Users/<USERNAME>/.pyenv/versions/awo-mcp-demo/bin/python".args- arguments passed to it: The code snippet shows the example when pointing to theserver.pyfile path on a Windows system. Here another example pointing to the full path on a Mac system:"/Users/<USERNAME>/Documents/code/GitHub/awo-mcp-demo/server.py"
Step 3 – Restart Claude Desktop
Save the configuration file and restart Claude Desktop.
The MCP server should now appear under Settings → Developer → Local MCP Servers.
Once connected, Claude can automatically use the available MCP server as a tool.
Example Questions
How many AWO facilities are in Berlin?
Show me all AWO facilities in Berlin.
Find facilities that provide elderly care.
Find childcare facilities.
Demo with Claude Desktop
Here a video of the demo with Claude Desktop:

Future Improvements
Connect to the real processed AWO dataset
Add additional MCP tools
Connect to a production database
Add authentication and authorization
Improve logging and monitoring
Containerize the application with Docker
License
MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
Query the HokAI catalogue of AI tools, agents, models, companies and infrastructure services.
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Ask questions in plain language, get answers from your business database. No SQL required.
Source-anchored search and civic intelligence for Dutch municipal council records.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides access to Sweden's comprehensive municipal and regional statistics database with semantic search capabilities. Enables natural language queries against thousands of Key Performance Indicators covering various aspects of Swedish public sector data.16Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables users to search and query City of Tucson GIS open geospatial datasets (zoning, parcels, public safety, transport, city services) through natural language.6 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables searching and querying City of Albuquerque open geospatial datasets (parcels, zoning, public works) via ArcGIS Feature Services, allowing natural language access to GIS data.9 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables querying and exploring the City of Worcester's open data portal (ArcGIS Hub) through natural language, including dataset search, type filtering, schema inspection, spatial point-in-polygon queries, and geocoding.MIT