Token导航 LogoToken导航TokenDH.com
rs MCP logo
金融服务未说明官方级别未说明来源级核验

rs MCP

MCP Server

提供格鲁吉亚税务服务的API接口,包括运单、发票和纳税人信息的查询与管理。

工具数

87

提示词数

0

GitHub Stars

7

资源数

0
发票管理TypeScriptClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Parsa-29

提供方

Parsa-29

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

rs mcp

MCP服务器+格鲁吉亚税务服务(rs.ge)的CLI。将运单、发票和纳税人SOAP API作为AI可调用工具公开。从同一代码库中提供两个接口:

  • 命令行界面 (rs-cli)--与脚本和AI代理的子命令、JSON输出相同的85个操作
  • 克劳德技能skills/rs-ge/ 文件夹,上传到Claude.ai或Claude Code,教Claude如何使用这些工具

服务范围:

服务端点工具
运单services.rs.ge/WayBillService/WayBillService.asmx24
发票(NTOS)revenue.mof.ge/ntosservice/ntosservice.asmx40
纳税人services.rs.ge/taxservice/taxpayerservice.asmx20
确认(HITL)_(内部)_3

主要特点:

  • 对运单、发票、纳税人信息、参考数据的只读查询
  • 运单和发票的完整CRUD(创建、发送、确认、拒绝、关闭、删除)
  • 所有破坏性MCP操作的人在回路(HITL)安全
  • 具有交互式的CLI [y/N] 破坏性命令的确认(--yes 跳过)
  • 自动SOAP信封构造和XML响应解析

______________________________________________________________________

先决条件

  • Node.js >=18(使用本地 fetch)
  • npm
  • MCP兼容客户端 --Cursor、Claude Desktop、Windsurf、Continue或任何支持MCP的代理/IDE
  • rs.ge服务用户帐户 (通过rs.ge电子申报门户创建的子用户)

______________________________________________________________________

快速开始

1.克隆并安装

git clone  rs-mcp
cd rs-mcp
npm install

2.配置环境

复制示例文件并填写您的凭据:

cp .env.example .env

编辑 .env:

RS_SU=your_username:your_tin
RS_SP=your_password
RS_BASE_URL=https://services.rs.ge/WayBillService/WayBillService.asmx
RS_INVOICE_URL=https://www.revenue.mof.ge/ntosservice/ntosservice.asmx
RS_USER_ID=0
RS_TAX_URL=https://services.rs.ge/taxservice/taxpayerservice.asmx

环境变量 了解每个变量的详细信息。

3.建造

npm run build

这将从以下位置编译TypeScript src/ 进入 dist/.

4.连接到您的MCP客户端

服务器使用 stdio传输 --MCP客户端生成进程并通过stdin/stdout进行通信。配置因客户端而异:

光标 --创建 .cursor/mcp.json 在项目根目录中:

{
  "mcpServers": {
    "rs-mcp": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/absolute/path/to/rs-mcp"
    }
  }
}

克劳德桌面版 --编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "rs-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/rs-mcp/dist/index.js"]
    }
  }
}

其他客户 --查阅客户的MCP文档。服务器入口点为 node dist/index.js 工作目录设置为项目根目录。

重要提示: 不运行 npm start 在正常使用过程中手动操作。您的MCP客户端生成服务器进程本身。更改后,使用重建 npm run build 并从客户端的设置中重新启动MCP服务器。

______________________________________________________________________

CLI快速入门

建成后,使用 rs-cli 二进制直接:

# Reference data (no auth needed for most)
node dist/cli.js reference waybill-types
node dist/cli.js reference units

# Waybill queries
node dist/cli.js waybill get 12345
node dist/cli.js waybill list --from 2025-01-01 --to 2025-03-31
node dist/cli.js waybill list --buyer-tin 123456789 --statuses 1

# Waybill actions (prompts [y/N] before executing)
node dist/cli.js waybill send 12345
node dist/cli.js waybill send 12345 --yes    # skip prompt

