@@ -10,6 +10,7 @@ import {
1010import { CallTool , ListTools } from "./tools.js" ;
1111import { ListResources , ListResourceTemplates , ReadResource } from "./resources.js" ;
1212import { logger } from "#logger" ;
13+ import { PACKAGE_VERSION } from "../version.js" ;
1314
1415export default function getMcpServer (
1516 accessKeyId : string ,
@@ -20,10 +21,26 @@ export default function getMcpServer(
2021 const credentials = new Credentials ( accessKeyId , accessKeySecret ) ;
2122 const lara = new Translator ( credentials ) ;
2223
24+ // Identify MCP-originated traffic to Lara on every SDK request. extraHeaders
25+ // are spread into all requests by the SDK transport, so setting them once
26+ // here covers translate, glossaries, memories, languages, imports, etc. The
27+ // client is protected/internal in the SDK types, hence the narrow cast.
28+ const laraClient = ( lara as unknown as {
29+ client ?: { setExtraHeader ?: ( name : string , value : string ) => void } ;
30+ } ) . client ;
31+ if ( typeof laraClient ?. setExtraHeader === "function" ) {
32+ laraClient . setExtraHeader ( "X-Lara-Client" , "MCP" ) ;
33+ laraClient . setExtraHeader ( "X-Lara-Client-Version" , PACKAGE_VERSION ) ;
34+ } else {
35+ logger . warn (
36+ "Lara SDK client does not expose setExtraHeader; X-Lara-Client headers not set"
37+ ) ;
38+ }
39+
2340 const server = new Server (
2441 {
2542 name : "Lara Translate" ,
26- version : "0.0.15" ,
43+ version : PACKAGE_VERSION ,
2744 } ,
2845 {
2946 capabilities : {
0 commit comments