UNPKG

@translated/lara-mcp

Version:

Lara API official MCP server

32 lines (31 loc) 1.56 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 credentials: " + accessKeyId); const credentials = new Credentials(accessKeyId, accessKeySecret); const lara = new Translator(credentials); const server = new Server({ name: "Lara Translate", version: "0.0.12", }, { capabilities: { tools: {}, resources: {}, resourceTemplates: {}, }, }); 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; }