使用说明

项目简介

MCPServerCSharp 是一个使用 C# (.NET 9) 开发的 MCP (Model Context Protocol) 服务器,专注于为 LLM 客户端提供 Firebird 数据库的访问能力。它通过 MCP 协议将 Firebird 数据库的查询功能以工具的形式暴露出来,使得 LLM 应用可以通过标准化的方式与 Firebird 数据库进行交互。

主要功能点

  • Firebird 数据库集成: 支持连接和操作 Firebird 数据库。
  • ListTable 工具: 提供 'ListTable' 工具,允许 LLM 客户端查询 Firebird 数据库中指定表的数据,并支持条件过滤和记录数量限制。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 协议的 LLM 客户端集成。
  • 可配置的数据库连接: 数据库连接信息通过 'appsettings.json' 文件配置,方便用户根据实际环境修改。
  • Stdio 传输协议: 使用标准的 Stdio 作为 MCP 服务器的传输协议,易于部署和运行。

安装步骤

  1. 安装 .NET 9 SDK: 确保您的开发环境已安装 .NET 9 SDK。您可以从 https://dotnet.microsoft.com/download/dotnet/9.0 下载并安装。
  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/BoscoBecker/MCPServerCSharp 下载源代码。
  3. 配置数据库连接:
    • 在项目根目录下找到 'appsettings.json' 文件。
    • 修改 'ConnectionStrings' 节点下的 'FirebirdDb' 连接字符串,将其中的数据库路径、用户名和密码替换为您实际的 Firebird 数据库信息。例如:
      {
        "ConnectionStrings": {
          "FirebirdDb": "Database=C:\\yourdata.fdb;User=SYSDBA;Password=masterkey;Dialect=3;Charset=NONE;"
        }
      }
      注意: 请务必将 'Database' 的值修改为您的 Firebird 数据库文件('.fdb' 文件)的实际路径。

服务器配置 (MCP 客户端配置)

对于 MCP 客户端,您需要配置以下信息以连接到 MCPServerCSharp 服务器:

{
  "serverName": "MCPServerCSharp-Firebird",
  "command": "npx",
  "args": [
    "@modelcontextprotocol/inspector",
    "dotnet",
    "run"
  ],
  "description": "MCP Server in C# for Firebird DB access"
}

配置参数说明:

  • 'serverName': 服务器的名称,您可以自定义。
  • 'command': 运行服务器的命令,这里使用 'npx'。 'npx @modelcontextprotocol/inspector' 会启动 MCP inspector 客户端,并通过 'dotnet run' 命令启动 C# MCP 服务器。
  • 'args': 传递给 'command' 的参数列表。
    • '"@modelcontextprotocol/inspector"': 指定运行 MCP inspector 客户端。
    • '"dotnet"': 指定使用 dotnet CLI。
    • '"run"': dotnet CLI 的 'run' 命令,用于编译并运行 C# 项目。
  • 'description': 服务器的描述信息,方便您在 MCP 客户端中识别服务器。

重要: 确保您的系统已安装 Node.js 和 npm (或 yarn),以便使用 'npx' 命令。 并且安装了 .NET 9 SDK 以运行 'dotnet run' 命令。

基本使用方法

  1. 启动 MCP 服务器: 在 MCPServerCSharp 项目根目录下,打开终端或命令提示符,运行 'npx @modelcontextprotocol/inspector dotnet run' 命令启动 MCP 服务器。
  2. 在 MCP 客户端中使用工具: 当 MCP 服务器成功启动后,您可以在任何兼容 MCP 协议的 LLM 客户端中配置并连接到该服务器。连接成功后,您将可以使用 'ListTable' 工具来查询 Firebird 数据库。

调用 'ListTable' 工具的示例 JSON 请求:

{
  "tool": "ListTable",
  "args": {
    "tableName": "CUSTOMERS",
    "filter": "STATUS = 'ACTIVE'",
    "limitRecords": 10
  }
}

请求参数说明:

  • 'tool': 要调用的工具名称,这里是 'ListTable'。
  • 'args': 工具的参数,'ListTable' 工具支持以下参数:
    • 'tableName': 要查询的 Firebird 数据库表名。
    • 'filter': 可选参数,SQL 过滤条件,用于筛选数据。例如 '"STATUS = 'ACTIVE'"'。
    • 'limitRecords': 可选参数,限制返回的记录数量。如果设置为 '0' 或不设置,则返回所有符合条件的数据。

根据您的 LLM 客户端的具体使用方式,发送上述 JSON 请求即可调用 'ListTable' 工具,并从 Firebird 数据库获取数据。

信息

分类

数据库与文件