{"id":"63236d36-d987-427e-b121-e8dd1b5e2437","slug":"noisemodelling-mcp","kind":"mcp","name":"Noisemodelling-mcp","summary":"","owner":"YuGaobjtu","repoUrl":"https://github.com/YuGaobjtu/Noisemodelling-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-05-26T13:40:14.000Z","addedAt":"2026-10-21T21:14:56.774Z","logoUrl":"https://avatars.githubusercontent.com/u/114855518?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["utilities"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T08:05:13.182Z","sample":false,"url":"https://conduits.dev/tools/noisemodelling-mcp","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# NoiseModelling MCP Server\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that exposes [NoiseModelling](https://noise-planet.org/noisemodelling.html) as AI-callable tools. Lets AI agents (Claude, etc.) run full urban noise mapping pipelines from raw OSM data to GeoJSON noise contour maps.\n\n## What it does\n\nWraps the NoiseModelling WPS API into ~25 structured MCP tools covering:\n\n- **Setup** - download, install, and start NoiseModelling automatically\n- **Static noise maps** - OSM import -> receiver grid -> CNOSSOS-EU propagation -> isosurface -> GeoJSON export\n- **Dynamic noise maps** - per-timestep vehicle trajectories -> LA10/LA50/LA90 indicators -> QGIS temporal animation\n- **Database management** - list, drop, and clean tables\n\n## Prerequisites\n\n| Requirement | Version |\n|---|---|\n| Python | >= 3.13 |\n| [NoiseModelling](https://github.com/Universite-Gustave-Eiffel/NoiseModelling/releases) | 5.x or 6.x |\n| Java | >= 11 (bundled with NoiseModelling 5.x) |\n\nNoiseModelling must be running before any analysis tool is called. Use the setup tools (below) to install and start it, or start it manually.\n\n## Installation\n\n```bash\n# Clone\ngit clone https://github.com/YuGaobjtu/Noisemodelling-mcp\ncd Noisemodelling-mcp\n\n# Install dependencies (uv recommended)\nuv sync\n# or: pip install -e .\n```\n\n## Quick start\n\n### 1 - Start the MCP server\n\n```bash\nuv run main.py\n# Server listens on http://127.0.0.1:8000 (streamable-http transport)\n```\n\n### 2 - Configure your MCP client\n\n**Claude Desktop** (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"noisemodelling\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"/path/to/Noisemodelling-mcp/main.py\"]\n    }\n  }\n}\n```\n\n**Claude Code** (`.claude/settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"noisemodelling\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"/path/to/Noisemodelling-mcp/main.py\"]\n    }\n  }\n}\n```\n\n### 3 - Install & start NoiseModelling (first time)\n\nAsk your AI agent:\n\n> \"Get the latest NoiseModelling release, download it, install it, and start the server.\"\n\nOr call tools directly in order:\n1. `get_noisemodelling_release_info` - get download URL\n2. `download_noisemodelling` - save ZIP\n3. `install_noisemodelling` - extract\n4. `start_noisemodelling_server` - launch\n5. `check_server_status` - verify\n\n### 4 - Run a noise map\n\n```\nRun a full noise map pipeline for my_city.osm or demo data like:(NoiseModelling\\NoiseModelling_5.0.1\\data_dir\\data\\wpsdata\\map.osm.pbf), SRID 2154,\noutput to /tmp/noise_output/noise_map.geojson\n```\n\nThe agent calls `run_full_noise_map_pipeline` - one tool that runs all 6 steps.\n\n## Environment variables\n\n| Variable | Default | Description |\n|---|---|---|\n| `NOISEMODELLING_URL` | `http://127.0.0.1:9580` | Override NoiseModelling server URL |\n\nCopy `.env.example` to `.env` and edit as needed.\n\n## Tools reference\n\n### Setup tools\n\n| Tool | Description |\n|---|---|\n| `get_noisemodelling_release_info` | Fetch latest release info + download URLs from GitHub |\n| `download_noisemodelling` | Download ZIP to disk |\n| `install_noisemodelling` | Extract ZIP to install directory |\n| `start_noisemodelling_server` | Launch server process in background |\n| `check_server_status` | Verify server is reachable, list WPS processes |\n\n### Static noise mapping\n\n| Tool | Output tables |\n|---|---|\n| `import_osm` | BUILDINGS, GROUND, ROADS |\n| `generate_receiver_grid` | RECEIVERS, TRIANGLES |\n| `compute_road_emission` | LW_ROADS |\n| `compute_noise_propagation` | RECEIVERS_LEVEL |\n| `create_isosurface` | CONTOURING_NOISE_MAP |\n| `export_table` | file on disk |\n| `run_full_noise_map_pipeline` | all of the above in one call |\n\n### Dynamic noise mapping - Case 1 (single traffic flow)\n\n| Tool | Output tables |\n|---|---|\n| `generate_regular_receiver_grid` | RECEIVERS, TRIANGLES |\n| `flow_to_noisy_vehicles` | SOURCES_GEOM, SOURCES_EMISSION |\n| `compute_dynamic_noise_propagation` | RECEIVERS_LEVEL |\n| `compute_dynamic_indicators` | RECEIVERS_LEVEL_DYN_IND (LA10/50/90) |\n| `run_dynamic_noise_pipeline_case1` | all Case 1 steps in one call |\n\n### Dynamic noise mapping - Case 2 (traffic at regular intervals)\n\n| Tool | Output tables |\n|---|---|\n| `import_file` | any table from GeoJSON/SHP/CSV |\n| `split_sources_period` | SOURCES_GEOM, SOURCES_EMISSION |\n| `run_dynamic_noise_pipeline_case2` | all Case 2 steps in one call |\n\n### Database management\n\n| Tool | Description |\n|---|---|\n| `list_database_tables` | List all tables (optionally with columns) |\n| `export_all_tables` | Export every table to a directory |\n| `drop_table` | Remove one table |\n| `clean_database` | Remove all tables |\n\n## Platform support\n\nTested on Windows. Linux/macOS paths use `~/NoiseModelling` as default root. NoiseModelling itself runs on all platforms with Java 11+.\n\n## License\n\nMIT - see [LICENSE](LICENSE).\n\n## Acknowledgements\n\nBuilt on [NoiseModelling](https://noise-planet.org/noisemodelling.html) by Universite Gustave Eiffel / UMRAE.\nImplements [CNOSSOS-EU](https://ec.europa.eu/jrc/en/publication/reference-reports/common-noise-assessment-methods-europe-cnossos-eu) road noise model per EU END Directive 2002/49/EC.\n"}