UNPKG

@translated/lara-mcp

Version:

Lara API official MCP server

31 lines (30 loc) 1.53 kB
import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { Credentials, Translator } from "@translated/lara"; import { CallToolRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; import { CallTool, ListTools } from "./tools.js"; import { ListResources, ListResourceTemplates, ReadResource } from "./resources.js"; import { logger } from "#logger"; export default function getMcpServer(accessKeyId, accessKeySecret) { logger.debug("Creating MCP server with authenticated credentials"); const credentials = new Credentials(accessKeyId, accessKeySecret); const lara = new Translator(credentials); const server = new Server({ name: "Lara Translate", version: "0.0.15", }, { capabilities: { tools: {}, resources: {}, }, }); logger.debug("MCP server created! Setting request handlers..."); // -- Tools server.setRequestHandler(ListToolsRequestSchema, ListTools); server.setRequestHandler(CallToolRequestSchema, (request) => CallTool(request, lara)); // -- Resources server.setRequestHandler(ListResourceTemplatesRequestSchema, ListResourceTemplates); server.setRequestHandler(ListResourcesRequestSchema, ListResources); server.setRequestHandler(ReadResourceRequestSchema, (request) => ReadResource(request, lara)); logger.debug("Request handlers set!"); return server; }