# Invoice
node dist/cli.js invoice seller-list --un-id 999 --from 2025-01-01 --to 2025-03-31
node dist/cli.js invoice get 456

# Taxpayer
node dist/cli.js taxpayer info 123456789
node dist/cli.js taxpayer dashboard

# Pretty-print JSON
node dist/cli.js waybill get 12345 --pretty

或者全局安装并使用 rs-cli 直接:

npm install -g .
rs-cli reference waybill-types

所有命令都输出JSON。使用 --pretty 强制格式化输出(在TTY上自动启用)。

全球旗帜:

标志简短描述
--yes-y跳过 [y/N] 破坏性操作提示
--pretty--强制打印漂亮的JSON

有关完整的命令参考,请参见 skills/rs-ge/references/.

______________________________________________________________________

克劳德技能

skills/rs-ge/ 文件夹是正确的 克劳德代理技能上传它来教Claude如何使用MCP工具和CLI。

在第.ai条中安装:

  1. 拉上拉链 skills/rs-ge/ 文件夹
  2. 首选 设置→ 能力→ 技能→ 上传技巧

在Claude代码中安装: 放置 skills/rs-ge/ Claude Code技能目录中的文件夹。

______________________________________________________________________

环境变量

变量必填描述示例
RS_SU服务用户名在 username:TIN 格式myuser:123456789
RS_SP服务密码MyPassword123
RS_BASE_URLWayBill SOAP端点(具有默认值)https://services.rs.ge/WayBillService/WayBillService.asmx
RS_INVOICE_URL发票/NTOS SOAP端点(具有默认值)https://www.revenue.mof.ge/ntosservice/ntosservice.asmx
RS_USER_ID您的电子申报用户ID(用于发票工具)。使用 ntos_get_un_id_from_user_id 找到它135184
RS_TAX_URLTaxPayer SOAP端点(具有默认值)https://services.rs.ge/taxservice/taxpayerservice.asmx

RS_SURS_SP 在所有三个服务中共享。运单和发票服务会自动将它们作为 su/spTaxPayer服务按方法显式传递它们(凭据参数名称因方法而异)。

______________________________________________________________________

项目结构

rs-mcp/
├── .env                        # Credentials (git-ignored)
├── .env.example                # Template for .env
├── package.json                # bin: { "rs-cli": "./dist/cli.js" }
├── tsconfig.json
├── skills/
│   └── rs-ge/                  # Claude Agent Skill (upload to Claude.ai / Claude Code)
│       ├── SKILL.md            # Skill definition with YAML frontmatter
│       └── references/         # Detailed command docs (loaded by Claude on demand)
│           ├── waybill.md
│           ├── invoice.md
│           └── taxpayer.md
└── src/
    ├── index.ts                # MCP entry point -- creates server, registers all tools
    ├── cli.ts                  # CLI entry point -- parseArgs router (rs-cli binary)
    ├── config.ts               # Loads environment variables
    ├── confirm.ts              # HITL pending-action store and execution logic
    ├── mcp-confirm.ts          # MCP wrapper: wraps queueAction with MCP content format
    ├── output.ts               # CLI JSON printer (pretty on TTY, compact when piped)
    ├── prompt.ts               # CLI readline [y/N] confirmation prompt
    ├── soap/
    │   ├── client.ts           # SOAP client for WayBill & Invoice (tempuri.org namespace)
    │   └── tax-client.ts       # SOAP client for TaxPayer (services.rs.ge namespace)
    ├── xml/
    │   ├── parser.ts           # XML-to-JSON parser (fast-xml-parser)
    │   └── waybill-builder.ts  # Structured JSON to Waybill XML converter
    ├── commands/               # CLI command handlers (one file per domain)
    │   ├── waybill.ts
    │   ├── invoice.ts
    │   ├── taxpayer.ts
    │   ├── reference.ts
    │   ├── helpers.ts
    │   └── confirm.ts
    ├── tools/                  # MCP tool registrations (one file per domain)
    │   ├── reference.ts
    │   ├── waybill.ts
    │   ├── waybill-write.ts
    │   ├── helpers.ts
    │   ├── invoice.ts
    │   ├── invoice-query.ts
    │   ├── invoice-desc.ts
    │   ├── invoice-helpers.ts
    │   ├── taxpayer.ts
    │   ├── taxpayer-reports.ts
    │   ├── taxpayer-auth.ts
    │   └── confirm.ts
    └── types/
        ├── reference.ts
        ├── waybill.ts
        ├── invoice.ts
        └── taxpayer.ts

