RS.ge Waybill MCP Server
MCP (Model Context Protocol) server that integrates the RS.ge Waybill SOAP API with Claude Desktop, enabling natural language queries for Georgian tax system waybills.
π Table of Contents
π Quick Start
β¨ Features
β Natural Language Interface - Query waybills through Claude chat
β Date Range Queries - Get waybills for specific periods
β TIN Lookup - Get company names from Tax IDs
β Dictionaries - Access error codes, akciz codes, waybill types
β Type-Safe - Full TypeScript with strict typing
β Error Handling - Automatic retries and detailed logging
β Production Ready - Tested with real RS.ge API
π Documentation
Comprehensive guides in the docs/ folder:
For Users
Setup & Deployment Guide - Installation, configuration, troubleshooting
For Developers
Project Documentation - Architecture, components, data flow
RS.ge API Best Practices - Critical lessons learned and correct API patterns
MCP Development Guide - How to build MCP servers
π¦ Installation
Prerequisites
Setup Steps
Get the Code
git clone <repository-url> MCPWaybill cd MCPWaybillInstall Dependencies
npm installConfigure Environment
cp .env.example .envEdit
.env:RS_SERVICE_USER=4053098841:405309884 RS_SERVICE_PASSWORD=YourPasswordHereBuild
npm run buildConfigure Claude Desktop
Edit
claude_desktop_config.json:{ "mcpServers": { "rs-waybill": { "command": "node", "args": [ "C:\absolute\path\to\MCPWaybill\dist\index.js" ] } } }β οΈ Important: Use absolute paths!
Restart Claude Desktop (quit completely, then restart)
βοΈ Configuration
Environment Variables
Create .env file:
Config File
Edit config/config.json for advanced settings:
π¬ Usage Examples
Get Waybills
Lookup Company
Get Error Codes
π οΈ Troubleshooting
Server Not Showing in Claude
Check absolute path in
claude_desktop_config.jsonVerify
dist/index.jsexistsRestart Claude Desktop completely
Check Developer Tools (View β Toggle Developer Tools)
Authentication Errors
Verify credentials in
.envCheck format:
username:company_idEnsure no spaces:
RS_SERVICE_USER=value(notRS_SERVICE_USER = value)
Tools Not Working
Check logs:
tail -f logs/mcp-server.logTest with: "Show waybills from yesterday"
Verify date format: YYYY-MM-DD
See Troubleshooting Guide for detailed help.
π¨βπ» Development
Scripts
Project Structure
Key Technologies
@modelcontextprotocol/sdk - MCP framework
Axios - HTTP client
fast-xml-parser - XML parsing
Winston - Logging
Zod - Validation
π― Critical Lessons Learned
This project solved complex RS.ge API integration challenges:
Correct API Usage
Aspect | β Wrong | β Correct |
Operation |
|
|
Date Param |
|
|
Date Format |
|
|
End Date | As-is | Add +1 day |
Seller ID | Not included | Extract from credentials |
ID Field |
|
|
XML Parsing
Filter out
@_attributes before extracting dataHandle both single and array responses
See RS_GE_API_BEST_PRACTICES.md for complete details.
π License
MIT License - See LICENSE file for details
π€ Contributing
Fork the repository
Create feature branch
Make changes
Test thoroughly
Submit pull request
π Support
Documentation: docs/
Issues: GitHub Issues
Questions: Check docs first
π Acknowledgments
Anthropic - Claude Desktop and MCP SDK
RS.ge - Waybill SOAP API
Community - Testing and feedback
Version: 1.0.0
Status: Production Ready β
Last Updated: January 2025
Built with β€οΈ using TypeScript and MCP SDK