项目简介

Adfin MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在桥接 Claude Desktop 等 LLM 客户端与 Adfin 服务以及本地文件系统。它允许用户通过自然语言指令,让 Claude 调用 Adfin 的各项 API 功能(如发票管理、客户信息查询等),并访问本地文件系统,极大地扩展了 Claude 的应用场景。

主要功能点

  • Adfin API 集成: 通过工具 (Tools) 的形式,将 Adfin 平台的各种 API 接口(例如发票上传、获取客户信息等)暴露给 Claude Desktop,用户可以直接通过自然语言指令调用这些 API,实现与 Adfin 系统的交互。API 工具是动态加载的,每次启动服务器都会拉取最新的 Adfin API 文档并注册为工具。
  • 本地文件系统访问: 提供了一系列工具,允许 Claude Desktop 访问和操作运行服务器主机的本地文件系统,例如获取当前工作目录、列出目录文件、搜索文件等。
  • 可扩展的工具注册: 服务器架构允许方便地添加和扩展新的工具,无论是 Adfin API 还是其他外部功能,都可以通过定义新的工具函数并注册到 MCP 服务器中。
  • 基于 FastMCP 框架: 使用 'fastmcp' 库构建,简化了 MCP 服务器的开发和部署。
  • 标准 MCP 协议: 遵循 MCP 协议规范,可以与任何兼容 MCP 协议的客户端进行通信,例如 Claude Desktop。

安装步骤

  1. 安装 Python 3.10 或更高版本: 确保你的系统上安装了 Python 3.10 或更高版本。
  2. 安装 uv: 'uv' 是一个快速的 Python 包安装和解析器。根据你的操作系统,运行以下命令安装 'uv':
    • MacOS/Linux: 'curl -LsSf https://astral.sh/uv/install.sh | sh'
    • Windows: 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"'
  3. 配置 Claude Desktop:
    • 下载并安装 Claude Desktop
    • 启动 Claude Desktop,进入 "Settings" (设置) -> "Developer" (开发者) -> "Edit Config" (编辑配置)。
    • 修改 'claude_desktop_config.json' 文件,添加或修改 'mcpServers' 配置。

服务器配置

在 'claude_desktop_config.json' 文件中,你需要配置两个 MCP 服务器:'Adfin' 和 'filesystem'。以下是配置示例,你需要根据你的实际情况修改占位符:

{
  "mcpServers": {
    "Adfin": {
      "command": "<home_path>/.local/bin/uv",
      "args": [
        "--directory",
        "<absolute_path_to_adfin_mcp_folder>",
        "run",
        "main_adfin_mcp.py"
      ],
      "env": {
        "ADFIN_EMAIL": "<your_adfin_email>",  // 替换为你的 Adfin 邮箱
        "ADFIN_PASSWORD": "<your_adfin_password>" // 替换为你的 Adfin 密码
      }
    },
    "filesystem": {
      "command": "<home_path>/.local/bin/uv",
      "args": [
        "--directory",
        "<absolute_path_to_adfin_mcp_folder>",
        "run",
        "filesystem.py"
      ]
    }
  }
}

配置参数说明:

  • '"Adfin"' 和 '"filesystem"': 服务器名称,在 Claude Desktop 中用于标识不同的 MCP 服务器。
  • '"command"': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。 请确保 '<home_path>/.local/bin/uv' 是 'uv' 的实际安装路径。
  • '"args"': 传递给 'uv run' 命令的参数列表。
    • '"--directory"': 指定 MCP 服务器代码所在的目录,请将 '<absolute_path_to_adfin_mcp_folder>' 替换为 'mcp-server-adfin' 仓库在你的电脑上的绝对路径。
    • '"run"': 'uv' 命令的子命令,用于运行 Python 脚本。
    • '"main_adfin_mcp.py"' (对于 "Adfin" 服务器) 或 '"filesystem.py"' (对于 "filesystem" 服务器): 要运行的 Python 脚本文件名。
  • '"env"' (仅用于 "Adfin" 服务器): 设置环境变量。
    • '"ADFIN_EMAIL"': 你的 Adfin 账户邮箱。
    • '"ADFIN_PASSWORD"': 你的 Adfin 账户密码。 请注意安全保管你的密码,避免泄露。

重要提示:

  • '<home_path>' 通常指用户的主目录,例如 Linux/MacOS 下的 '/home/用户名' 或 Windows 下的 'C:\Users\用户名'。
  • '<absolute_path_to_adfin_mcp_folder>' 需要替换为 'mcp-server-adfin' 仓库在你电脑上的完整路径,例如 '/Users/yourname/Documents/mcp-server-adfin' 或 'C:\Users\yourname\Documents\mcp-server-adfin'。
  • 首次启动 Claude Desktop 并加载 Adfin 工具时,可能需要 10-20 秒,因为需要安装依赖包和下载 Adfin API 文档。

基本使用方法

  1. 启动 Claude Desktop: 重新启动 Claude Desktop 以加载配置的 MCP 服务器。
  2. 与 Claude 对话: 现在你可以通过自然语言与 Claude 互动,调用 Adfin 服务和文件系统工具。

使用示例 (来自 README.md):

  • 查询信用控制状态 (Adfin 工具):
    Give me a credit control status check.
  • 创建新发票 (Adfin 工具):
    Create a new invoice for 60 GBP for Abc Def that is due in a week. His email is [email protected].
  • 上传本地发票 (文件系统 + Adfin 工具):
    Upload all pdf invoices from the invoices folder from my Desktop.

通过以上配置和指令,你就可以利用 Adfin MCP 服务器,让 Claude Desktop 具备与 Adfin 系统交互和访问本地文件系统的能力。 请参考仓库中的代码和示例,探索更多功能和用法。

信息

分类

桌面与硬件