AlfMueller/swisspost-smart-address-mcp
If you are the rightful owner of swisspost-smart-address-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Swisspost Smart Address MCP Server is an advanced address validation tool that integrates with the Swisspost API to ensure high accuracy in address correction and validation.
đšđ Swisspost Smart Address MCP Server
Ein intelligenter Adress-Validator mit Swisspost API Integration, der als MCP (Model Context Protocol) Server fungiert. Der Agent erkennt und korrigiert automatisch hĂ€ufige Adressfehler und nutzt die Swisspost Autocomplete-APIs fĂŒr maximale Genauigkeit.
Keywords: swisspost
mcp
address-validation
claude-desktop
n8n
switzerland
postal-api
address-correction
automation
đ Features
đ§ Intelligente Adressanalyse
- PLZ/Ort-Vertauschung - Erkennt automatisch wenn PLZ und Ort vertauscht wurden
- Hausnummer-Erkennung - Trennt automatisch Hausnummern von StraĂennamen
- Stadtname-Korrektur - Korrigiert falsch geschriebene Ortsnamen (z.B. "Musterstadt" â "Musterstadt-Korrekt")
- Adress-Normalisierung - Standardisiert Adressformate fĂŒr bessere Validierung
đ Swisspost API Integration
- ZIP-Autocomplete - Findet korrekte Ortsnamen basierend auf Postleitzahl
- Street-Autocomplete - Korrigiert StraĂennamen und Schreibweisen
- House-Autocomplete - Validiert und korrigiert Hausnummern
- VollstĂ€ndige Adressvalidierung - ĂberprĂŒft komplette Adressen mit Personendaten
⥠Automatische Korrekturen
- Echtzeit-Korrektur - Korrigiert Fehler wÀhrend der Validierung
- Fallback-Mechanismen - Bekannte Korrekturen fĂŒr hĂ€ufige Fehler
- QualitÀtsbewertung - Score von 0-100 basierend auf Swisspost-QualitÀtsstufen
- Detaillierte RĂŒckmeldung - Zeigt alle durchgefĂŒhrten Korrekturen an
đ§ Integration & Automatisierung
- MCP Server - Nahtlose Integration in Claude Desktop und andere MCP-fÀhige Tools
- n8n Workflow - Produktiver Webhook fĂŒr Automatisierung
- HTTP Proxy - BrĂŒcke zwischen n8n und MCP Server
- REST API - Einfache Integration in bestehende Systeme
đ Sicherheit & Best Practices
- Umgebungsvariablen - Credentials nur in .env Datei, keine hardcodierten Werte
- OAuth2 Authentifizierung - Sichere API-Zugriffe mit Token-Management
- Fehlerbehandlung - Robuste Behandlung von API-Fehlern und Timeouts
- Logging - Detaillierte Protokollierung fĂŒr Debugging und Monitoring
đ Voraussetzungen
- Python 3.8+
- Swisspost API Credentials
- MCP Inspector (optional, fĂŒr Testing)
đ ïž Installation
1. Repository klonen/herunterladen
git clone <repository-url>
cd swissspost_mcp
2. Python Dependencies installieren
Option A: Mit requirements.txt (empfohlen)
pip install -r requirements.txt
Option B: Einzeln installieren
pip install httpx mcp python-dotenv
Hinweis: Falls Sie PlatformIO installiert haben, können Dependency-Konflikte auftreten. Diese beeintrÀchtigen die MCP-FunktionalitÀt nicht.
3. Swisspost API Credentials besorgen
- Registrieren Sie sich bei Swisspost Developer Portal
- Erstellen Sie eine neue App
- Notieren Sie sich
Client ID
undClient Secret
4. Umgebungsvariablen konfigurieren
Option A: .env Datei (empfohlen)
# .env Datei erstellen
# Linux/macOS:
cp config.env .env
# Windows:
copy config.env .env
# .env bearbeiten und echte Credentials eintragen
SWISSPOST_CLIENT_ID=ihre_echte_client_id
SWISSPOST_CLIENT_SECRET=ihr_echtes_secret
# VerfĂŒgbare Scopes siehe Abschnitt "API Scopes" unten
# WICHTIG: FĂŒr City Correction wird auch DCAPI_ADDRESS_AUTOCOMPLETE benötigt!
SWISSPOST_SCOPE=DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE DCAPI_ADDRESS_AUTOCOMPLETE
Hinweis: Die .env Datei wird automatisch geladen (python-dotenv). Keine manuellen Umgebungsvariablen nötig!
Option B: Direkt in PowerShell setzen
$env:SWISSPOST_CLIENT_ID="ihre_client_id"
$env:SWISSPOST_CLIENT_SECRET="ihr_secret"
$env:SWISSPOST_SCOPE="DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE"
Option C: config.env verwenden
# config.env Datei bearbeiten
notepad config.env
# Umgebungsvariablen laden (Windows PowerShell)
Get-Content config.env | ForEach-Object {
if($_ -match "^([^#][^=]+)=(.*)") {
[Environment]::SetEnvironmentVariable($matches[1], $matches[2], "Process")
}
}
5. MCP Inspector installieren (optional)
npm install -g @modelcontextprotocol/inspector
đ§Ș Testing
Automatische Tests ausfĂŒhren
python mcp-test-script.py
Das Test-Skript prĂŒft automatisch 5 Problem-Szenarien:
- â
PLZ und Ort vertauscht -
"8005"
im Stadtfeld,"ZĂŒrich"
im PLZ-Feld - â
Hausnummer am Anfang -
"94 Pfingstweidstrasse"
statt"Pfingstweidstrasse 94"
- â
AbkĂŒrzungen -
"Hauptstr."
statt"Hauptstrasse"
- â
Verklebte Hausnummer -
"Bahnhofstrasse43"
ohne Leerzeichen - â Korrekte Adresse - Sollte ohne Ănderungen durchgehen
MCP Inspector verwenden
# MCP Inspector starten
mcp-inspector
# Server starten (in separatem Terminal)
python smart-address-agent.py
Server direkt testen
# Server im MCP-Modus starten
python smart-address-agent.py
# In anderem Terminal: MCP Inspector verbinden
mcp-inspector
đ Verwendung
Als MCP Server
WICHTIG: Der MCP Server muss immer zuerst gestartet werden!
Schritt 1: MCP Server starten
# Im Projektverzeichnis
python .\smart-address-agent.py
Der Server lÀuft dann im Hintergrund und wartet auf Verbindungen.
Schritt 2: Client verbinden
Option A: Claude Desktop
- Konfigurationsdatei erstellen
claude_desktop_config.json
:
{
"mcpServers": {
"swisspost-address": {
"command": "python",
"args": ["/path/to/your/swissspost_mcp/smart-address-agent.py"],
"cwd": "/path/to/your/swissspost_mcp"
}
}
}
- Datei speichern in Claude Desktop Konfigurationsordner:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:
~/.config/claude/claude_desktop_config.json
- Windows:
- Pfad anpassen in der Konfiguration (args-Array) auf Ihren tatsÀchlichen Pfad
- .env Datei erstellen im Projektverzeichnis mit Ihren echten Credentials
- Claude Desktop starten - Verbindet sich automatisch und lÀdt .env
- Verwenden: "Validiere diese Adresse: Pfingstweidstrasse 94, 8005 ZĂŒrich"
Option B: MCP Inspector (fĂŒr Tests)
# Terminal 1: Server starten
python .\smart-address-agent.py
# Terminal 2: Inspector starten
mcp-inspector
Option C: n8n Workflow (produktiv)
-
MCP Server + HTTP Proxy starten:
# Windows: start-mcp-server-and-proxy.bat # Linux/macOS: chmod +x start-mcp-server-and-proxy.sh ./start-mcp-server-and-proxy.sh
-
n8n Workflow importieren:
- Workflow:
n8n-workflows/swisspost-workflow.json
- Webhook URL:
https://your-n8n-instance.com/webhook/swisspost-validate
- Workflow:
-
Features des n8n Workflows:
- â Automatische City-Correction (z.B. "Musterstadt" â "Musterstadt-Korrekt")
- â VollstĂ€ndige Adressvalidierung mit Personendaten
- â QualitĂ€tsbewertung (Score 0-100)
- â Detaillierte Korrekturen mit RĂŒckmeldung
- â REST API fĂŒr einfache Integration
- â Produktiver Webhook der dauerhaft lĂ€uft
đ MCP Kommunikation
WICHTIG: MCP nutzt KEINEN Port!
Kommunikationsart:
- STDIO (Standard Input/Output)
- JSON-RPC ĂŒber stdin/stdout
- Prozess-zu-Prozess Kommunikation
Warum kein Port?
- Sicherer - keine Netzwerk-Exposition
- Einfacher - keine Port-Konflikte
- Standard - MCP-Protokoll nutzt STDIO
Verbindungsarten:
- Claude Desktop: Startet Server als Subprozess
- n8n: Verbindet sich ĂŒber MCP-Connector
- MCP Inspector: Testet ĂŒber STDIO-Verbindung
â ïž WICHTIG: MCP Server muss auf dem Client laufen
Warum lokal?
- STDIO-Kommunikation erfordert lokale Prozesse
- Keine Netzwerk-Verbindung möglich
- Sicherheit - keine externe Server nötig
Deployment-Optionen:
Option 1: Lokal auf jedem Client
# Auf jedem Rechner installieren
git clone <repository>
cd swissspost_mcp
pip install -r requirements.txt
python smart-address-agent.py
Option 2: Docker Container (lokal)
# Dockerfile erstellen
FROM python:3.12
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "smart-address-agent.py"]
Option 3: Windows Service
# Als Windows Service installieren
sc create SwisspostMCP binPath="python C:\path\to\smart-address-agent.py"
FĂŒr n8n:
- n8n Server muss auf demselben Rechner laufen
- MCP Server muss lokal verfĂŒgbar sein
- Keine Remote-Verbindung möglich
Direkt als Python Modul
from smart_address_agent import SmartAddressAgent
agent = SmartAddressAgent()
result = await agent.validate_smart({
'street': 'Pfingstweidstrasse 94',
'city': 'ZĂŒrich',
'postcode': '8005'
})
print(result)
đ§ API Referenz
Tool: validate_address_smart
Eingabe:
street
(required): StraĂe mit oder ohne Hausnummercity
(required): Ortpostcode
(required): Postleitzahlfirstname
(optional): Vornamelastname
(optional): Nachnamecompany
(optional): Firma
Ausgabe:
{
"status": "success|failed",
"quality": "CERTIFIED|VERIFIED|USABLE|UNUSABLE",
"score": 0-100,
"corrections": [
{
"type": "swap_plz_city|city_corrected|street_corrected|house_number_corrected",
"message": "Beschreibung der Korrektur",
"old": "UrsprĂŒnglicher Wert",
"new": "Korrigierter Wert"
}
],
"corrected": {
"street_name": "Korrigierter StraĂenname",
"house_number": "Korrigierte Hausnummer",
"city": "Korrigierter Ort",
"postcode": "PLZ",
"street_full": "VollstĂ€ndige StraĂe"
}
}
đïž Architektur
âââââââââââââââââââ ââââââââââââââââââââ âââââââââââââââââââ
â Input â â Address Analyzerâ â Swisspost APIs â
â Adresse âââââ¶â - PLZ/Ort Swap âââââ¶â - ZIP Lookup â
â â â - Street Split â â - Street Lookupâ
âââââââââââââââââââ â - Normalization â â - House Lookup â
ââââââââââââââââââââ âââââââââââââââââââ
â â
⌠âŒ
ââââââââââââââââââââ âââââââââââââââââââ
â Corrections â â Final â
â - Auto-fix â â Validation â
â - Quality Score â â - Swisspost â
ââââââââââââââââââââ âââââââââââââââââââ
đ Projektstruktur
swissspost_mcp/
âââ smart-address-agent.py # Haupt-MCP-Server
âââ mcp-test-script.py # Automatische Tests
âââ config.env # Umgebungsvariablen Template
âââ .env # Ihre echten Credentials (wird automatisch geladen)
âââ start-mcp-server.bat # Start-Skript MCP Server (Windows)
âââ start-mcp-server.sh # Start-Skript MCP Server (Linux/macOS)
âââ start-mcp-server-and-proxy.bat # Start-Skript MCP + Proxy (Windows)
âââ start-mcp-server-and-proxy.sh # Start-Skript MCP + Proxy (Linux/macOS)
âââ n8n-workflows/ # n8n Workflow fĂŒr Adressvalidierung
â âââ swisspost-workflow.json # n8n Workflow
â âââ http-proxy.py # HTTP-Proxy fĂŒr MCP
â âââ test-swisspost-workflow.js # Test Script
â âââ package.json
â âââ README.md
âââ README.md # Diese Dokumentation
âââ requirements.txt # Python Dependencies (optional)
đ§ VerfĂŒgbare Tools
validate_address_smart
Das einzige verfĂŒgbare Tool fĂŒr die intelligente Adressvalidierung.
Eingabeparameter:
street
(required): StraĂe mit oder ohne Hausnummercity
(required): Ortpostcode
(required): Postleitzahlfirstname
(optional): Vornamelastname
(optional): Nachnamecompany
(optional): Firma
Ausgabeformat:
status
: "success" oder "failed"quality
: Swisspost QualitÀtsbewertungscore
: Numerischer Score (0-100)corrections
: Array aller vorgenommenen Korrekturencorrected
: Finale, validierte Adressevalidation
: VollstÀndige Swisspost API Antwort
đ Troubleshooting
HĂ€ufige Probleme
1. "Credentials mĂŒssen gesetzt sein"
# PrĂŒfen Sie Ihre Umgebungsvariablen
echo $env:SWISSPOST_CLIENT_ID
echo $env:SWISSPOST_CLIENT_SECRET
2. "Kann server.py nicht importieren"
# Stellen Sie sicher, dass Sie im richtigen Verzeichnis sind
cd /path/to/your/swissspost_mcp
3. "OAuth Fehler"
- ĂberprĂŒfen Sie Ihre API Credentials
- Stellen Sie sicher, dass Ihr API-Account aktiv ist
- PrĂŒfen Sie die Scope-Berechtigung
4. "Timeout Fehler"
- ĂberprĂŒfen Sie Ihre Internetverbindung
- Swisspost API könnte temporĂ€r nicht verfĂŒgbar sein
5. "Import mcp.server could not be resolved"
# MCP Paket installieren
pip install mcp
6. "Kann server.py nicht importieren" (Test-Skript)
# Stellen Sie sicher, dass smart-address-agent.py im gleichen Verzeichnis ist
# Das Test-Skript sucht nach 'server.py', aber die Datei heiĂt 'smart-address-agent.py'
7. ".env Datei wird nicht geladen"
# Stellen Sie sicher, dass python-dotenv installiert ist
pip install python-dotenv
# .env Datei im gleichen Verzeichnis wie smart-address-agent.py
# Format: SWISSPOST_CLIENT_ID=ihre_client_id
Debug-Modus
# In smart-address-agent.py Debug-Ausgaben aktivieren
import logging
logging.basicConfig(level=logging.DEBUG)
đ Lizenz
MIT License - siehe LICENSE Datei fĂŒr Details.
đ€ Contributing
- Fork das Repository
- Erstellen Sie einen Feature Branch
- Committen Sie Ihre Ănderungen
- Pushen Sie zum Branch
- Erstellen Sie einen Pull Request
đ API Dokumentation
n8n Webhook API
Endpoint: https://your-n8n-instance.com/webhook/swisspost-validate
Method: POST
Content-Type: application/json
Request Format:
{
"company": "Firmenname GmbH",
"firstname": "Max",
"lastname": "Mustermann",
"street": "Bahnhofstrasse 1",
"city": "ZĂŒrich",
"postcode": "8001"
}
Response Format:
{
"success": true,
"data": {
"status": "success",
"quality": "CERTIFIED",
"score": 100,
"corrections": [
{
"type": "city_corrected",
"message": "Ortsname korrigiert via Fallback-Lookup",
"old": "Musterstadt",
"new": "Musterstadt-Korrekt"
}
],
"input": {
"street": "Musterstrasse 123",
"city": "Musterstadt",
"postcode": "8001"
},
"corrected": {
"street_name": "Musterstrasse",
"house_number": "123",
"city": "Musterstadt-Korrekt",
"postcode": "8001",
"street_full": "Musterstrasse 123"
},
"validation": {
"quality": "DOMICILE_CERTIFIED",
"expires": "20251003T002909+0200",
"address": {
"type": "DOMICILE",
"addressee": {
"firstName": "Max",
"lastName": "Mustermann",
"companyName": "Beispiel GmbH"
},
"geographicLocation": {
"house": {
"street": "Musterstrasse",
"houseNumber": "123",
"houseKey": "12345678"
},
"zip": {
"zip": "8001",
"city": "Musterstadt-Korrekt"
}
},
"id": "dba6e3d2-904d-4676-978b-0f86558db187"
}
},
"has_corrections": true
},
"timestamp": 1759440549.6417124
}
QualitÀtsstufen:
CERTIFIED
/DOMICILE_CERTIFIED
- Höchste QualitÀt (Score: 100)USABLE
- Gute QualitÀt (Score: 80-99)UNUSABLE
- Niedrige QualitÀt (Score: 0-79)
Korrektur-Typen:
city_corrected
- Ortsname korrigiertstreet_corrected
- StraĂenname korrigierthouse_number_corrected
- Hausnummer korrigiertswap_plz_city
- PLZ und Ort waren vertauscht
cURL Beispiel:
curl -X POST https://your-n8n-instance.com/webhook/swisspost-validate \
-H "Content-Type: application/json" \
-d '{
"company": "Beispiel GmbH",
"firstname": "Max",
"lastname": "Mustermann",
"street": "Musterstrasse 123",
"city": "Musterstadt",
"postcode": "8001"
}'
đ Support
Bei Problemen oder Fragen:
- Erstellen Sie ein Issue im Repository
- ĂberprĂŒfen Sie die Swisspost API Dokumentation
- Schauen Sie in die Troubleshooting Sektion
đ Quick Start
Option A: Mit Start-Skripten (empfohlen)
Nur MCP Server (fĂŒr Claude Desktop):
# Windows:
start-mcp-server.bat
# Linux/macOS:
chmod +x start-mcp-server.sh
./start-mcp-server.sh
MCP Server + HTTP Proxy (fĂŒr n8n):
# Windows:
start-mcp-server-and-proxy.bat
# Linux/macOS:
chmod +x start-mcp-server-and-proxy.sh
./start-mcp-server-and-proxy.sh
Option B: Manuell
# 1. Dependencies installieren
pip install -r requirements.txt
# 2. .env Datei erstellen und Credentials eintragen
# Linux/macOS:
cp config.env .env
# Windows:
copy config.env .env
# .env bearbeiten mit echten Credentials
â ïž **SICHERHEIT**: Die `.env` Datei ist in `.gitignore` und wird nicht committet!
# 3. Testen
python mcp-test-script.py
# 4. MCP Server starten (WICHTIG: Immer zuerst!)
python smart-address-agent.py
# 5. Client verbinden (Claude Desktop, n8n, oder MCP Inspector)
đ Workflow fĂŒr verschiedene Clients
n8n Workflow
FĂŒr n8n Integration siehe den separaten n8n-workflows/
Ordner:
cd n8n-workflows
npm test # Teste den n8n Workflow
VerfĂŒgbarer n8n Workflow:
- Swisspost Workflow: Intelligente Adressvalidierung mit Monitoring
- HTTP Proxy: HTTP-Proxy fĂŒr MCP-Integration
- Test Script: Automatische Tests fĂŒr alle Szenarien
Siehe n8n-workflows/README.md
fĂŒr detaillierte Anleitung.
Claude Desktop
- Konfiguration erstellen:
claude_desktop_config.json
- Pfad anpassen und Credentials eintragen
- Claude Desktop starten (startet Server automatisch)
- Verwenden: "Validiere diese Adresse: ..."
Detaillierte Claude Desktop Anleitung:
Schritt 1: Konfigurationsdatei erstellen
# Beispiel-Konfiguration kopieren
cp claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
Schritt 2: Konfiguration anpassen
{
"mcpServers": {
"swisspost-address": {
"command": "python",
"args": ["/path/to/your/swissspost_mcp/smart-address-agent.py"],
"cwd": "/path/to/your/swissspost_mcp"
}
}
}
Wichtige Ănderungen:
- â Keine hardcodierten Credentials mehr in der Konfiguration
- â
cwd
Parameter hinzugefĂŒgt fĂŒr korrekte .env Ladung - â Sicherheit verbessert - Credentials nur in .env Datei
Pfad anpassen:
- Windows:
C:\\swissspost_mcp\\smart-address-agent.py
- macOS:
/Users/username/swissspost_mcp/smart-address-agent.py
- Linux:
/home/username/swissspost_mcp/smart-address-agent.py
Schritt 3: .env Datei erstellen
# Im Projektverzeichnis .env Datei erstellen
# Linux/macOS:
cp config.env .env
# Windows:
copy config.env .env
# Dann .env bearbeiten und echte Credentials eintragen:
SWISSPOST_CLIENT_ID=ihre_echte_client_id
SWISSPOST_CLIENT_SECRET=ihr_echtes_secret
SWISSPOST_SCOPE=DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE
Schritt 4: Claude Desktop starten
- Claude Desktop startet automatisch den MCP Server
- MCP lÀdt automatisch die .env Datei
- Kein manueller Server-Start nötig
n8n
- Server starten:
python smart-address-agent.py
- n8n MCP-Connector konfigurieren
- Workflow mit Adressvalidierung erstellen
MCP Inspector (Tests)
- Terminal 1:
python smart-address-agent.py
- Terminal 2:
mcp-inspector
- Verbindung herstellen und testen
đ QualitĂ€tsbewertungen
Quality | Score | Beschreibung |
---|---|---|
DOMICILE_CERTIFIED | 100 | VollstÀndig zertifiziert |
CERTIFIED | 100 | Zertifiziert |
VERIFIED | 90 | Verifiziert |
USABLE | 50 | Verwendbar |
COMPROMISED | 60 | Kompromittiert |
UNUSABLE | 0 | Nicht verwendbar |
đ Korrekturtypen
comma_removed_from_street
: Komma aus StraĂenname entfernthouse_number_moved_to_end
: Hausnummer vom Anfang der StraĂe ans Ende verschobenstreet_name_capitalized
: StraĂenname mit GroĂbuchstaben am Anfang korrigiertstreet_from_api_enforced
: Strasse aus SwissPost API ĂŒbernommenhouse_number_from_api_enforced
: Hausnummer aus SwissPost API ĂŒbernommenhouse_number_from_street2
: Hausnummer aus street2 ĂŒbernommenstreet2_capitalized
: street2 in GroĂbuchstaben korrigiertgarbage_cleaned
: MĂŒll-Strings (nur Bindestriche/Zahlen) entferntswap_plz_city
: PLZ und Ort waren vertauschtcity_corrected
: Ortsname via ZIP-Lookup korrigiertstreet_abbreviation_expanded
: Strassen-AbkĂŒrzung wurde erweitertstreet_corrected
: StraĂenname via Street-Lookup korrigierthouse_number_corrected
: Hausnummer via House-Lookup korrigiertstreet_corrected_after_usable
: StraĂenname nach USABLE-Resultat via Street-Lookup verbessertcity_corrected_after_usable
: Ort nach USABLE-Resultat via ZIP-Lookup verbessertfirstname_formatted
: Vorname in konsistente Schreibweise formatiertlastname_formatted
: Nachname in konsistente Schreibweise formatiertcompany_legal_form_normalized
: Rechtsform in Firmenname normalisiert
Beispiel fĂŒr company_legal_form_normalized
{
"corrections": [
{
"type": "company_legal_form_normalized",
"message": "Rechtsform in Firmenname normalisiert",
"old": "testfirma gmbh",
"new": "testfirma GmbH"
}
]
}
đ Sicherheit & Best Practices
Sichere Konfiguration (NEU!)
â Empfohlene Konfiguration:
{
"mcpServers": {
"swisspost-address": {
"command": "python",
"args": ["/path/to/your/swissspost_mcp/smart-address-agent.py"],
"cwd": "/path/to/your/swissspost_mcp"
}
}
}
â Vermeiden Sie:
{
"mcpServers": {
"swisspost-address": {
"command": "python",
"args": ["/path/to/your/swissspost_mcp/smart-address-agent.py"],
"env": {
"SWISSPOST_CLIENT_ID": "hardcoded_credentials", // â Sicherheitsrisiko!
"SWISSPOST_CLIENT_SECRET": "hardcoded_secret" // â Sicherheitsrisiko!
}
}
}
}
Warum .env verwenden?
- Sicherheit - Credentials werden nicht in Git committet
- FlexibilitÀt - Einfacher Wechsel zwischen Umgebungen
- Wartbarkeit - Keine doppelten Credential-Definitionen
- Best Practice - Standard fĂŒr sensible Konfigurationsdaten
.env Datei Setup
# .env Datei im Projektverzeichnis erstellen
SWISSPOST_CLIENT_ID=ihre_echte_client_id
SWISSPOST_CLIENT_SECRET=ihr_echtes_secret
SWISSPOST_SCOPE=DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE
Wichtig: Die .env
Datei ist in .gitignore
und wird NICHT hochgeladen!
đ API Scopes
Die Swisspost Digital Commerce API bietet verschiedene Berechtigungsbereiche (Scopes):
Adress-Services
DCAPI_ADDRESS_READ
- Lesen von AdressdatenDCAPI_ADDRESS_VALIDATE
- Validierung von Adressen (Standard fĂŒr dieses Projekt)DCAPI_ADDRESS_AUTOCOMPLETE
- Autocomplete fĂŒr StĂ€dte, StraĂen und Hausnummern (FĂŒr City Correction erforderlich)
Versand-Services
DCAPI_SHIPPING
- Zugriff auf VersanddiensteDCAPI_TRACKING
- Sendungsverfolgung
Barcode-Services
DCAPI_BARCODE
- Barcode-Generierung fĂŒr Sendungen
Scope-Konfiguration
FĂŒr Adressvalidierung (empfohlen):
SWISSPOST_SCOPE=DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE
FĂŒr erweiterte Adressfunktionen:
SWISSPOST_SCOPE=DCAPI_ADDRESS_READ DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE
FĂŒr Versanddienste:
SWISSPOST_SCOPE=DCAPI_SHIPPING DCAPI_TRACKING
Hinweis: Die genauen verfĂŒgbaren Scopes können je nach API-Version und Ihrem Account variieren. Konsultieren Sie die Swisspost API Dokumentation fĂŒr die aktuellsten Informationen.
Entwickelt mit â€ïž fĂŒr die Schweizer Adressvalidierung