Skip to main content
Glama
BorisSolomonia

RS.ge Waybill MCP Server

get_akciz_codes

Retrieve excise codes from the Georgian tax system for waybill processing. Filter results by search text to find specific codes.

Instructions

Get akciz (excise) codes from RS.ge system. Optionally filter by search text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchNoOptional search text to filter results

Implementation Reference

  • The core handler function that implements the get_akciz_codes tool logic: validates input, calls the SOAP client, formats results (limited to 20), handles errors.
    export async function executeGetAkcizCodes( client: RsWaybillSoapClient, input: unknown ): Promise<string> { const logger = getLogger(); try { const validated = getAkcizCodesInputSchema.parse(input || {}); logger.info('Getting akciz codes', { search: validated.search }); const codes = await client.getAkcizCodes(validated.search); if (codes.length === 0) { return validated.search ? `No akciz codes found matching "${validated.search}"` : 'No akciz codes found'; } let response = `Akciz Codes (${codes.length})`; if (validated.search) { response += ` matching "${validated.search}"`; } response += ':\n\n'; codes.slice(0, 20).forEach((code: any) => { response += `- ${code.CODE}: ${code.NAME}`; if (code.DESCRIPTION) { response += ` - ${code.DESCRIPTION}`; } response += '\n'; }); if (codes.length > 20) { response += `\n... and ${codes.length - 20} more codes`; } return response; } catch (error) { logger.error('Error in get_akciz_codes tool', { error }); return formatErrorForUser(error); } }
  • Zod schema for input validation in the get_akciz_codes handler.
    export const getAkcizCodesInputSchema = z.object({ search: z.string() .optional() .describe('Optional search text to filter akciz codes'), });
  • src/index.ts:129-131 (registration)
    Registers the tool object in MCP listTools response if feature flag enabled.
    if (features.getAkcizCodes) { tools.push(getAkcizCodesTool); }
  • src/index.ts:177-182 (registration)
    Dispatches execution in MCP callTool handler, checks feature flag.
    case 'get_akciz_codes': if (!features.getAkcizCodes) { throw new Error('get_akciz_codes tool is disabled'); } result = await executeGetAkcizCodes(soapClient, args); break;
  • Defines the MCP tool object including name, description, and input schema.
    export const getAkcizCodesTool = { name: 'get_akciz_codes', description: 'Get akciz (excise) codes from RS.ge system. Optionally filter by search text.', inputSchema: { type: 'object' as const, properties: { search: { type: 'string', description: 'Optional search text to filter results', }, }, required: [], }, };

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/BorisSolomonia/MCPWaybill'

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