______________________________________________________________________

建筑

flowchart LR
    Client["MCP Client\n(Cursor, Claude Desktop, etc.)"] -->|stdio| McpServer["MCP Server\n(index.ts)"]
    Terminal["Terminal / Script"] -->|argv| CLI["CLI\n(cli.ts → rs-cli)"]

    McpServer --> Tools["MCP Tools\n(tools/)"]
    CLI --> Commands["CLI Commands\n(commands/)"]

    subgraph soap_layer [Shared SOAP Layer]
        SoapClient["callSoap / callSoapXml\n(tempuri.org)"]
        TaxClient["callTaxSoap\n(services.rs.ge)"]
    end

    subgraph hitl_mcp [MCP HITL]
        Queue["queueAction → preview"]
        Execute["confirm_action → execute"]
    end

    Tools -->|read-only| SoapClient
    Tools -->|destructive| Queue
    Queue --> Execute
    Execute --> SoapClient

    Commands -->|read-only| SoapClient
    Commands -->|destructive: prompt y/N| SoapClient

    Tools -->|read-only| TaxClient
    Commands --> TaxClient

    SoapClient --> RS_WB["rs.ge\nWayBill API"]
    SoapClient --> RS_INV["rs.ge\nInvoice API"]
    TaxClient --> RS_TAX["rs.ge\nTaxPayer API"]

数据流——MCP:

  1. MCP客户端通过stdio发送工具调用
  2. 只读工具直接调用SOAP并返回JSON
  3. 破坏性工具排队操作(HITL),返回预览,等待 confirm_action

数据流-CLI:

  1. 用户运行 rs-cli [flags]
  2. 只读命令调用SOAP并打印JSON
  3. 破坏性命令提示 [y/N] (或跳过 --yes),然后直接调用SOAP

______________________________________________________________________

人在环(HITL)安全系统

所有32个破坏性工具(创建、更新、删除、发送、确认、拒绝)都使用两阶段确认系统来防止意外的数据更改。

运作原理

sequenceDiagram
    participant User
    participant AI as AI Assistant
    participant Tool as Destructive Tool
    participant Store as Pending Store
    participant Confirm as confirm_action
    participant SOAP as rs.ge API

    User->>AI: "Delete waybill #12345"
    AI->>Tool: del_waybill(waybill_id=12345)
    Tool->>Store: queueAction(...)
    Store-->>Tool: action_id + preview
    Tool-->>AI: Preview with action_id
    AI-->>User: "This will delete waybill #12345. Confirm?"
    User->>AI: "Yes, confirm"
    AI->>Confirm: confirm_action(action_id, "CONFIRM")
    Confirm->>Store: executeAction(action_id)
    Store->>SOAP: Actual SOAP call
    SOAP-->>Store: Result
    Store-->>Confirm: Result
    Confirm-->>AI: Result JSON
    AI-->>User: "Waybill #12345 deleted successfully"

关键规则

  • 未决行动 5分钟后过期
  • 人工智能 必须显示预览 发送给用户并等待明确批准
  • confirm_action 需要 confirmation_text: "CONFIRM" --人工智能无法自动确认
  • 使用 reject_action 取消排队的操作
  • 使用 list_pending_actions 查看所有等待确认的操作

HITL工具

工具说明
confirm_action执行排队的破坏性操作(需要明确的用户批准)
reject_action取消排队的破坏性操作
list_pending_actions列出所有剩余时间的待处理操作

______________________________________________________________________

工具参考

运单参考(5个工具)

获取运单字段的参考/查找数据。全部为只读,不需要参数。

