Skip to main content
Glama
mcp-smoke.mjs2.11 kB
#!/usr/bin/env node import 'dotenv/config'; import path from 'path'; import { fileURLToPath } from 'url'; import { Client } from '../node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js'; import { StdioClientTransport } from '../node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const projectRoot = path.resolve(__dirname, '..'); const serverPath = path.join(projectRoot, 'dist', 'index.js'); const client = new Client({ name: 'mcp-smoke-client', version: '0.0.1' }); const transport = new StdioClientTransport({ command: 'node', args: [serverPath], env: { ...process.env, JULES_API_KEY: process.env.JULES_API_KEY ?? 'dummy' }, cwd: projectRoot, stderr: 'pipe', }); async function main() { await client.connect(transport); const tools = await client.listTools(); console.log(`[mcp:smoke] tools: ${tools.tools.length}`); const prompts = await client.listPrompts(); console.log(`[mcp:smoke] prompts: ${prompts.prompts.length}`); const resources = await client.listResources(); console.log( `[mcp:smoke] resources: ${resources.resources.map((r) => r.uri).join(', ')}` ); try { await client.readResource({ uri: 'jules://sessions/invalid/full' }); } catch (error) { console.log( `[mcp:smoke] readResource expected error: ${ error instanceof Error ? error.message : String(error) }` ); } try { await client.callTool({ name: 'create_coding_task', arguments: { prompt: 'Smoke test task', source: 'sources/github/example/repo', branch: 'main', }, }); } catch (error) { console.log( `[mcp:smoke] callTool expected error: ${ error instanceof Error ? error.message : String(error) }` ); } } main() .catch((error) => { console.error('[mcp:smoke] failed', error); process.exitCode = 1; }) .finally(async () => { try { await client.close(); } catch {} try { await transport.close(); } catch {} });

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/savethepolarbears/jules-mcp-server'

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