Skip to main content
Glama

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
NameRequiredDescriptionDefault
siteYes

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');
    }
  • 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'],
      },
    },
  • 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;
        }>;
      };
    }
  • 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) }] };
  • Registers the listTools handler returning the full tools array including fetchLanguageMasters.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
      return { tools };
    });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/indrasishbanerjee/aem-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server