工具说明
get_waybill_types列出所有运单类型
get_waybill_units列出所有测量单位
get_trans_types列出所有运输类型
get_akciz_codes列出所有消费税代码
get_wood_types列出所有木材类型

______________________________________________________________________

运单读取(6个工具)

查询和过滤运单。全部为只读。

工具说明关键参数
get_waybill按ID获取单个运单waybill_id
get_waybills列出带有过滤器的卖家运单types, buyer_tin, statuses, create_date_s/e, begin_date_s/e
get_buyer_waybills列出带过滤器的买家运单types, seller_tin, statuses, create_date_s/e, begin_date_s/e
get_waybills_v1按上次更新日期范围列出运单(最多3天)last_update_date_s, last_update_date_e, buyer_tin
get_waybills_ex带有确认过滤器的卖方运单get_waybills + is_confirmed (0/1/-1)
get_buyer_waybills_ex带确认过滤器的买方运单get_buyer_waybills + is_confirmed (0/1/-1)

运单状态: 0=已保存, 1=活动, 2=关闭, 8=发送给运输商, -1=已删除, -2=已取消

______________________________________________________________________

运单书写(9个工具)

创建、激活、关闭和管理运单。所有破坏性(HITL保护)。

工具说明关键参数
save_waybill创建或更新运单type, buyer_tin, buyer_name, start_address, end_address, driver_tin, driver_name, goods_list[], trans_id, begin_date, status
send_waybill激活已保存的运单waybill_id
send_waybill_vd使用特定的开始日期激活waybill_id, begin_date
confirm_waybill买方确认收到货物waybill_id
reject_waybill买方拒绝运单waybill_id
close_waybill关闭/填写运单waybill_id
close_waybill_vd以特定的交货日期结束waybill_id, delivery_date
del_waybill删除已保存(尚未激活)的运单waybill_id
ref_waybill取消当前有效的运单waybill_id

运单类型: 1=内部, 2=运输, 3=无运输, 4=分布, 5=返回, 6=子运单

货物清单项目字段: w_name, unit_id, quantity, price,并且可选 unit_txt, bar_code, a_id, vat_type, quantity_ext

______________________________________________________________________

运单助手(4个工具)

用于运单相关查找的实用工具。全部为只读。

工具说明关键参数
get_name_from_tin按TIN查找纳税人名称tin
get_error_codes列出所有运单错误代码_(无)_
chek_service_user验证服务用户凭据_(无)_
get_service_users列出该帐户的所有服务用户_(无)_

______________________________________________________________________

发票CRUD和状态(12个工具)

创建、管理和控制发票生命周期。8破坏性+4只读。

工具类型描述关键参数
save_invoice保存/创建税务发票invois_id (0=新), operation_date, seller_un_id, buyer_un_id
save_invoice_n保存/创建注释相同+ note
save_invoice_a保存/创建预付款/补偿发票save_invoice
get_invoice读取按ID获取单个发票invois_id
change_invoice_status写入更改发票状态inv_id, status
acsept_invoice_status接受/确认发票inv_id, status
ref_invoice_status拒绝发票并说明理由inv_id, ref_text
k_invoice创建更正发票inv_id, k_type (1-4)
get_makoreqtirebeli读取获取更正发票IDinv_id
add_inv_to_decl填写将发票附在增值税申报单上seq_num, inv_id
get_seq_nums读取按期间获取申报编号sag_periodi (例如“202404”)
get_decl_date阅读获取申报日期decl_num, un_id

发票状态: -1=已删除, 0=已保存, 1=已发送, 2=确认, 3=校正后的初级, 4=校正, 5=已发送校正, 6=已取消发送, 7=取消确认, 8=已确认更正

校正类型(k_type): 1=取消操作, 2=更改操作类型, 3=价格/补偿变化, 4=退货

______________________________________________________________________

发票查询(9个工具)

搜索并列出发票。全部为只读。

