C# based Model Context Procotol (MCP) Server for ADO.NET

C# based Model Context Procotol (MCP) Server for ADO.NET

site icon
2025.04.23 0
C#数据库管理数据查询数据库
mcp-adonet-server 是一个基于 C# 的轻量级 MCP(Model Context Protocol)服务器,专为 ADO.NET 设计。该服务器兼容 Virtuoso DBMS 以及其他具有 ODBC 驱动的数据库管理系统后端。其主要功能包括获取数据库模式、表信息、描述表结构、执行存储过程、执行查询等,支持多种结果格式如 JSONL 和 Markdown 表格。适用于需要与数据库进行交互的开发场景,特别是那些需要结构化数据查询和报告的应用。
View on GitHub

Overview

基本能力

产品定位

mcp-adonet-server 是一个轻量级的 MCP 服务器,专为 ADO.NET 设计,用于与数据库进行交互,支持多种数据库后端。

核心功能

  • 获取模式:从连接的数据库中获取并列出所有模式名称。
  • 获取表信息:检索特定模式或所有模式中的表信息。
  • 描述表结构:生成表的详细描述,包括列名、数据类型、可为空属性、主键和外键。
  • 搜索表:基于名称子字符串过滤和检索表。
  • 执行存储过程:在 Virtuoso 中执行存储过程并检索结果。
  • 执行查询:支持 JSONL 和 Markdown 表格格式的结果返回。

适用场景

  • 数据库管理和查询
  • 数据报告和可视化
  • 数据库模式分析和探索

工具列表

  • ado_get_schemas:列出数据库模式。
  • ado_get_tables:列出指定模式中的表。
  • ado_describe_table:描述表结构。
  • ado_filter_table_names:基于子字符串过滤表名。
  • ado_query_database:执行 SQL 查询并返回 JSON 结果。
  • ado_execute_query:执行 SQL 查询并返回 JSONL 结果。
  • ado_execute_query_md:执行 SQL 查询并返回 Markdown 表格结果。
  • ado_spasql_query:执行 SPASQL 查询(Virtuoso 特定)。
  • ado_sparql_query:执行 SPARQL 查询(Virtuoso 特定)。
  • ado_virtuoso_support_ai:与 Virtuoso 支持助手交互(Virtuoso 特定)。

常见问题解答

  • 安装 MCP Inspector 进行故障排查: bash npm install -g @modelcontextprotocol/inspector npx @modelcontextprotocol/inspector dotnet run --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj -e ADO_URL="DSN=MyDSN;UID=username;PWD=password" -e API_KEY="sk-xxx-myapikey-xxx"

使用教程

使用依赖

  1. NET.8 或以上sh dotnet run --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj dotnet clean /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj dotnet build /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj
  2. unixODBC 运行时环境检查sh odbcinst -j odbcinst -q -s
  3. ODBC DSN 设置:配置 ~/.odbc.ini 文件。

安装教程

克隆仓库:

git clone https://github.com/OpenLinkSoftware/mcp-adonet-server.git
cd mcp-adonet-server

更新环境变量 .env

ADO_URL=DSN=VOS;UID=demo;PWD=demo
API_KEY=xxx

调试方式

使用 MCP Inspector 进行调试:

npx @modelcontextprotocol/inspector dotnet run --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj -e ADO_URL="DSN=MyDSN;UID=username;PWD=password" -e API_KEY="sk-xxx-myapikey-xxx"

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。