使用说明
项目简介
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 服务器的传输协议,易于部署和运行。
安装步骤
- 安装 .NET 9 SDK: 确保您的开发环境已安装 .NET 9 SDK。您可以从 https://dotnet.microsoft.com/download/dotnet/9.0 下载并安装。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/BoscoBecker/MCPServerCSharp 下载源代码。
- 配置数据库连接:
- 在项目根目录下找到 'appsettings.json' 文件。
- 修改 'ConnectionStrings' 节点下的 'FirebirdDb' 连接字符串,将其中的数据库路径、用户名和密码替换为您实际的 Firebird 数据库信息。例如:
注意: 请务必将 'Database' 的值修改为您的 Firebird 数据库文件('.fdb' 文件)的实际路径。{ "ConnectionStrings": { "FirebirdDb": "Database=C:\\yourdata.fdb;User=SYSDBA;Password=masterkey;Dialect=3;Charset=NONE;" } }
服务器配置 (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' 命令。
基本使用方法
- 启动 MCP 服务器: 在 MCPServerCSharp 项目根目录下,打开终端或命令提示符,运行 'npx @modelcontextprotocol/inspector dotnet run' 命令启动 MCP 服务器。
- 在 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 数据库获取数据。
信息
分类
数据库与文件