Skip to main content
Glama
terisuke

MCP Weather Service

by terisuke

Метеорологическая служба MCP

Этот репозиторий представляет собой простую службу, которая предоставляет информацию о погоде с использованием протокола контекста модели (MCP). Вы можете получить информацию о погоде для нескольких городов (Фукуока, Токио, Осака, Москва, Нью-Йорк и т. д.).

оглавление

  1. Предпосылки

  2. Настройка проекта

  3. Как использовать

  4. Руководство по разработке

  5. Загрузить на GitHub

  6. Поиск неисправностей

Related MCP server: Weather Query MCP Server

Предпосылки

Для выполнения этого проекта вам понадобится следующее программное обеспечение:

  • Node.js (версия 18 и выше)

  • npm (обычно устанавливается вместе с Node.js)

  • Гит

Как установить

Установка Node.js и npm

  1. Загрузите установщик с официального сайта Node.js и установите его.

  2. После завершения установки проверьте ее, выполнив следующую команду в Терминале:

node -v
npm -v

Установка Git

  1. Загрузите установщик с официального сайта Git и установите его.

  2. После завершения установки проверьте ее, выполнив следующую команду в Терминале:

git --version

Настройка проекта

Создание нового проекта

  1. Создайте новый каталог и перейдите в него:

mkdir my-weather-mcp
cd my-weather-mcp
  1. Инициализируйте свой проект npm:

npm init -y
  1. Установите необходимые пакеты:

npm install @modelcontextprotocol/sdk axios zod typescript @types/node https-proxy-agent
npm install --save-dev ts-node
  1. Создайте файл конфигурации TypeScript:

npx tsc --init
  1. Отредактируйте файл tsconfig.json следующим образом:

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "esModuleInterop": true,
    "outDir": "./build",
    "strict": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}
  1. Отредактируйте раздел скриптов вашего файла 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"
}
  1. Создайте структуру каталогов проекта:

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           # このファイル

Исправление кода

  1. Отредактируйте файл src/index.ts чтобы добавить или изменить функциональность.

  2. Чтобы проверить изменения, выполните следующую команду:

npm run build && npm run inspect
  1. Как только вы убедитесь, что изменения работают, зафиксируйте их.

Загрузить на GitHub

Создание вашего первого репозитория GitHub

  1. Перейдите на GitHub и создайте учетную запись или войдите в систему.

  2. Нажмите кнопку «+» в правом верхнем углу и выберите «Новый репозиторий».

  3. Введите имя репозитория (например, my-weather-mcp ) и добавьте необязательное описание.

  4. Сделайте свой репозиторий публичным или частным и нажмите «Создать репозиторий».

Инициализируйте и отправьте локальный репозиторий

  1. В локальном каталоге проекта инициализируйте репозиторий Git:

git init
  1. Добавьте изменения в область подготовки:

git add .
  1. Внесите изменения:

git commit -m "初回コミット:MCP天気サービスの実装"
  1. Добавьте удаленный репозиторий (используя URL-адрес репозитория из GitHub):

git remote add origin https://github.com/ユーザー名/my-weather-mcp.git
  1. Отправьте изменения в удаленный репозиторий:

git push -u origin main

Передача изменений в существующий репозиторий

  1. Добавьте изменения в область подготовки:

git add .
  1. Внесите изменения:

git commit -m "変更内容の説明"
  1. Отправьте изменения в удаленный репозиторий:

git push

Создание запроса на извлечение

  1. Перейдите на страницу репозитория на GitHub.

  2. Нажмите вкладку «Запросы на извлечение», а затем нажмите кнопку «Новый запрос на извлечение».

  3. Выберите базовую ветвь и ветвь сравнения.

  4. Нажмите кнопку «Создать запрос на извлечение».

  5. Введите название и описание вашего запроса на извлечение и нажмите кнопку «Создать запрос на извлечение».

Поиск неисправностей

Распространенные проблемы и решения

Ошибка 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, которую вы используете

  • Команда выполнена.

  • Ожидаемое и фактическое поведение

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/terisuke/my-weather-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server