发票管理协议服务器

一个用于与Invoice Shelf集成的模型上下文协议(MCP)服务器,允许LLMs(如Claude、ChatGPT)管理客户、发票和付款。

  • by Hsidhu
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Hsidhu/invoiceShelfMCP

使用说明

发票架MCP服务器

用于集成的模型上下文协议(MCP)服务器 发票架此服务器允许LLM(如Claude、ChatGPT)与您的发票架实例交互,以管理客户、发票和付款。

查看官方 发票货架存储库.

特性

  • 客户管理:列出并搜索客户。
  • 估算管理:
    • 使用筛选(状态、搜索、分页)列出估计值。
    • 获取详细的估算信息。
    • 创建新的估计值。
    • 更新现有估计。
    • 删除估算。
    • 通过电子邮件发送估算。
    • 将估算转换为发票。
  • 发票管理:
    • 列出带有过滤功能(状态、搜索、分页)的发票。
    • 获取详细的发票信息。
    • 创建新发票。
    • 更新现有发票。
    • 删除发票。
    • 通过电子邮件发送发票。

先决条件

  • Node.js(v18或更高版本)
  • 发票架实例
  • 来自发票架的API令牌

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd invoice-shelf-mcp
    
  2. 安装依赖项:

    npm install
    # or
    pnpm install
    
  3. 构建项目:

    npm run build
    

配置

创建一个 .env 根目录中的文件(从以下位置复制 .env.example 如果可用):

INVOICE_SHELF_BASE_URL=https://your-invoice-shelf-domain.com/api/v1
INVOICE_SHELF_API_TOKEN=your_api_token_here

重要:The INVOICE_SHELF_API_TOKEN 在 .env 文件主要用于 测试脚本 以及地方发展。当将此服务器与MCP客户端(如Claude Desktop或AnythingLLM)一起使用时,应直接在 MCP客户端的配置文件 (参见 连接到MCP客户端).MCP客户端的配置将优先。

生成API令牌

您可以使用提供的助手脚本轻松地生成API令牌。

  1. 更新您的 .env 使用您的发票架凭据进行归档:

    INVOICE_SHELF_USERNAME=your_email@example.com
    INVOICE_SHELF_PASSWORD=your_password
    INVOICE_SHELF_DEVICE_NAME=mcp-server
    
  2. 运行脚本:

    sh test/api-curl.sh
    
  3. 从响应中复制令牌并更新 INVOICE_SHELF_API_TOKEN 在你的 .env 文件。

备注:如果您使用的是具有SSL问题的自签名证书或本地开发环境,则可能需要设置 NODE_TLS_REJECT_UNAUTHORIZED=0 在你的环境中,但这是 不建议用于生产.

用法

运行服务器

npm start

连接到MCP客户端

将服务器配置添加到您的MCP客户端(例如,Claude Desktop、AnythingLLM):

{
  "mcpServers": {
    "invoice-shelf": {
      "command": "node",
      "args": ["/path/to/invoice-shelf-mcp/dist/index.js"],
      "env": {
        "INVOICE_SHELF_BASE_URL": "https://your-invoice-shelf-domain.com/api/v1",
        "INVOICE_SHELF_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

可用工具

工具名称 描述
get_invoices 列出带有分页和过滤功能的发票
get_invoice 获取特定发票的详细信息。
create_invoice 创建新发票。
update_invoice 更新现有发票。
delete_invoice 删除发票。
send_invoice 通过电子邮件向客户发送发票。
get_estimates 使用分页和筛选列出估计值
get_estimate 获取具体估算的详细信息。
create_estimate 创建新的估算。
update_estimate 更新现有估算。
delete_estimate 删除估算。
send_estimate 通过电子邮件向客户发送估价。
convert_estimate_to_invoice 将估价转换为发票。
get_customers 列出并搜索客户。
get_dashboard_stats 获取仪表板概述,包括客户总数、发票总数和最近的活动。
test_connection 验证与发票架API的连接。

发展

  • 构建: npm run build
  • 观看模式: npm run dev
  • 日志:检查 logs/ 详细请求/响应日志的目录。

致谢

特别感谢 发票架 为构建一个令人惊叹的开源发票解决方案做出了贡献。