Skip to main content
Glama

MCP Prompts Server

#!/usr/bin/env node const { spawn } = require('child_process'); // Start the MCP server const mcpServer = spawn('node', ['dist/index.js'], { env: { ...process.env, MODE: 'mcp' }, stdio: ['pipe', 'pipe', 'pipe'] }); let messageId = 1; function sendMessage(method, params = null) { const message = { jsonrpc: '2.0', id: messageId++, method, params }; console.log(`\n📤 Sending: ${method}`); mcpServer.stdin.write(JSON.stringify(message) + '\n'); } // Handle responses mcpServer.stdout.on('data', (data) => { const lines = data.toString().split('\n').filter(line => line.trim()); for (const line of lines) { try { const response = JSON.parse(line); if (response.result) { console.log(`✅ Response (ID: ${response.id}):`); if (response.result.content) { console.log(response.result.content[0].text); } else { console.log(JSON.stringify(response.result, null, 2)); } } else if (response.error) { console.log(`❌ Error (ID: ${response.id}):`, response.error.message); } } catch (e) { // Log messages that aren't JSON (like server logs) if (line.includes('level')) { console.log(`📝 Log: ${line}`); } } } }); mcpServer.stderr.on('data', (data) => { console.error('🔴 Error:', data.toString()); }); // Test sequence setTimeout(() => { console.log('🚀 Starting MCP Prompts Server Test Suite...\n'); // 1. Initialize sendMessage('initialize', { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'test-client', version: '1.0.0' } }); // 2. Get stats setTimeout(() => { sendMessage('tools/call', { name: 'get_stats', arguments: {} }); }, 1000); // 3. List prompts setTimeout(() => { sendMessage('tools/call', { name: 'list_prompts', arguments: {} }); }, 2000); // 4. Get specific prompt setTimeout(() => { sendMessage('tools/call', { name: 'get_prompt', arguments: { id: 'code_review_assistant' } }); }, 3000); // 5. Apply template setTimeout(() => { sendMessage('tools/call', { name: 'apply_template', arguments: { id: 'code_review_assistant', variables: { language: 'JavaScript', code: 'function hello() { console.log("Hello World"); }' } } }); }, 4000); // 6. Add new prompt setTimeout(() => { sendMessage('tools/call', { name: 'add_prompt', arguments: { name: 'Test Prompt', content: 'This is a test prompt for {{subject}}', isTemplate: true, tags: ['test', 'example'], variables: [ { name: 'subject', description: 'The subject to test', required: true, type: 'string' } ] } }); }, 5000); // 7. List prompts with filter setTimeout(() => { sendMessage('tools/call', { name: 'list_prompts', arguments: { tags: ['test'] } }); }, 6000); // 8. Final stats setTimeout(() => { sendMessage('tools/call', { name: 'get_stats', arguments: {} }); }, 7000); // Cleanup setTimeout(() => { console.log('\n✅ Test completed successfully!'); mcpServer.kill(); process.exit(0); }, 8000); }, 1000);

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/sparesparrow/mcp-prompts'

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