π οΈ MCP Server with C# + Firebird
LocalAbout π οΈ MCP Server with C# + Firebird
This C# MCP server connects to Firebird databases for developers who need database queries through MCP. Its query tool supports SQL filters and a limit on returned records.
Key features
- 01Built with C#
- 02Connects to Firebird
- 03Filters table records
- 04Limits record count
- 05Configured through appsettings.json
Use cases
- 01Query Firebird table data
- 02Filter records by conditions
- 03Limit query results
MCP support
The MCP server exposes Firebird table queries through the ListTable tool. MCP clients can specify a table, SQL filter, and record limit.
Configuration
Local server config is the same for every client. Copy it into your clientβs MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEπ οΈ 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)
Example of use:
{
"tool": "ListTable",
"args": {
"tableName": "CUSTOMERS",
"filter": "STATUS = 'ACTIVE'",
"limitRecords": 10
}
}
Run MCP server
npx @modelcontextprotocol/inspector dotnet run
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.