UNPKG

sourcegraph-mcp-server

Version:

A Model Context Protocol (MCP) server that connects AI assistants to Sourcegraph code search with natural language capabilities

46 lines (45 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); const mcp_server_1 = require("../mcp-server"); const router = (0, express_1.Router)(); const mcpServer = (0, mcp_server_1.createServer)(); // Cast to allow access to invoke method const server = mcpServer; /** * POST /api/search * Body: { query: string, type?: string } */ router.post('/search', async (req, res) => { try { const { query, type = 'file' } = req.body; if (!query) { return res.status(400).json({ error: 'Query is required' }); } // Natural language search is disabled if (type === 'natural') { return res.status(400).json({ error: 'Natural language search is disabled' }); } // Handle standard search const result = await server.invoke('search-code', { query, type }); return res.json(result); } catch (error) { console.error('Error in /api/search:', error); return res.status(500).json({ error: `Search failed: ${error.message || 'Unknown error'}` }); } }); /** * GET /api/tools - List available tools */ router.get('/tools', async (req, res) => { try { const result = await server.invoke('debug', {}); return res.json(result); } catch (error) { console.error('Error listing tools:', error); return res.status(500).json({ error: `Failed to list tools: ${error.message || 'Unknown error'}` }); } }); exports.default = router;