Skip to main content
Glama
BorisSolomonia

RS.ge Waybill MCP Server

get_akciz_codes

Retrieve excise tax codes from the Georgian tax system for accurate waybill processing and compliance verification.

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

  • Main handler function that executes the tool: validates input with Zod schema, calls SOAP client.getAkcizCodes(), formats results (limits to 20, handles search), and manages 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 input schema for validating tool arguments, supporting optional 'search' string.
    export const getAkcizCodesInputSchema = z.object({ search: z.string() .optional() .describe('Optional search text to filter akciz codes'), });
  • MCP tool registration object defining name, description, and structural input schema advertised to the MCP client.
    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: [], }, };
  • src/index.ts:129-131 (registration)
    Registers the tool in the MCP server's listToolsRequestHandler based on feature flag.
    if (features.getAkcizCodes) { tools.push(getAkcizCodesTool); }
  • Main MCP server dispatcher that routes tool calls to the specific execute function after feature check.
    case 'get_akciz_codes': if (!features.getAkcizCodes) { throw new Error('get_akciz_codes tool is disabled'); } result = await executeGetAkcizCodes(soapClient, args); break;

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