工具说明关键参数
get_seller_invoices列出卖方发票un_id,日期筛选器(s_dt/e_dt, op_s_dt/op_e_dt), invoice_no, sa_ident_no
get_buyer_invoices列出买方发票与上述相同
get_user_invoices按上次更新日期列出(最多3天)un_id, last_update_date_s/e
get_seller_invoices_r卖方发票需要反应un_id, status
get_buyer_invoices_r买方发票需要反应un_id, status
get_invoice_numbers自动完成发票号码un_id, v_invoice_n, v_count
get_invoice_tins自动完成买方/卖方TINun_id, v_invoice_t, v_count
get_invoice_d自动完成申报编号un_id, v_invoice_d, v_count
print_invoices获取发票数据以供打印inv_id

______________________________________________________________________

发票商品和链接(6个工具)

管理发票上的货物行项目和运单链接。4个破坏性+2个只读。

工具类型描述关键参数
save_invoice_desc写入保存商品/服务行项目invois_id, goods, g_unit, g_number, full_amount, drg_amount
get_invoice_desc阅读获取发票的所有行项目invois_id
delete_invoice_desc写入删除行项目id, inv_id
get_ntos_invoices_inv_nos阅读获取与发票关联的运单invois_id
save_ntos_invoices_inv_nos将运单链接到发票invois_id, overhead_no, overhead_dt
delete_ntos_invoices_inv_nos取消运单与发票的链接id, inv_id

增值税金额(drg_amount): 正=正常增值税, 0 =零利率, -1 =免税

______________________________________________________________________

发票助手(13个工具)

查询、消费税代码、服务用户和发票请求。3破坏性+10只读。

工具类型描述关键参数
ntos_get_un_id_from_tin读取从TIN获取唯一IDtin
ntos_get_tin_from_un_id读取从唯一ID获取TINun_id
ntos_get_org_name_from_un_id读取从唯一ID获取组织名称un_id
ntos_get_un_id_from_user_id读取从电子申报用户ID中获取唯一ID_(无)_
ntos_get_akciz阅读搜索消费税代码s_text
ntos_chek读取验证NTOS服务凭据_(无)_
ntos_get_ser_users阅读列出NTOS服务用户user_name, user_password
save_invoice_request创建发票开具提醒inv_id, bayer_un_id, seller_un_id, dt
del_invoice_request删除发票提醒inv_id, bayer_un_id
get_invoice_request阅读获取提醒详细信息inv_id
acsept_invoice_request_status将发票请求转发给卖家id, seller_un_id
get_requested_invoices阅读列出卖家收到的请求seller_un_id
get_invoice_requests阅读列出买家发送的请求bayer_un_id

______________________________________________________________________

纳税人信息(8个工具)

查询纳税人信息和查找。全部为只读。

工具说明关键参数
tax_get_tp_info_public公共纳税人信息(姓名、法律形式、身份、增值税、地址)tp_code
tax_get_tp_contacts纳税人联系方式(电话、电子邮件)tp_code
tax_get_payer_info全面的付款人信息(状态、申报、运单、现金箱)said_code
tax_get_legal_person_info法人实体详细信息(名称、形式、地址、负责人)said_code
tax_get_person_income_data个人收入数据(年/月金额)personal_number
tax_get_payer_nace_info纳税人的NACE活动代码said_code
tax_get_income_amount一年的联合/总收入金额year
tax_get_payer_info_gitaGITA付款人信息和财务数据payer_code, start_date, end_date
注: 某些纳税人方法可能需要对您的子用户帐户进行额外的服务激活或两步短信验证。返回“授权错误”的方法可能需要通过rs.ge门户激活。

______________________________________________________________________

纳税人报告(8个工具)

财务报告和海关数据。7只读+1破坏性。

工具类型描述关键参数
tax_get_z_report_sum阅读Z报告收银机总计start_date, end_date
tax_get_z_report_details阅读Z报告每个设备的详细信息start_date, end_date
tax_get_waybill_month_amount阅读每月运单金额said_code, start_date, end_date
tax_get_quick_cash_info阅读财务仪表板概述_(无)_
tax_get_comp_act_old阅读比较行为(旧格式)said_code, start_date, end_date
tax_get_comp_act_new阅读比较行为(新格式)said_code, start_date, end_date
tax_get_cargo200_info阅读Cargo 200海关信息start_date, end_date
tax_customs_warehouse_exit登记海关仓库出口declaration_number, customs_code, car_number

