Skip to main content
Glama
sse.ts1.47 kB
import express from 'express'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; import { InitTransportServerFunction } from '../shared/index.js'; import { logger } from '../shared/logger.js'; export const initSSEServer: InitTransportServerFunction = async ( getNewServer, options, ) => { const { appId, appSecret, port = '3000' } = options; if (!appId || !appSecret) { logger.error('Missing App ID or App Secret'); process.exit(1); } const app = express(); app.use(express.json()); app.get('/sse', async (req, res) => { res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': process.env.CORS_ORIGIN || '*', 'Access-Control-Allow-Headers': 'Cache-Control' }); // Create SSE transport const transport = new SSEServerTransport("/messages", res); const mcpServer = await getNewServer(options); await mcpServer.connect(transport); req.on('close', () => { server.close(); }); }); // 创建 HTTP 服务器 const server = app.listen(port, () => { logger.info(`SSE server listening on port ${port}`); }); logger.info( `[SSEServerTransport] Connecting to WeChat MCP Server, appId: ${appId}`, ); process.on('SIGINT', () => { logger.info('[SSEServerTransport] Shutting down server...'); server.close(); process.exit(0); }); };

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/xwang152-jack/wechat-official-account-mcp'

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