Skip to main content
Glama

Statelessor MCP Server

by aloksinghGIT
mcp-server.js2.6 kB
#!/usr/bin/env node const { Server } = require('@modelcontextprotocol/sdk/server/index.js'); const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js'); const { ListToolsRequestSchema, CallToolRequestSchema, } = require('@modelcontextprotocol/sdk/types.js'); const config = require('./config/default.json'); // Import tools const analyzeGitTool = require('./tools/analyze-git'); const analyzeLocalTool = require('./tools/analyze-local'); const generateScriptTool = require('./tools/generate-script'); const getFindingsTool = require('./tools/get-findings'); const explainRemediationTool = require('./tools/explain-remediation'); class StatelessorMCPServer { constructor() { this.server = new Server( { name: config.server.name, version: config.server.version, }, { capabilities: { tools: {}, }, } ); this.setupToolHandlers(); this.setupErrorHandling(); } setupToolHandlers() { // List available tools this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ analyzeGitTool.definition, analyzeLocalTool.definition, generateScriptTool.definition, getFindingsTool.definition, explainRemediationTool.definition, ], }; }); // Handle tool calls this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; switch (name) { case 'analyze_git_repository': return await analyzeGitTool.execute(args); case 'analyze_local_project': return await analyzeLocalTool.execute(args); case 'generate_analysis_script': return await generateScriptTool.execute(args); case 'get_project_findings': return await getFindingsTool.execute(args); case 'explain_remediation': return await explainRemediationTool.execute(args); default: throw new Error(`Unknown tool: ${name}`); } }); } setupErrorHandling() { this.server.onerror = (error) => { console.error('[MCP Error]', error); }; process.on('SIGINT', async () => { await this.server.close(); process.exit(0); }); } async start() { const transport = new StdioServerTransport(); await this.server.connect(transport); console.error('Statelessor MCP server running on stdio'); } } // Start server const server = new StatelessorMCPServer(); server.start().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/aloksinghGIT/statelessor-mcp'

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