Skip to content

BoscoBecker/MCPServerCSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

🛠️ MCP Server with C# + Firebird

This project is an MCP ( Model Context Protocol ) server created in C#, with support for custom tools. One of the features included is the execution of dynamic queries in a Firebird database with filter and record limit.


📦 Technologies Used

  • NPX
  • C# (.NET 9)
  • MCP ( Model Context Protocol )
  • FirebirdSql.Data.FirebirdClient
  • Dependency Injection via Host.CreateApplicationBuilder
  • Configuration via appsettings.json

⚙️ Configuration

Install dependencies by nuget

dotnet add package ModelContextProtocol --prerelease

🔧 appsettings.json File

Create an appsettings.json file in the project root with the following content:

{
"ConnectionStrings": {
"FirebirdDb": "Database=C:\\yourdata.fdb;User=SYSDBA;Password=masterkey;Dialect=3;Charset=NONE;" }
}

📝 Change the path of the .FDB file according to the location of your database.

📂 Recommended Project Structure

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

🧩 MCP Tool Available

🔍 ListTable

[McpTool, Description("List all records from a Firebird table")]
public List<Dictionary<string, object>> ListTable(string tableName, string filter = "", int limitRecords = 0)

This tool returns records from a Firebird database table with:

🔎 Conditional filter via SQL

🔢 Limitation of number of records (using FIRST)

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

Example of use:

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

Run MCP server

  npx @modelcontextprotocol/inspector dotnet run

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

About

MCP Server com C# + Firebird

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages