LibreChat/e2e/setup/fake-mcp-server.js
Teresa Blanco 9628930958
ci: Add mock e2e coverage for agents, prompts, MCP, and chat flows (#13589)
*  Add mock e2e coverage for agents, prompts, MCP, and chat flows

* 🎯 fix: Change enforce modelSpecs to false

---------

Co-authored-by: Danny Avila <danny@librechat.ai>
2026-06-10 09:06:52 -04:00

53 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
const { McpServer } = require('@modelcontextprotocol/sdk/server/mcp.js');
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
const z = require('zod/v4');
const server = new McpServer({
name: 'e2e-memory',
version: '1.0.0',
});
server.registerTool(
'remember_fact',
{
description: 'Stores a deterministic fact for LibreChat mock end-to-end tests.',
inputSchema: {
fact: z.string().optional(),
},
},
async ({ fact = 'LibreChat MCP e2e fact' }) => ({
content: [
{
type: 'text',
text: `E2E MCP memory noted: ${fact}`,
},
],
}),
);
server.registerTool(
'recall_fact',
{
description: 'Returns a deterministic fact for LibreChat mock end-to-end tests.',
inputSchema: {},
},
async () => ({
content: [
{
type: 'text',
text: 'E2E MCP memory recalled: LibreChat can persist MCP tools on agents.',
},
],
}),
);
async function main() {
await server.connect(new StdioServerTransport());
}
main().catch((error) => {
console.error('[fake-mcp-server] failed to start', error);
process.exit(1);
});