@liangshen/dify-mcp-server
Version:
一个用于访问Dify API的Model Context Protocol (MCP)服务实现
28 lines (27 loc) • 902 B
JavaScript
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
import express from "express";
import { server } from "./server.js";
const sessions = {};
const app = express();
app.get("/sse", async (req, res) => {
const userId = req.query.userId;
const transport = new SSEServerTransport(`/messages`, res);
sessions[transport.sessionId] = { userId, transport };
res.on("close", () => {
delete sessions[transport.sessionId];
});
await server.connect(transport);
});
app.post("/messages", async (req, res) => {
const sessionId = req.query.sessionId;
const { userId, transport } = sessions[sessionId];
if (transport) {
process.env.DIFY_USER_ID = userId;
await transport.handlePostMessage(req, res);
}
else {
res.status(400).send('No transport found for sessionId');
}
});
app.listen(3001);