这是一个基于C#的轻量级MCP(模型上下文协议)服务器,适用于ADO.NET。该服务器与Virtuoso兼容。目前,此服务器仅在Windows和Linux上的.NET运行时环境中成功进行了测试。

MCP_AdoNet_Server.csproj)是否与您的环境兼容,通过运行以下命令:
dotnet run --framework net8.0 --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj
MCP_AdoNet_Server.csproj)是否与您的环境兼容,通过运行以下命令:
dotnet run --framework net9.0 --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj
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
克隆此仓库:
git clone https://github.com/OpenLinkSoftware/mcp-adonet-server.git
cd mcp-adonet-server
更新您的.env以覆盖这些默认值,使其符合您的偏好。
ADO_URL="HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo"
API_KEY=xxx
对于Claude Desktop用户:
在claude_desktop_config.json中添加以下内容:
NET.8
{
"mcpServers": {
"my_database": {
"command": "dotnet",
"args": ["run", "--framework", "net8.0", "--project", "/path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj"],
"env": {
"ADO_URL": "HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo",
"API_KEY": "sk-xxx"
}
}
}
}
NET.9
{
"mcpServers": {
"my_database": {
"command": "dotnet",
"args": ["run", "--framework", "net9.0", "--project", "/path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj"],
"env": {
"ADO_URL": "HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo",
"API_KEY": "sk-xxx"
}
}
}
}
安装成功后,以下工具将可供MCP客户端应用程序使用。
| 名称 | 描述 |
|---|---|
ado_get_schemas | 列出连接的数据库管理系统(DBMS)可访问的所有数据库模式。 |
ado_get_tables | 列出与选定数据库模式关联的表。 |
ado_describe_table | 提供与指定数据库模式关联的表的描述。这包括关于列名、数据类型、空值处理、自动递增、主键和外键的信息。 |
ado_filter_table_names | 根据q输入字段中的子串模式,列出与选定数据库模式关联的表。 |
ado_query_database | 执行SQL查询,并以JSONL格式返回结果。 |
ado_execute_query | 执行SQL查询,并以JSONL格式返回结果。 |
ado_execute_query_md | 执行SQL查询,并以Markdown表格格式返回结果。 |
ado_spasql_query | 执行SPASQL查询并返回结果。 |
ado_sparql_query | 执行SPARQL查询并返回结果。 |
ado_virtuoso_support_ai | 与Virtuoso支持助手/代理交互——一个与LLMs交互的Virtuoso特定功能 |
ado_get_schemas
url(字符串,可选):ADO.NET连接字符串。ado_get_tables
schema(字符串,可选):用于筛选表的数据库模式,默认为连接默认模式。url(字符串,可选):ADO.NET连接字符串。TABLE_CAT,TABLE_SCHEM,TABLE_NAME,TABLE_TYPE)。ado_filter_table_names
q(字符串,必需):要在表名中搜索的子串。schema(字符串,可选):用于筛选表的数据库模式,默认为连接默认模式。url(字符串,可选):ADO.NET连接字符串。ado_describe_table
schema(字符串,必需):包含表的数据库模式名称。table(字符串,必需):要描述的表名。url(字符串,可选):ADO.NET连接字符串。COLUMN_NAME,TYPE_NAME,COLUMN_SIZE,IS_NULLABLE)。ado_query_database
query(字符串,必需):要执行的SQL查询字符串。url(字符串,可选):ADO.NET连接字符串。ado_query_database_md
query(字符串,必需):要执行的SQL查询字符串。url(字符串,可选):ADO.NET连接字符串。ado_query_database_jsonl
query(字符串,必需):要执行的SQL查询字符串。url(字符串,可选):ADO.NET连接字符串。ado_spasql_query
query(字符串,必需):SPASQL查询字符串。max_rows(数字,可选):要返回的最大行数,默认为20。timeout(数字,可选):查询超时时间(毫秒),默认为30000。url(字符串,可选):ADO.NET连接字符串。Demo.demo.execute_spasql_query)。ado_sparql_query
query(字符串,必需):SPARQL查询字符串。format(字符串,可选):期望的结果格式,默认为'json'。timeout(数字,可选):查询超时时间(毫秒),默认为30000。url(字符串,可选):ADO.NET连接字符串。"UB".dba."sparqlQuery")。ado_virtuoso_support_ai
prompt(字符串,必需):AI功能的提示文本。api_key(字符串,可选):AI服务的API密钥,默认为"none"。url(字符串,可选):ADO.NET连接字符串。DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI)。为了方便故障排除:
安装MCP Inspector:
npm install -g @modelcontextprotocol/inspector
根据使用的.NET版本启动Inspector:
dotnet clean /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj
npx @modelcontextprotocol/inspector dotnet run --framework net8.0 --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj -e ADO_URL="HOST=localhost:1111;Database=Demo;UID=username;PWD=password" -e API_KEY="sk-xxx-myapikey-xxx"
-- 或 --
dotnet clean /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj
npx @modelcontextprotocol/inspector dotnet run --framework net9.0 --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj -e ADO_URL="HOST=localhost:1111;Database=Demo;UID=username;PWD=password" -e API_KEY="sk-xxx-myapikey-xxx"
访问提供的URL以进行服务器交互故障排除。