Spaces:
Runtime error
Runtime error
| // Mock MCP server for testing | |
| import express from 'express'; | |
| import cors from 'cors'; | |
| const app = express(); | |
| const port = 7861; | |
| app.use(cors()); | |
| app.use(express.json()); | |
| // Mock MCP tools | |
| const mockTools = [ | |
| { | |
| name: 'web-search', | |
| description: 'Search the web for information', | |
| parameters: { | |
| query: { | |
| type: 'string', | |
| description: 'The search query' | |
| } | |
| } | |
| }, | |
| { | |
| name: 'weather', | |
| description: 'Get current weather information', | |
| parameters: { | |
| location: { | |
| type: 'string', | |
| description: 'The location to get weather for' | |
| } | |
| } | |
| }, | |
| { | |
| name: 'calculator', | |
| description: 'Perform mathematical calculations', | |
| parameters: { | |
| expression: { | |
| type: 'string', | |
| description: 'The mathematical expression to evaluate' | |
| } | |
| } | |
| } | |
| ]; | |
| // MCP discovery endpoint | |
| app.post('/', (req, res) => { | |
| const { type } = req.body; | |
| if (type === 'discovery') { | |
| console.log('Received discovery request'); | |
| res.json({ | |
| tools: mockTools | |
| }); | |
| } else if (type === 'tool_execution') { | |
| const { tool, parameters } = req.body; | |
| console.log(`Executing tool: ${tool} with parameters:`, parameters); | |
| // Mock responses for different tools | |
| if (tool === 'web-search') { | |
| res.json({ | |
| result: `Search results for: ${parameters.query || 'unknown query'}`, | |
| links: [ | |
| { title: 'Example result 1', url: 'https://example.com/1' }, | |
| { title: 'Example result 2', url: 'https://example.com/2' } | |
| ] | |
| }); | |
| } else if (tool === 'weather') { | |
| res.json({ | |
| location: parameters.location || 'unknown location', | |
| temperature: '22°C', | |
| condition: 'Sunny', | |
| humidity: '45%' | |
| }); | |
| } else if (tool === 'calculator') { | |
| let result; | |
| try { | |
| // Simple evaluation (not secure for production) | |
| result = eval(parameters.expression); | |
| } catch (error) { | |
| result = 'Error evaluating expression'; | |
| } | |
| res.json({ | |
| expression: parameters.expression, | |
| result: result | |
| }); | |
| } else { | |
| res.status(400).json({ error: `Unknown tool: ${tool}` }); | |
| } | |
| } else { | |
| res.status(400).json({ error: 'Invalid request type' }); | |
| } | |
| }); | |
| const server = app.listen(port, () => { | |
| console.log(`Mock MCP server running at http://localhost:${port}`); | |
| }); | |
| export default { app, server }; | |