vybsly_weather
Retrieve current weather and 5-day forecast for any city by providing its name.
Instructions
Current weather and 5-day forecast for a city.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name, e.g. Miami or "New York" |
Implementation Reference
- index.js:115-125 (schema)Tool schema definition for vybsly_weather — declares the tool name, description, and input schema requiring a 'city' parameter.
{ name: 'vybsly_weather', description: 'Current weather and 5-day forecast for a city.', inputSchema: { type: 'object', properties: { city: { type: 'string', description: 'City name, e.g. Miami or "New York"' } }, required: ['city'] } }, - index.js:473-475 (handler)Handler logic for vybsly_weather — calls the Vybsly API /weather endpoint with args.city as the city parameter.
case 'vybsly_weather': result = await vybslyCall('/weather', { city: args.city }); break; - index.js:21-32 (helper)Helper function vybslyCall — generic HTTP fetch wrapper used by the weather handler to call the Vybsly API with query params.
async function vybslyCall(path, params = {}) { const qs = new URLSearchParams(params).toString(); const url = `${VYBSLY_BASE}${path}${qs ? '?' + qs : ''}`; const headers = { 'Accept': 'application/json' }; if (API_KEY) headers['X-API-Key'] = API_KEY; const res = await fetch(url, { headers }); if (!res.ok) { const text = await res.text(); throw new Error(`Vybsly API ${res.status}: ${text.slice(0, 300)}`); } return res.json(); } - index.js:412-417 (registration)MCP server registration — creates the server and registers ListToolsRequestSchema handler which returns the TOOLS array containing vybsly_weather.
const server = new Server( { name: 'vybsly-mcp', version: '1.1.0' }, { capabilities: { tools: {}, prompts: {}, resources: {} } } ); server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));