______________________________________________________________________

纳税人认证(4个工具)

基于短信的两步身份验证,用于敏感的纳税人操作。2个只读+2个破坏性。

工具类型描述关键参数
tax_tp_sms_verification读取验证付款人信息验证的短信代码said_code, sms_code
tax_gita_sms_verification读取验证GITA付款人信息认证的短信代码payer_code, sms_code
tax_payer_info_activation写入激活/停用付款人信息访问said_code, status (1=激活,0=停用)
tax_gita_payer_activation写入激活GITA付款人信息访问payer_code, start_date, status

______________________________________________________________________

SOAP服务参考

服务器与三个rs.ge SOAP端点通信:

运单服务

  • 端点: https://services.rs.ge/WayBillService/WayBillService.asmx
  • 命名空间: http://tempuri.org/
  • 认证: su (用户名:TIN)和 sp (密码)自动注入到每个请求中
  • 客户: src/soap/client.ts -- callSoap()callSoapXml()

发票服务(NTOS)

  • 端点: https://www.revenue.mof.ge/ntosservice/ntosservice.asmx
  • 命名空间: http://tempuri.org/
  • 认证: 相同 su/sp 证书,加 user_id 注射用于大多数方法
  • 客户: 相同 callSoap() 定制 baseUrl

纳税人服务

  • 端点: https://services.rs.ge/taxservice/taxpayerservice.asmx
  • 命名空间: services.rs.ge
  • 认证: 每个方法显式传递的凭据(参数名称各不相同: UserName, userName, inUserName, user)
  • 客户: src/soap/tax-client.ts -- callTaxSoap()

______________________________________________________________________

发展

构建

npm run build    # Compiles TypeScript to dist/

# MCP server (normally spawned by your MCP client, not run manually)
npm start                      # node dist/index.js

# CLI
node dist/cli.js               # show usage
node dist/cli.js reference waybill-types
node dist/cli.js waybill list --from 2025-01-01 --to 2025-03-31

技术栈

  • TypeScript --严格模式,ES2022目标,Node16模块
  • ES模块 ("type": "module")
  • @模型上下文协议/sdk --MCP服务器框架
  • 动物圈 --MCP输入模式验证
  • 快速xml解析器 --XML响应解析
  • Dotenv。 --环境变量加载
  • 节点:util parseArgs --CLI参数解析(无外部框架)

添加新的MCP工具

  1. 添加到中的现有文件 src/tools/ (或创建一个新的)
  2. 使用 server.tool(name, description, schema, annotations, handler)
  3. 注释:
   const READONLY = { readOnlyHint: true, destructiveHint: false } as const;
   const DESTRUCTIVE = { readOnlyHint: false, destructiveHint: true } as const;
  1. 破坏性工具:使用 mcpQueueAction()../mcp-confirm.js 而不是直接调用SOAP
  2. 出口 register*Tools(server: McpServer) 并把它叫进来 src/index.ts

添加新的CLI命令

  1. 添加到匹配文件中 src/commands/
  2. 只读:直接调用SOAP output(result)
  3. 破坏性:提示 confirm()../prompt.js,或检查 flags.yes
  4. 注册任何新 --flag 名字在 parseArgs 选项块 src/cli.ts

添加新的SOAP服务

  1. 将端点添加到 src/config.ts.env.example
  2. 在中创建SOAP客户端 src/soap/ 如果命名空间不同
  3. 在中添加类型接口 src/types/
  4. 在中添加MCP工具 src/tools/ 和CLI命令 src/commands/

______________________________________________________________________

许可证

ISC

目录标签

目录标签

发票管理TypeScriptClaude税务服务本地部署API工具SOAP接口运单管理

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

87

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP