MCP-Wetterdienst
Dieses Repository ist ein einfacher Dienst, der Wetterinformationen mithilfe des Model Context Protocol (MCP) bereitstellt. Sie können Wetterinformationen für mehrere Städte (Fukuoka, Tokio, Osaka, Moskau, New York usw.) abrufen.
Inhaltsverzeichnis
Related MCP server: Weather Query MCP Server
Voraussetzungen
Um dieses Projekt abzuschließen, benötigen Sie die folgende Software:
Node.js (Version 18 und höher)
npm (normalerweise mit Node.js installiert)
Git
So installieren Sie
Installieren von Node.js und npm
Laden Sie das Installationsprogramm von der offiziellen Node.js-Website herunter und installieren Sie es.
Sobald die Installation abgeschlossen ist, überprüfen Sie sie, indem Sie den folgenden Befehl im Terminal ausführen:
node -v
npm -vGit installieren
Laden Sie das Installationsprogramm von der offiziellen Git-Website herunter und installieren Sie es.
Sobald die Installation abgeschlossen ist, überprüfen Sie sie, indem Sie den folgenden Befehl im Terminal ausführen:
git --versionProjekt-Setup
Erstellen eines neuen Projekts
Erstellen Sie ein neues Verzeichnis und navigieren Sie dorthin:
mkdir my-weather-mcp
cd my-weather-mcpInitialisieren Sie Ihr npm-Projekt:
npm init -yInstallieren Sie die erforderlichen Pakete:
npm install @modelcontextprotocol/sdk axios zod typescript @types/node https-proxy-agent
npm install --save-dev ts-nodeErstellen Sie eine TypeScript-Konfigurationsdatei:
npx tsc --initBearbeiten Sie Ihre
tsconfig.jsonDatei wie folgt:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"outDir": "./build",
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}Bearbeiten Sie den Abschnitt „Skripts“ Ihrer Datei
package.jsonwie folgt:
"scripts": {
"build": "tsc && node -e \"import('fs').then(fs => fs.default.chmodSync('build/index.js', '755'))\"",
"start": "node build/index.js",
"inspect": "npx @modelcontextprotocol/inspector build/index.js",
"dev": "ts-node src/index.ts"
}Erstellen Sie die Projektverzeichnisstruktur:
mkdir -p src testKlonen eines vorhandenen Projekts
Wenn Sie ein vorhandenes Projekt verwenden möchten, klonen Sie es:
git clone https://github.com/terisuke/my-weather-mcp.git
cd my-weather-mcp
npm installAnwendung
Erstellen und Ausführen
Verwenden Sie zum Erstellen und Ausführen des Projekts die folgenden Befehle:
npm run build && npm run startVerwenden des Inspektors
Um den Wetterdienst mit dem MCP Inspector zu testen, führen Sie den folgenden Befehl aus:
npm run build && npm run inspectSobald der Inspector ausgeführt wird, können Sie mit dem Wetterdienst interagieren, indem Sie in Ihrem Browser http://127.0.0.1:6274 aufrufen.
Wetterinformationen abrufen
Mit dem Inspector können Sie Wetterinformationen für die folgenden Städte abrufen:
Fukuoka
Tokio
Osaka
Moskau
New York
Andere Städte können angegeben werden, müssen aber von der Open-Meteo-API erkannt werden.
Entwicklungshandbuch
Dateistruktur
my-weather-mcp/
├── build/ # コンパイルされたJavaScriptファイル
├── src/ # TypeScriptソースコード
│ └── index.ts # メインのアプリケーションコード
├── test/ # テストファイル
├── package.json # プロジェクト設定
├── tsconfig.json # TypeScript設定
└── README.md # このファイルKorrigieren des Codes
Bearbeiten Sie die Datei
src/index.tsum die Funktionalität hinzuzufügen oder zu ändern.Um Ihre Änderungen zu testen, führen Sie den folgenden Befehl aus:
npm run build && npm run inspectWenn Sie mit der Funktion der Änderungen zufrieden sind, übernehmen Sie sie.
Auf GitHub hochladen
Erstellen Ihres ersten GitHub-Repositorys
Gehen Sie zu GitHub und erstellen Sie ein Konto oder melden Sie sich an.
Klicken Sie oben rechts auf die Schaltfläche „+“ und wählen Sie „Neues Repository“ aus.
Geben Sie einen Repository-Namen ein (z. B.
my-weather-mcp) und fügen Sie optional eine Beschreibung hinzu.Legen Sie für Ihr Repository fest, ob es öffentlich oder privat ist, und klicken Sie auf „Repository erstellen“.
Initialisieren und pushen Sie das lokale Repository
Initialisieren Sie in Ihrem lokalen Projektverzeichnis ein Git-Repository:
git initFügen Sie Ihre Änderungen zum Staging-Bereich hinzu:
git add .Übernehmen Sie die Änderungen:
git commit -m "初回コミット:MCP天気サービスの実装"Fügen Sie ein Remote-Repository hinzu (mithilfe der Repository-URL von GitHub):
git remote add origin https://github.com/ユーザー名/my-weather-mcp.gitÜbertragen Sie die Änderungen in das Remote-Repository:
git push -u origin mainÜbertragen von Änderungen an ein vorhandenes Repository
Fügen Sie Ihre Änderungen zum Staging-Bereich hinzu:
git add .Übernehmen Sie die Änderungen:
git commit -m "変更内容の説明"Übertragen Sie die Änderungen in das Remote-Repository:
git pushErstellen einer Pull-Anforderung
Gehen Sie zur Repository-Seite auf GitHub.
Klicken Sie auf die Registerkarte „Pull Requests“ und dann auf die Schaltfläche „Neuer Pull Request“.
Wählen Sie den Basiszweig und den Vergleichszweig aus.
Klicken Sie auf die Schaltfläche „Pull Request erstellen“.
Geben Sie einen Titel und eine Beschreibung für Ihren Pull Request ein und klicken Sie auf die Schaltfläche „Pull Request erstellen“.
Fehlerbehebung
Häufige Probleme und Lösungen
ERR_PACKAGE_PATH_NOT_EXPORTED Fehler
Dieser Fehler tritt auf, wenn der Importpfad für das Paket @modelcontextprotocol/sdk falsch ist. Bitte beheben Sie das Problem wie folgt:
// 誤ったインポート
import { McpServer } from "@modelcontextprotocol/sdk";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/transports";
// 正しいインポート
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";Netzwerkverbindungsfehler
Wenn beim Tätigen eines API-Aufrufs ein Netzwerkfehler auftritt, überprüfen Sie bitte Ihre Proxy-Einstellungen. Sie können einen Proxy verwenden, indem Sie die Umgebungsvariablen HTTP_PROXY oder HTTPS_PROXY festlegen:
export HTTP_PROXY=http://プロキシサーバー:ポート
export HTTPS_PROXY=https://プロキシサーバー:ポートAndere Probleme
Wenn das Problem weiterhin besteht, erstellen Sie bitte ein Problem mit den folgenden Informationen:
Die aufgetretene Fehlermeldung
Die von Ihnen verwendete Version von Node.js und npm
Befehl ausgeführt
Erwartetes vs. tatsächliches Verhalten
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.