Skip to main content
Glama

Task Manager MCP Server

by blizzy78
sse.ts1.73 kB
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js' import express from 'express' import { createServer } from './task_manager.js' console.error('Starting SSE server...') const app = express() const transports: Map<string, SSEServerTransport> = new Map<string, SSEServerTransport>() app.get('/sse', async (req, res) => { let transport: SSEServerTransport const { server, cleanup } = createServer() if (req?.query?.sessionId) { const sessionId = req?.query?.sessionId as string transport = transports.get(sessionId) as SSEServerTransport console.error( "Client Reconnecting? This shouldn't happen; when client has a sessionId, GET /sse should not be called again.", transport.sessionId ) } else { // Create and store transport for new session transport = new SSEServerTransport('/message', res) transports.set(transport.sessionId, transport) // Connect server to transport await server.connect(transport) console.error('Client Connected: ', transport.sessionId) // Handle close of connection server.onclose = async () => { console.error('Client Disconnected: ', transport.sessionId) transports.delete(transport.sessionId) await cleanup() } } }) app.post('/message', async (req, res) => { const sessionId = req?.query?.sessionId as string const transport = transports.get(sessionId) if (transport) { console.error('Client Message from', sessionId) await transport.handlePostMessage(req, res) } else { console.error(`No transport found for sessionId ${sessionId}`) } }) const PORT = process.env.PORT || 3001 app.listen(PORT, () => { console.error(`Server is running on port ${PORT}`) })

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/blizzy78/mcp-task-manager'

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