Skip to main content
Glama
scenario.yaml3.15 kB
# Verifies Gemini CLI uses the MCP time server to answer a time prompt and the dashboard records the call. name: "Gemini CLI time prompt test" image: us-central1-docker.pkg.dev/prj-common-442813/mcpx/mcpx:v0.2.17-66354a7 configMount: config env: GEMINI_API_KEY: "${GEMINI_API_KEY}" aiAgent: type: gemini-cli transport: http scope: project serverName: mcpx url: http://127.0.0.1:9000/mcp headers: x-lunar-consumer-tag: Gemini CLI verboseOutput: false dependentContainers: [] steps: - name: Prompt Gemini CLI for current Jerusalem time kind: agent toolName: gemini-cli/prompt payload: args: - --output-format - json - --approval-mode - yolo - --allowed-mcp-server-names - mcpx - --allowed-tools - time__get_current_time - -p - >- Use the available MCP time tool to fetch the current time in Jerusalem. Respond exactly in the format "Jerusalem time: HH:MM (TZ)". expected: mode: json-schema value: type: object required: - response properties: response: type: string pattern: "^Jerusalem time: \\d{1,2}:\\d{2} \\([^)]*\\)$" - name: Load Control-Plane UI kind: browser toolName: browser_navigate payload: url: http://localhost:5173 expected: mode: regex value: "Ran Playwright code" - name: Wait for Total Requests label kind: browser toolName: browser_wait_for payload: text: "Total Requests" time: 15 expected: mode: contains value: "Waited for Total Requests" - name: Verify Total Requests equals 1 kind: browser toolName: browser_evaluate payload: function: | () => new Promise((resolve) => { const start = Date.now(); const poll = () => { const text = document.body?.innerText || ''; const match = text.match(/Total Requests\s*(\d+)/i); const value = match ? Number(match[1]) : 0; if (value > 0 || Date.now() - start > 15000) { resolve(value); } else { setTimeout(poll, 500); } }; poll(); }) expected: mode: regex value: "\"?1\"?" - name: Verify Last Activity timestamp kind: browser toolName: browser_evaluate payload: function: | () => { const card = Array.from(document.querySelectorAll('div,section,article')) .find((el) => /Last Activity/i.test(el.textContent || '')); if (!card) { return 'last-activity-card-missing'; } const text = (card.textContent || '').replace(/\s+/g, ' ').trim(); if (/\b[A-Za-z]{3,}\s+\d{1,2},\s+\d{2}:\d{2}\b/.test(text)) { return 'last-activity-timestamp'; } if (/\d{1,2}:\d{2}/.test(text)) { return 'last-activity-time'; } return `last-activity-unexpected:${text}`; } expected: mode: regex value: "last-activity-(timestamp|time)"

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/TheLunarCompany/lunar'

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