返回 MCP 目录
public公开dns本地运行

MCPServerCSharp

一个基于C#和Firebird的MCP服务器项目,支持动态查询和自定义工具,通过MCP平台实现模块化命令处理。

article

README

🚀 使用 C# 和 Firebird 的 MCP 服务器

本项目是一个支持自定义工具的 Modular Command Platform (MCP) 服务器,采用 C# 编写。其一大特色功能是能够在 Firebird 数据库中执行动态查询,同时支持过滤和记录限制。

🚀 快速开始

本项目是一个支持自定义工具的 Modular Command Platform (MCP) 服务器,由 C# 编写而成。借助它,你可以在 Firebird 数据库中执行动态查询,并进行过滤和记录限制。

✨ 主要特性

  • 支持在 Firebird 数据库中执行动态查询。
  • 可对查询结果进行过滤和记录限制。
  • 支持自定义工具。

📦 安装指南

⚙️ 安装依赖项

使用以下命令安装 NuGet 包:

dotnet add package ModelContextProtocol --prerelease

🔧 appsettings.json 文件

在项目根目录中创建一个 appsettings.json 文件,并添加以下内容:

{
    "ConnectionStrings": {
        "FirebirdDb": "Database=C:\\你的数据文件名.fdb;User=SYSDBA;Password=masterkey;Dialect=3;Charset=NONE;"
    }
}

📝 请根据你的数据库文件的实际路径修改 C:\\你的数据文件名.fdb

📂 推荐的项目结构如下:

src/
├── MCPServer/
│ ├── Factory/
│ │ └── FbConnectionFactory.cs
│ ├── Tools/
│ │ └── FbQueries.cs
│ ├── Program.cs
│ └── appsettings.json

💻 使用示例

🔍 ListTable

[McpTool, Description("列出 Firebird 表中的所有记录")]
public List<Dictionary<string, object>> ListTable(string tableName, string filter = "", int limitRecords = 0)

此工具可以从 Firebird 数据库表中返回记录,支持以下功能:

  • 🔍 条件过滤(通过 SQL)
  • 🔢 记录数限制(使用 FIRST

{DF1F6239-E983-45A0-87E3-645291A6D2C7}

基础用法

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

🔧 技术细节

📦 所用技术

  • NPX
  • C# (.NET 9 框架)
  • MCP(Modular Command Platform)
  • FirebirdSql.Data.FirebirdClient
  • 依赖注入(通过 Host.CreateApplicationBuilder 实现)
  • 配置文件(通过 appsettings.json 实现)

🏡 运行 MCP 服务器

使用以下命令运行 MCP 服务器:

npx @modelcontextprotocol/inspector dotnet run

{58D6C0FD-B032-48FC-9F16-8769A9403E82}

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端