Метеорологическая служба MCP
Этот репозиторий представляет собой простую службу, которая предоставляет информацию о погоде с использованием протокола контекста модели (MCP). Вы можете получить информацию о погоде для нескольких городов (Фукуока, Токио, Осака, Москва, Нью-Йорк и т. д.).
оглавление
Related MCP server: Weather Query MCP Server
Предпосылки
Для выполнения этого проекта вам понадобится следующее программное обеспечение:
Node.js (версия 18 и выше)
npm (обычно устанавливается вместе с Node.js)
Гит
Как установить
Установка Node.js и npm
Загрузите установщик с официального сайта Node.js и установите его.
После завершения установки проверьте ее, выполнив следующую команду в Терминале:
node -v
npm -vУстановка Git
Загрузите установщик с официального сайта Git и установите его.
После завершения установки проверьте ее, выполнив следующую команду в Терминале:
git --versionНастройка проекта
Создание нового проекта
Создайте новый каталог и перейдите в него:
mkdir my-weather-mcp
cd my-weather-mcpИнициализируйте свой проект npm:
npm init -yУстановите необходимые пакеты:
npm install @modelcontextprotocol/sdk axios zod typescript @types/node https-proxy-agent
npm install --save-dev ts-nodeСоздайте файл конфигурации TypeScript:
npx tsc --initОтредактируйте файл
tsconfig.jsonследующим образом:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"outDir": "./build",
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}Отредактируйте раздел скриптов вашего файла
package.jsonследующим образом:
"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"
}Создайте структуру каталогов проекта:
mkdir -p src testКлонировать существующий проект
Если вы хотите использовать существующий проект, клонируйте его:
git clone https://github.com/terisuke/my-weather-mcp.git
cd my-weather-mcp
npm installКак использовать
Построить и запустить
Для сборки и запуска проекта используйте следующие команды:
npm run build && npm run startИспользование инспектора
Чтобы протестировать службу погоды с помощью MCP Inspector, выполните следующую команду:
npm run build && npm run inspectПосле запуска Inspector вы можете взаимодействовать со службой погоды, перейдя по адресу http://127.0.0.1:6274 в своем браузере.
Получить информацию о погоде
С помощью Инспектора вы можете получить информацию о погоде в следующих городах:
Фукуока
Токио
Осака
Москва
Нью-Йорк
Можно указать и другие города, но они должны распознаваться API Open-Meteo.
Руководство по разработке
Структура файла
my-weather-mcp/
├── build/ # コンパイルされたJavaScriptファイル
├── src/ # TypeScriptソースコード
│ └── index.ts # メインのアプリケーションコード
├── test/ # テストファイル
├── package.json # プロジェクト設定
├── tsconfig.json # TypeScript設定
└── README.md # このファイルИсправление кода
Отредактируйте файл
src/index.tsчтобы добавить или изменить функциональность.Чтобы проверить изменения, выполните следующую команду:
npm run build && npm run inspectКак только вы убедитесь, что изменения работают, зафиксируйте их.
Загрузить на GitHub
Создание вашего первого репозитория GitHub
Перейдите на GitHub и создайте учетную запись или войдите в систему.
Нажмите кнопку «+» в правом верхнем углу и выберите «Новый репозиторий».
Введите имя репозитория (например,
my-weather-mcp) и добавьте необязательное описание.Сделайте свой репозиторий публичным или частным и нажмите «Создать репозиторий».
Инициализируйте и отправьте локальный репозиторий
В локальном каталоге проекта инициализируйте репозиторий Git:
git initДобавьте изменения в область подготовки:
git add .Внесите изменения:
git commit -m "初回コミット:MCP天気サービスの実装"Добавьте удаленный репозиторий (используя URL-адрес репозитория из GitHub):
git remote add origin https://github.com/ユーザー名/my-weather-mcp.gitОтправьте изменения в удаленный репозиторий:
git push -u origin mainПередача изменений в существующий репозиторий
Добавьте изменения в область подготовки:
git add .Внесите изменения:
git commit -m "変更内容の説明"Отправьте изменения в удаленный репозиторий:
git pushСоздание запроса на извлечение
Перейдите на страницу репозитория на GitHub.
Нажмите вкладку «Запросы на извлечение», а затем нажмите кнопку «Новый запрос на извлечение».
Выберите базовую ветвь и ветвь сравнения.
Нажмите кнопку «Создать запрос на извлечение».
Введите название и описание вашего запроса на извлечение и нажмите кнопку «Создать запрос на извлечение».
Поиск неисправностей
Распространенные проблемы и решения
Ошибка ERR_PACKAGE_PATH_NOT_EXPORTED
Эта ошибка возникает, если путь импорта для пакета @modelcontextprotocol/sdk неверен. Пожалуйста, исправьте это следующим образом:
// 誤ったインポート
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";Ошибка сетевого подключения
Если при выполнении вызова API возникает сетевая ошибка, проверьте настройки прокси-сервера. Вы можете использовать прокси, установив переменные среды HTTP_PROXY или HTTPS_PROXY :
export HTTP_PROXY=http://プロキシサーバー:ポート
export HTTPS_PROXY=https://プロキシサーバー:ポートДругие вопросы
Если проблема не устранена, пожалуйста, создайте сообщение о проблеме, указав следующую информацию:
Сообщение об ошибке, которое произошло
Версию Node.js и npm, которую вы используете
Команда выполнена.
Ожидаемое и фактическое поведение