______________________________________________________________________
ADO的OpenLink MCP服务器。网
一个基于C#的轻量级ADO MCP(模型上下文协议)服务器。网。此服务器与Virtuoso兼容。目前,此服务器仅使用成功测试。NET在Windows和Linux上的运行时。
特性
- 获取架构:从连接的数据库中获取并列出所有架构名称。
- 获取表格:检索特定架构或所有架构的表信息。
- 描述表:生成表结构的详细描述,包括:
- 列名和数据类型 - 可为空的属性 - 主键和外键
- 搜索表:根据名称子字符串筛选和检索表。
- 执行存储过程:连接到Virtuoso时,执行存储过程并检索结果。
- 执行查询:
- JSONL结果格式:针对结构化响应进行了优化。 - Markdown表格格式:非常适合报告和可视化。
______________________________________________________________________
先决条件
- 净值8
- 检查项目文件(MCP_AdoNet_Server.csproj)通过运行以下命令与您的环境兼容:
dotnet run --framework net8.0 --project /path/to/mcp-adonet-server/MCP_AdoNet_Server.csproj- 净值9
- 检查项目文件(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_config.json:
- 净值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"
}
}
}
}- 净值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 | 与维塔索支持助手/代理交互——维塔索与LLM交互的特定功能 |
详细描述
ado_get_schemas
- 从连接的数据库中检索并返回所有架构名称的列表。 - 输入参数: - url (字符串,可选):ADO。NET URL连接字符串。 - 返回模式名称的JSON字符串数组。
ado_get_tables
- 检索并返回一个包含指定架构中表信息的列表。如果没有提供架构,则使用连接的默认架构。 - 输入参数: - schema (字符串,可选):用于筛选表的数据库架构。默认为连接默认值。 - url (字符串,可选):ADO。NET URL连接字符串。 - 返回包含表信息的JSON字符串(例如。, TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE).
ado_filter_table_names
- 过滤并返回有关名称包含特定子字符串的表的信息。 - 输入参数: - q (string,必填):在表名中搜索的子字符串。 - schema (字符串,可选):用于筛选表的数据库架构。默认为连接默认值。 - url (字符串,可选):ADO。NET URL连接字符串。 - 返回一个JSON字符串,其中包含匹配表的信息。
ado_describe_table
- 检索并返回特定表的列的详细信息。 - 输入参数: - schema (字符串,必填):包含表的数据库架构名称。 - table (string,必填):要描述的表的名称。 - url (字符串,可选):ADO。NET URL连接字符串。 - 返回一个JSON字符串,描述表的列(例如。, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, IS_NULLABLE).
ado_query_database
- 执行标准SQL查询并以JSON格式返回结果。 - 输入参数: - query (string,必填):要执行的SQL查询字符串。 - url (字符串,可选):ADO。NET URL连接字符串。 - 以JSON字符串形式返回查询结果。
ado_query_database_md
- 执行标准SQL查询并返回Markdown表格式的结果。 - 输入参数: - query (string,必填):要执行的SQL查询字符串。 - url (字符串,可选):ADO。NET URL连接字符串。 - 以Markdown表字符串的形式返回查询结果。
ado_query_database_jsonl
- 执行标准SQL查询,并以JSONL格式返回结果(每行一个JSON对象)。 - 输入参数: - query (string,必填):要执行的SQL查询字符串。 - url (字符串,可选):ADO。NET URL连接字符串。 - 以JSONL字符串形式返回查询结果。
ado_spasql_query
- 执行SPASQL(SQL/SPARQL混合)查询返回结果。这是Virtuoso特有的功能。 - 输入参数: - query (string,必填):SPASQL查询字符串。 - max_rows (number,可选):要返回的最大行数。默认为 20. - timeout (number,可选):查询超时(毫秒)。默认为 30000. - url (字符串,可选):ADO。NET URL连接字符串。 - 返回底层存储过程调用的结果(例如。, Demo.demo.execute_spasql_query).
ado_sparql_query
- 执行SPARQL查询并返回结果。这是Virtuoso特有的功能。 - 输入参数: - query (string,必填):SPARQL查询字符串。 - format (字符串,可选):所需的结果格式。默认为 'json'. - timeout (number,可选):查询超时(毫秒)。默认为 30000. - url (字符串,可选):ADO。NET URL连接字符串。 - 返回底层函数调用的结果(例如。, "UB".dba."sparqlQuery").
ado_virtuoso_support_ai
- 使用特定于Virtuoso的AI助手功能,传递提示和可选的API键。这是Virtuoso特有的功能。 - 输入参数: - prompt (string,必填):AI函数的提示文本。 - api_key (字符串,可选):AI服务的API密钥。默认为 "none". - url (字符串,可选):ADO。NET URL连接字符串。 - 返回AI Support Assistant函数调用的结果(例如。, DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI).
______________________________________________________________________
故障排除
为了便于故障排除:
- 安装MCP检查器:
npm install -g @modelcontextprotocol/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以排除服务器交互故障。

