使用说明
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以排除服务器交互故障。