fetchLanguageMasters
Retrieve language masters for Adobe Experience Manager sites to manage multilingual content efficiently.
Instructions
Get language masters for a specific site
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes |
Implementation Reference
- Core handler implementing the tool logic: queries AEM site JSON endpoint at depth 3, filters child nodes with jcr:content as language masters, structures response.async fetchLanguageMasters(site: string): Promise<LanguageMastersResponse> { return safeExecute<LanguageMastersResponse>(async () => { const response = await this.httpClient.get(`/content/${site}.json`, { params: { ':depth': '3' } }); const masters: Array<{ name: string; path: string; title: string; language: string; }> = []; Object.entries(response.data).forEach(([key, value]: [string, any]) => { if (key.startsWith('jcr:') || key.startsWith('sling:')) return; if (value && typeof value === 'object' && value['jcr:content']) { masters.push({ name: key, path: `/content/${key}`, title: value['jcr:content']['jcr:title'] || key, language: value['jcr:content']['jcr:language'] || 'en', }); } }); return createSuccessResponse({ site, languageMasters: masters, }, 'fetchLanguageMasters') as LanguageMastersResponse; }, 'fetchLanguageMasters'); }
- src/mcp-server.ts:82-90 (registration)MCP tool registration in server tools array, defining name, description, and input schema (object with required 'site' string property).{ name: 'fetchLanguageMasters', description: 'Get language masters for a specific site', inputSchema: { type: 'object', properties: { site: { type: 'string' } }, required: ['site'], }, },
- src/interfaces/index.ts:561-571 (schema)TypeScript interface defining the output structure LanguageMastersResponse, used for type safety and validation.export interface LanguageMastersResponse extends BaseResponse { data: { site: string; languageMasters: Array<{ name: string; path: string; title: string; language: string; }>; }; }
- src/mcp-server.ts:620-623 (handler)MCP server request handler switch case that processes tool calls to fetchLanguageMasters by extracting site param and delegating to AEM connector.case 'fetchLanguageMasters': { const site = (args as { site: string }).site; const result = await aemConnector.fetchLanguageMasters(site); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
- src/mcp-server.ts:578-580 (registration)Registers the listTools handler returning the full tools array including fetchLanguageMasters.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });