MSME企业管理服务器

Vyapar MCP Server是一个为MSME(微型、小型和中型企业)提供的AI驱动业务管理服务器,提供库存管理、发票生成、支付处理、客户管理和分析报告等36种工具。

  • by AbnormalPilot
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AbnormalPilot/vyapar-mcp

使用说明

Vyapar MCP服务器

Vyapar MSME业务管理应用程序的模型上下文协议(MCP)服务器。该服务器提供36个基于人工智能的工具,用于管理库存、发票、付款、客户等。

实时服务器

生产URL: https://mcp.felon.in

特性

库存管理

  • 获取、创建和更新产品
  • 库存管理(加、减、置)
  • 具有阈值配置的低库存警报
  • 条形码/HSN码支持
  • 产品的印地语名称支持

发票生成

  • 创建发票、报价单、形式发票、交货时间表
  • 自动GST计算(CGST/SGST/IGST)
  • 使用UPI二维码生成PDF
  • 发票号码自动生成
  • 多付款状态跟踪

UPI付款

  • 生成UPI支付二维码(符合NPCI标准)
  • 解析UPI QR字符串
  • 验证UPI ID
  • 支持所有主要的UPI应用程序

WhatsApp集成

  • 通过WhatsApp共享发票
  • 带有UPI深度链接的付款提醒
  • 订单确认
  • 向供应商发出低库存警报

分析和报告

  • 每日业务报告
  • 销售分析(周/月/年)
  • 按类型分列的付款明细
  • 顶级产品分析
  • 未付款项跟踪

商品及服务税计算

  • 计算CGST/SGST/IGST
  • 反向商品及服务税计算(从含税总额开始)
  • 按类别划分的商品及服务税税率建议
  • GSTIN验证与状态提取

客户与供应商管理

  • 客户CRUD操作
  • 未清余额跟踪
  • 信用额度管理
  • 有付款条件的供应商管理

安装

npm install
npm run build

配置

创建 .env 文件基于 .env.example:

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=your-service-key
PORT=3000
MCP_HTTP_MODE=true

跑步

开发(STDIO模式)

npm run dev

生产(HTTP模式)

npm start

或者使用显式HTTP模式:

MCP_HTTP_MODE=true npm start

部署

此服务器已配置为使用Nixpack进行部署。只需推送到您的托管提供商(Railway、Render等),它就会自动构建和部署。

这 nixpacks.toml 该文件包括PDF生成和图像处理所需的所有系统依赖项。

API端点(HTTP模式)

方法 端点 身份验证 描述
得到 / 否 具有服务器状态的登录页面
得到 /health 否 健康检查
得到 /mcp/tools 否 列出所有可用工具
职位 /mcp/tools/call 是 调用工具
得到 /mcp/me 是 获取当前用户信息

认证

所有经过身份验证的端点都需要在Authorization标头中使用有效的Supabase JWT令牌:

Authorization: Bearer <supabase_access_token>

完整工具参考(36个工具)

库存工具(5)

get_products

获取带有筛选选项的产品/库存项目列表。

参数 类型 必填 说明
user_id string 是 用户id
category string 否 按类别筛选
search string 否 搜索词
low_stock_only boolean 否 仅显示低库存商品
limit number No 最大结果(默认值:50)

get_product

通过ID获取特定产品的详细信息。

参数 类型 必填 说明
user_id string 是 用户id
product_id string 是 产品id

create_product

将新产品添加到库存中。

参数 类型 必填 说明
user_id string 是 用户id
name string Yes 产品名称
hindi_name string 否 印地语名称
category string 是 产品类别
价格 数量 是 售价
cost_price 数量 否 成本价
数量 数量 是 当前库存
unit string No 单位(默认:个)
low_stock_threshold number No 警报阈值(默认值:10)
条形码 字符串 否 条形码编号
hsn_code 字符串 否 hsn/SAC代码
gst_rate number No 商品及服务税税率(默认值:18)

update_stock

更新产品的库存数量。

参数 类型 必填 说明
user_id string 是 用户id
product_id string 是 产品id
数量 数字 是 要加/减/设置的金额
操作 字符串 是 “加”、“减”或“设置”

get_inventory_alerts

获取库存不足或缺货的产品列表。

参数 类型 必填 说明
user_id string 是 用户id

客户工具(4)

get_customers

获取具有搜索功能的客户列表。

参数 类型 必填 说明
user_id string 是 用户id
search string 否 按姓名或电话搜索
limit number No 最大结果(默认值:50)

get_customer

获取特定客户的详细信息。

参数 类型 必填 说明
user_id string 是 用户id
customer_id string 是 客户id

create_customer

添加新客户。

参数 类型 必填 说明
user_id string 是 用户id
name string Yes 客户名称
phone string Yes 电话号码
email string 否 电子邮件地址
地址 字符串 否 地址
gst_number string No 客户GSTIN
credit_limit number No 信用额度金额

update_customer_balance

更新客户的未清余额。

参数 类型 必填 说明
user_id string 是 用户id
customer_id string 是 客户id
金额 数字 是 要加/减的金额
操作 字符串 是 “加”或“减”

交易工具(2)

get_transactions

使用筛选器获取交易列表。

参数 类型 必填 说明
user_id string 是 用户id
start_date string 否 开始日期(ISO格式)
end_date string 否 结束日期(ISO格式)
payment_type string No 现金/upi/信用卡/银行转账/支票
status string No 待定/已完成/失败/已退款
customer_id string 否 按客户筛选
limit number No 最大结果(默认值:50)

create_transaction

记录新的付款/交易。

参数 类型 必填 说明
user_id string 是 用户id
金额 数字 是 交易金额
payment_type string Yes 现金/upi/信用卡/银行转账/支票
customer_id 字符串 否 客户id
invoice_id 字符串 否 相关发票id
payment_status string No 待定/已完成/失败(默认:已完成)
upi_transaction_id 字符串 否 upi参考id
备注 字符串 否 交易备注

发票工具(5)

get_invoices

使用筛选器获取发票/报价列表。

参数 类型 必填 说明
user_id string 是 用户id
状态 字符串 否 草稿/已发送/已支付/部分/逾期/已取消
type string No 发票/报价单/形式/交货_查兰
customer_id string 否 按客户筛选
start_date string 否 开始日期
end_date string 否 结束日期
limit number No 最大结果(默认值:50)

get_invoice

获取特定发票的详细信息。

参数 类型 必填 说明
user_id string 是 用户id
invoice_id string 是 发票id

create_invoice

使用行项目创建新的发票或报价单。

参数 类型 必填 说明
user_id string 是 用户id
items array Yes 行项目数组(见下文)
customer_id 字符串 否 客户id
invoice_type string No 发票/报价单/形式/交货_challan
折扣_金额 数量 否 折扣金额
discount_type 字符串 否 百分比/固定
due_date string 否 付款到期日
备注 字符串 否 发票备注
terms string 否 条款和条件

行项目架构:

字段 类型 必填 描述
name string Yes 项目名称
数量 数字 是 数量
unit_price 数量 是 单位价格
product_id string 否 链接到产品
description string 否 项目描述
unit string No 单位(默认:个)
折扣 数量 否 商品折扣%
gst_rate number No 商品及服务税税率(默认值:18)

update_invoice_status

更新发票的状态。

参数 类型 必填 说明
user_id string 是 用户id
invoice_id string 是 发票id
状态 字符串 是 草稿/已发送/已支付/部分/逾期/已取消

generate_invoice_pdf

为发票生成PDF。

参数 类型 必填 说明
user_id string 是 用户id
invoice_id string 是 发票id
include_qr boolean 否 包含UPI二维码(默认值:true)

退货: Base64编码的PDF、文件名和内容类型。


UPI/支付工具(3)

generate_upi_qr

生成用于接收付款的UPI支付二维码。

参数 类型 必填 说明
payee_upi_id 字符串 是 upi id(例如。,shop@upi)
收款人名称 字符串 是 收款人/店铺名称
金额 数字 是 要接收的金额
transaction_note string 否 付款说明
transaction_ref string No 引用(发票号)

退货: QR图像为base64、UPI深度链接和UPI字符串。

parse_upi_qr

解析UPI二维码字符串并提取付款详细信息。

参数 类型 必填 说明
qr_string string 是 UPI qr string(upi://pay?...)

退货: 解析的详细信息(收款人UPI ID、姓名、金额等)

validate_upi_id

验证UPI ID的格式是否正确。

参数 类型 必填 说明
upi_d string 是 要验证的upi id

退货: UPI ID和验证结果。


WhatsApp工具(4)

share_invoice_whatsapp

准备发票以便通过WhatsApp共享。

参数 类型 必填 说明
user_id string 是 用户id
invoice_id string 是 发票id
phone string Yes 客户电话号码
include_image boolean 否 包括发票图像(默认值:true)

退货: 格式化消息和WhatsApp深度链接。

send_payment_reminder

为WhatsApp准备付款提醒消息。

参数 类型 必填 说明
customer_name string 是 客户名称
发票编号 字符串 是 发票编号
金额 数字 是 未付金额
phone string Yes 客户电话
due_date string 否 付款到期日
upi_d string 否 您的付款upi id

send_order_confirmation

为WhatsApp准备订单确认消息。

参数 类型 必填 说明
customer_name string 是 客户名称
order_number string Yes 订单/发票号
items 数组 是 项目数组
总数 数量 是 订单总数
phone string Yes 客户电话
delivery_date string 否 预计交货日期

send_low_stock_alert

通过WhatsApp为供应商准备一条低库存再订购消息。

参数 类型 必填 说明
supplier_name string 是 供应商名称
items array Yes 要重新排序的项目数组
phone string Yes 供应商电话

GST工具(4)

calculate_gst

计算给定金额的商品及服务税(CGST/SGST或IGST)。

参数 类型 必填 说明
base_amount number Yes 消费税前金额
gst税率 数字 是 gst税率(例如18)
is_interstate boolean 否 州际交易?(默认值:false)

退货: 基本金额、商品及服务税明细(CGST/SGST或IGST)、总额和格式化文本。

calculate_gst_inclusive

根据含GST的总额计算基础金额。

参数 类型 必填 说明
总计_金额 数量 是 总计(含消费税)
gst_rate 数字 是 gst税率

退货: 基本金额、商品及服务税金额和总额。

suggest_gst_rate

为某一产品类别建议适当的商品及服务税税率。

参数 类型 必填 说明
category string 是 产品类别

退货: 类别和建议的商品及服务税税率。

validate_gstin

验证GSTIN格式并提取状态信息。

参数 类型 必填 说明
gstin string Yes 要验证的gstin

退货: GSTIN、有效性状态和状态(如果有效)。


分析工具(4)

get_daily_report

获取每日业务报告,包括销售、交易、费用和顶级产品。

参数 类型 必填 说明
user_id string 是 用户id
date string Yes date(YYYY-MM-DD格式)

退货: 收入、订单数、支出、顶级产品、付款明细。

get_sales_analytics

获取一段时间的销售分析。

参数 类型 必填 说明
user_id string 是 用户id
period string Yes “周”、“月”或“年”

退货: 收入趋势、付款明细、增长百分比、顶级产品。

get_business_summary

获取整体业务摘要。

参数 类型 必填 说明
user_id string 是 用户id

退货: 总产品、客户、收入、交易、发票、未付金额、库存价值。

get_outstanding_payments

获取未付款客户列表。

参数 类型 必填 说明
user_id string 是 用户id

退货: 按未清余额排序的客户数组。


费用工具(2)

get_expenses

获取业务费用清单。

参数 类型 必填 说明
user_id string 是 用户id
category string 否 按类别筛选
start_date string 否 开始日期
end_date string 否 结束日期
limit number No 最大结果(默认值:50)

create_expense

记录新的业务支出。

参数 类型 必填 说明
user_id string 是 用户id
category string Yes 支出类别
金额 数字 是 费用金额
description 字符串 是 描述
payment_type string Yes 现金/upi/银行转账/支票
日期 字符串 是 日期(YYYY-MM-DD)

供应商工具(2)

get_suppliers

获取供应商列表。

参数 类型 必填 说明
user_id string 是 用户id
search string 否 搜索词
limit number No 最大结果(默认值:50)

create_supplier

添加新供应商。

参数 类型 必填 说明
user_id string 是 用户id
name string Yes 供应商名称
phone string Yes 电话号码
company_name string 否 公司名称
email string 否 电子邮件地址
地址 字符串 否 地址
gst_number string No 供应商GSTIN
payment_terms string 否 付款条件

用户工具(2)

get_user

获取用户/店铺资料详细信息。

参数 类型 必填 说明
user_id string 是 用户id

update_user

更新用户/店铺资料。

参数 类型 必填 说明
user_id string 是 用户id
name string 否 所有者名称
shop_name string 否 店铺/企业名称
upi_d string 否 付款的upi id
phone string 否 电话号码
email string 否 电子邮件地址
地址 字符串 否 营业地址
gst_number string 否 GSTIN
language string 否 “en”、“hi”或“中式英语”

Supabase架构

服务器需要Supabase中的以下表:

表 说明
users 用户/店铺资料
products 库存物品
customers 客户记录
transactions 付款记录
invoices 发票/报价记录
expenses 业务费用
suppliers 供应商记录

请参阅 types/index.ts 文件以获取详细的模式定义。

示例用法

生成UPI二维码

curl -X POST https://mcp.felon.in/mcp/tools/call \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SUPABASE_TOKEN" \
  -d '{
    "name": "generate_upi_qr",
    "arguments": {
      "payee_upi_id": "myshop@upi",
      "payee_name": "My Shop",
      "amount": 500,
      "transaction_note": "Invoice #1234"
    }
  }'

创建发票

curl -X POST https://mcp.felon.in/mcp/tools/call \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SUPABASE_TOKEN" \
  -d '{
    "name": "create_invoice",
    "arguments": {
      "user_id": "your-user-id",
      "items": [
        {
          "name": "Product A",
          "quantity": 2,
          "unit_price": 500,
          "gst_rate": 18
        }
      ],
      "customer_id": "customer-id"
    }
  }'

获取每日报告

curl -X POST https://mcp.felon.in/mcp/tools/call \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SUPABASE_TOKEN" \
  -d '{
    "name": "get_daily_report",
    "arguments": {
      "user_id": "your-user-id",
      "date": "2024-01-26"
    }
  }'

安全

  • 所有工具调用都需要Supabase JWT身份验证
  • 用户只能访问自己的数据(强制服务器端)
  • 实行费率限制以防止滥用
  • CORS已为移动应用程序源配置

许可证

麻省理工学院