Skip to main content
Glama

MCP Test Server

by dannyhertz
simple-mcp-server.js1.73 kB
#!/usr/bin/env node import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { ListResourcesRequestSchema, ReadResourceRequestSchema } from '@modelcontextprotocol/sdk/types.js'; // Create server const server = new Server( { name: 'test-mcp-server', version: '1.0.0' }, { capabilities: { resources: {} } } ); // List available resources server.setRequestHandler(ListResourcesRequestSchema, async () => { return { resources: [ { uri: 'test://image', name: 'Test Image', description: 'A simple test image', mimeType: 'image/png' }, { uri: 'test://csv', name: 'Test CSV', description: 'Sample CSV data', mimeType: 'text/csv' } ] }; }); // Read resource content server.setRequestHandler(ReadResourceRequestSchema, async (request) => { const { uri } = request.params; if (uri === 'test://image') { // 1x1 red pixel PNG return { contents: [{ uri: 'test://image', mimeType: 'image/png', blob: 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIA+v2VCwAAAABJRU5ErkJggg==' }] }; } if (uri === 'test://csv') { return { contents: [{ uri: 'test://csv', mimeType: 'text/csv', text: 'name,age\nAlice,30\nBob,25' }] }; } throw new Error(`Unknown resource: ${uri}`); }); // Start server async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error('MCP server running on stdio'); } main().catch(console.error);

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/dannyhertz/mcp-test-server'

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