Skip to main content
Glama

Timezone MCP Server

by sam-artuso
compare-timezones.prompt.spec.tsβ€’3.31 kB
import { describe, it, expect, beforeEach } from 'vitest' import { CompareTimezonesPrompt } from './compare-timezones.prompt' describe('CompareTimezonesPrompt', () => { let prompt: CompareTimezonesPrompt beforeEach(() => { prompt = new CompareTimezonesPrompt() }) describe('execute', () => { it('should return a prompt with description and messages', async () => { const result = await prompt.execute({ timezone1: 'America/New_York', timezone2: 'Europe/London', }) expect(result).toHaveProperty('description') expect(result).toHaveProperty('messages') expect(result.messages).toBeInstanceOf(Array) }) it('should have user and assistant messages', async () => { const result = await prompt.execute({ timezone1: 'Asia/Tokyo', timezone2: 'America/Los_Angeles', }) expect(result.messages).toHaveLength(2) expect(result.messages[0]).toHaveProperty('role', 'user') expect(result.messages[1]).toHaveProperty('role', 'assistant') }) it('should have text content in messages', async () => { const result = await prompt.execute({ timezone1: 'Europe/Paris', timezone2: 'Asia/Singapore', }) expect(result.messages[0].content).toHaveProperty('type', 'text') expect(result.messages[0].content).toHaveProperty('text') expect(result.messages[1].content).toHaveProperty('type', 'text') expect(result.messages[1].content).toHaveProperty('text') }) it('should include both timezones in the description', async () => { const timezone1 = 'America/Chicago' const timezone2 = 'Europe/Berlin' const result = await prompt.execute({ timezone1, timezone2 }) expect(result.description).toContain(timezone1) expect(result.description).toContain(timezone2) }) it('should include both timezones in user message', async () => { const timezone1 = 'America/Denver' const timezone2 = 'Asia/Dubai' const result = await prompt.execute({ timezone1, timezone2 }) const userMessage = result.messages[0].content.text expect(userMessage).toContain(timezone1) expect(userMessage).toContain(timezone2) }) it('should include both timezones in assistant message', async () => { const timezone1 = 'America/Toronto' const timezone2 = 'Australia/Sydney' const result = await prompt.execute({ timezone1, timezone2 }) const assistantMessage = result.messages[1].content.text expect(assistantMessage).toContain(timezone1) expect(assistantMessage).toContain(timezone2) }) it('should reference the get_timezone_info tool in assistant message', async () => { const result = await prompt.execute({ timezone1: 'Europe/Madrid', timezone2: 'America/Mexico_City', }) const assistantMessage = result.messages[1].content.text expect(assistantMessage).toContain('get_timezone_info') }) it('should mention comparison in user message', async () => { const result = await prompt.execute({ timezone1: 'Asia/Seoul', timezone2: 'Europe/Rome', }) const userMessage = result.messages[0].content.text.toLowerCase() expect(userMessage).toContain('compare') }) }) })

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/sam-artuso/demo-mcp'

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