Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Wetter und Pegel je Gemeinde in Österreich. Privates Projekt, kein offizielles Behördenangebot.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
Amtsblick__Kontaktต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://amtsblick.aicodelabs.dev/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"amtsblick": {
"command": "dnx",
"args": [
"Amtsblick",
"--yes"
],
"env": {
"Amtsblick__Kontakt": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http amtsblick https://amtsblick.aicodelabs.dev/mcpclaude mcp add amtsblick --env Amtsblick__Kontakt='ใส่ค่าของคุณ' -- dnx Amtsblick --yesเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"amtsblick": {
"url": "https://amtsblick.aicodelabs.dev/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"amtsblick": {
"command": "dnx",
"args": [
"Amtsblick",
"--yes"
],
"env": {
"Amtsblick__Kontakt": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"amtsblick": {
"type": "http",
"url": "https://amtsblick.aicodelabs.dev/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"amtsblick": {
"type": "stdio",
"command": "dnx",
"args": [
"Amtsblick",
"--yes"
],
"env": {
"Amtsblick__Kontakt": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://amtsblick.aicodelabs.dev/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
Amtsblick__Kontakt envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub haraldrohan ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.3-beta) เข้า registry 34 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Amtsblick ist ein MCP-Server, der amtliche österreichische Daten über den Ort verknüpft. Ein KI-Assistent fragt nach einer Gemeinde und bekommt Wetter und Pegelstände dazu – jeweils mit Quellenvermerk, Stand und Einheiten.
Amtsblick ist ein privates Open-Source-Projekt und kein offizielles Angebot einer Behörde.
Phase 1 umfasst den gemeinsamen Kern (Ortsverzeichnis, Quellenvermerk, Cache, Kontingent), das Modul Wetter (GeoSphere Austria) und das Modul Wasser (eHYD-Pegel). Weitere Module folgen nach demselben Muster.
Haftungshinweis. Amtsblick ist kein amtlicher Dienst und kein Warndienst. Die Antworten geben
Daten Dritter wieder, können verspätet, unvollständig oder falsch sein und ersetzen weder amtliche
Unwetter- noch Hochwasserwarnungen. Maßgeblich sind die Warndienste von GeoSphere Austria und der
Länder. Die Software wird ohne Gewähr bereitgestellt (siehe LICENSE); wer sie betreibt,
ist für die Einhaltung der Nutzungsbedingungen der Quellen selbst verantwortlich.
Amtsblick ist ein privates Projekt. Statistik Austria, GeoSphere Austria, das BMLUK und die
Hydrographischen Dienste der Länder sind daran nicht beteiligt und billigen weder das Projekt noch
die Aufbereitung ihrer Daten.
| Tool | Zweck |
|---|---|
ort_finden(text) | Gemeinde nach Name, GKZ oder Koordinate suchen |
quellen() | Quellen, Lizenzen, Vermerke, Zeitpunkt des letzten Abrufs und verbleibendes Anfragekontingent |
wetter_prognose(ort, stunden = 48) | Prognose in 6-Stunden-Blöcken plus Tageswerte |
niederschlag_jetzt(ort) | Niederschlag der nächsten 3 Stunden in 15-Minuten-Schritten |
lage_am_ort(ort) | Wetter, Nowcast und nächstgelegene Pegel in einem Aufruf |
pegel_in_der_naehe(ort, radius_km = 15) | Pegelmessstellen im Umkreis, nach Entfernung sortiert, höchstens 20 |
pegel_an_gewaesser(gewaesser) | alle Messstellen eines Gewässers |
hochwasserlage(bundesland?) | Messstellen ab erhöhter Wasserführung, nach Stufe gruppiert |
ort ist ein Gemeindename (auch mit Tippfehler, „St." und „Sankt" sind gleichwertig), optional mit Zusatz "Name, Bundesland", eine fünfstellige GKZ oder eine Koordinate "Breite, Länge". Ist ein Name mehrdeutig, kommt statt Daten die Liste der Kandidaten zurück.
Jede Antwort ist ein kompaktes JSON-Objekt. Es beginnt mit einer Zeile zusammenfassung und endet mit quellen und hinweise. Jeder Eintrag in quellen enthält Quelle, Lizenz mit Link zum Lizenztext, den vorgeschriebenen Vermerk, Link, Datensatz, gegebenenfalls DOI, Stand und eine Angabe, wie Amtsblick die Daten aufbereitet hat.
Es gibt vier Wege. Der gehostete Server läuft unter `https://amtsblick.aicodelabs.dev`; das Paket steht auf NuGet.org und in der MCP Registry als io.github.haraldrohan/amtsblick.
| Weg | Für wen | Voraussetzung | Stand |
|---|---|---|---|
| Connector per URL | claude.ai, Claude Desktop, Claude mobil | keine | verfügbar |
MCP Bundle (.mcpb) | Claude Desktop, lokal | keine, auch kein .NET | verfügbar (Vorabversion) |
NuGet-Paket über dnx | Claude Code, VS Code, Visual Studio | .NET 10 SDK | verfügbar (Vorabversion) |
| Aus dem Quelltext | Entwicklung | .NET 10 SDK | verfügbar |
Der User-Agent lautet Amtsblick/ (+ ; ). Die Kontaktadresse gehört dem Betreiber der jeweiligen Instanz und steht deshalb nicht im Repository. Wer Amtsblick lokal betreibt, setzt sie über die Umgebungsvariable Amtsblick__Kontakt. Ohne Kontaktadresse ruft das Modul Wasser nichts ab; Wetter und Ortssuche funktionieren auch ohne. Beim gehosteten Server ist sie vom Betreiber gesetzt.
Einstellungen → Connectors → eigenen Connector hinzufügen, als URL https://amtsblick.aicodelabs.dev/mcp. Eine Anmeldung ist nicht nötig.
Die Datei amtsblick- - .mcpb aus dem GitHub-Release laden und doppelklicken. Claude Desktop fragt bei der Installation nach der Kontaktadresse. Ein installiertes .NET ist nicht nötig. Plattformen: win-x64, osx-arm64 (Apple Silicon), osx-x64 (Intel-Mac), linux-x64; je rund 45 MB.
Beim ersten Start lädt Amtsblick einmalig die Gemeindegrenzen der Statistik Austria (rund 90 MB Download, 60 MB auf der Platte, ein bis zwei Minuten). Bis dahin antworten die Tools mit dem Hinweis, dass die Gemeindedaten geladen werden. Sie liegen danach unter %LOCALAPPDATA%\Amtsblick bzw. ~/.local/share/Amtsblick.
# gehosteter Server
claude mcp add --transport http amtsblick https://amtsblick.aicodelabs.dev/mcp
claude mcp add amtsblick --env Amtsblick__Kontakt=ihre.adresse@example.org -- dnx Amtsblick@0.1.3-beta --yes
In .vscode/mcp.json bzw. .mcp.json:
{
"servers": { "amtsblick": { "type": "stdio", "command": "dnx", "args": ["Amtsblick@0.1.3-beta", "--yes"], "env": { "Amtsblick__Kontakt": "ihre.adresse@example.org" } } } }
Für den gehosteten Server stattdessen { "type": "http", "url": "https://amtsblick.aicodelabs.dev/mcp" }. Die aktuelle Paketversion steht auf NuGet.org.
Voraussetzung: .NET 10 SDK.
dotnet build -c Release
dotnet test
Der Server startet ohne Argument über stdio. Für Claude Code im Wurzelordner eine Datei .mcp.json anlegen (sie ist von Git ausgenommen, weil sie die Kontaktadresse enthält):
{
"mcpServers": { "amtsblick": { "type": "stdio", "command": "dotnet", "args": ["C:\Pfad\zu\Amtsblick\src\Amtsblick.Server\bin\Release\net10.0\Amtsblick.Server.dll"], "env": { "Amtsblick__Kontakt": "ihre.adresse@example.org" } } } }
Für Claude Desktop gehört derselbe Eintrag in die claude_desktop_config.json. Solange ein Client den Server geladen hat, ist die DLL gesperrt; vor einem neuen Build den Client schließen oder den Server aus einer Kopie starten (dotnet publish -o ).
Die Gemeinden lädt der Server beim ersten Start selbst. Von Hand geht es mit scripts/import-gemeinden.sh (Windows: scripts\import-gemeinden.ps1); im Repository landen sie unter data/.
# direkt
Amtsblick__Kontakt=betrieb@example.org dotnet run --project src/Amtsblick.Server -c Release -- --http
docker build -t amtsblick . docker run --rm -p 8080:8080 -e Amtsblick__Kontakt=betrieb@example.org amtsblick
Der MCP-Endpunkt ist /mcp (Streamable HTTP, zustandslos), der Zustand steht unter /health. Unter / liefert der Server eine kurze Startseite, unter /datenschutz die Datenschutzerklärung. Direkt gestartet lauscht der Server auf http://localhost:5210, im Container auf Port 8080.
Http:AnfragenProMinute, Standard 60); darüber antwortet er mit 429.Http:ErlaubteUrspruenge (Standard https://claude.ai, https://claude.com) und von localhost angenommen, sonst 403. Anfragen ohne Origin-Header (Server zu Server) sind erlaubt.AllowedHosts soll den öffentlichen Hostnamen nennen, nicht * (Schutz vor DNS-Rebinding). Hinter einem Proxy Http:HinterProxy einschalten, damit das Rate-Limit die Client-IP aus X-Forwarded-For nimmt.Module:Wasser:Vorladen eingeschaltet; der Bestand wird stündlich geholt, das Abrufmuster bleibt bei einem Abruf pro Stunde.Http:Betreiber mit den eigenen Angaben setzen und DATENSCHUTZ.md vor dem Bauen durch die eigene Erklärung ersetzen; die Datei im Repository gilt für die Instanz des Projektinhabers.Abschnitt Amtsblick in src/Amtsblick.Server/appsettings.json; jede Einstellung lässt sich auch als Umgebungsvariable setzen (: wird zu __).
| Einstellung | Standard | Bedeutung |
|---|---|---|
Kontakt | leer | Kontaktadresse für den User-Agent; Pflicht für das Modul Wasser |
RepoUrl | https://github.com/haraldrohan/Amtsblick | Projekt-URL im User-Agent |
DatenVerzeichnis | leer | Ort der Gemeindedaten und des letzten Pegelstands; leer = data/ im Repository, sonst Amtsblick im lokalen Anwendungsdatenordner des Benutzers |
AutoImport | true | fehlende Gemeindedaten beim Start selbst laden |
Module:Wetter:Aktiv | true | Modul Wetter samt lage_am_ort |
Module:Wasser:Aktiv | true | Modul Wasser |
Module:Wasser:Vorladen | false | nur gehostet: Pegel stündlich im Hintergrund vorladen |
Http:AnfragenProMinute | 60 | Rate-Limit je Client-IP für den HTTP-Transport |
Http:ErlaubteUrspruenge | https://claude.ai, https://claude.com | Ursprünge, deren Browser-Anfragen angenommen werden |
Http:HinterProxy | false | Client-IP aus X-Forwarded-For des vorgeschalteten Proxys nehmen |
Http:Betreiber | leer | Name, Anschrift und Kontakt des Betreibers für die Offenlegung auf der Startseite |
Ein beim Start abgeschaltetes Modul wird nicht registriert: seine Tools erscheinen nicht und es ruft nichts ab. Module:Wasser:Aktiv wirkt zusätzlich sofort: Wird der Wert in der appsettings.json neben der Programmdatei im laufenden Betrieb auf false gesetzt, unterbleibt jeder weitere Abruf von eHYD ohne Neustart.
Eingebunden sind ausschließlich die folgenden freigegebenen Quellen. Alle stehen unter CC BY 4.0 und sind damit auch kommerziell frei nutzbar, sofern die Namensnennung erfolgt. Die Daten bleiben unter der Lizenz der Quelle (siehe NOTICE); der Code steht unter MIT.
| Quelle | Datensatz | Vermerk (wörtlich zu übernehmen) | Grundlage |
|---|---|---|---|
| Statistik Austria | OGDEXT_GEM_1, OGDEXT_POLBEZ_1 | Datenquelle: Statistik Austria — data.statistik.gv.at | Nutzungsbedingungen |
| GeoSphere Austria | nwp-v2-1h-1km (DOI), nowcast-v1-15min-1km (DOI) | Datenquelle: GeoSphere Austria - https://data.hub.geosphere.at | Nutzungsbedingungen, Lizenz je Datensatz |
| eHYD (Rechteinhaber: BMLUK und Bundesländer) | i000501:pegel_aktuell | Datenquelle: ehyd.gv.at | INSPIRE-Metadaten |
Die Pflichten aus CC BY 4.0 erfüllt jede Antwort zweifach: am Ende der Zusammenfassung steht der Vermerk mit Lizenz, Link zum Lizenztext und dem Zusatz, dass die Daten umgerechnet und zusammengefasst bzw. aufbereitet wurden; ausführlich steht es im Feld quellen: Namensnennung im verlangten Wortlaut, Lizenz mit Link zum Lizenztext, Link zur Quelle und die Angabe, was Amtsblick verändert hat:
ตัดมาแค่ช่วงต้น อ่านต่อใน repo