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

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"
使用教程
使用依赖
- 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
- unixODBC 运行时环境检查:
sh odbcinst -j odbcinst -q -s
- 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"