ado_get_schemasLABSCO SUMMARY
Two result formats over one connection.
The markdown output is the small thing that matters day to day: a result you can read inside the answer, rather than JSONL you then have to ask to be reformatted.
What it is
A C# MCP server that talks to a database over ADO.NET, tested on the .NET runtimes for Windows and Linux and compatible with Virtuoso. It lists schemas and tables, describes structure, filters table names, and returns results in either of two formats.
What you get
- Every schema name on the connected database
- Tables for one schema, or for all of them
- A table described: column names, data types, nullability, primary and foreign keys
- Tables filtered by a name substring
- Query results as JSONL, for structured handling
- Query results as a markdown table, for reading and reporting
- Stored procedures executed, when connected to Virtuoso
Requirements
The .NET 8 or .NET 9 SDK, since dotnet run builds it from your clone, plus your database's ADO.NET connection string in ADO_URL. API_KEY is optional: only ado_virtuoso_support_ai uses it, for the AI service behind Virtuoso's Support Assistant. It has been tested on Windows and Linux.
Setup effort
Build from source — git clone https://github.com/OpenLinkSoftware/mcp-adonet-server.git
USE CASES
Getting oriented in a database you have never seen
List the schemas, then the tables under the ones that look relevant.
Finding a table when you only remember part of the name
Filter table names by substring instead of reading the whole catalogue.
Checking a column's type before you write the query
Read the table description — types, nullability, keys — so the query is right the first time.
Answering a question with a table you can read on screen
Return the result as a markdown table rather than as rows of JSON.
Pulling rows for something downstream to process
Return JSONL, which stays structured for whatever handles it next.
10 tools
Listed in project docs. Your client may show a different list.
ado_get_tablesado_describe_tableado_filter_table_namesado_query_databaseado_execute_queryado_execute_query_mdado_spasql_queryado_sparql_queryado_virtuoso_support_aiBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- .NET 8 or .NET 9 SDK (dotnet on PATH) — dotnet run builds the project from your clone
- ADO_URL, your database's ADO.NET connection string, in the client configuration
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/OpenLinkSoftware/mcp-adonet-server.git
cd mcp-adonet-serverMCP Clients
Claude Desktop
{
"mcpServers": {
"my_database": {
"command": "dotnet",
"args": [
"run",
"--framework",
"net8.0",
"--project",
"<YOUR_PATH_TO_MCP_ADONET_SERVER>/MCP_AdoNet_Server.csproj"
],
"env": {
"ADO_URL": "HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo",
"API_KEY": "<YOUR_API_KEY>"
}
}
}
}<YOUR_PATH_TO_MCP_ADONET_SERVER> is the full path of your clone, and ADO_URL is your database's ADO.NET connection string (host, database, UID, PWD). API_KEY is only passed to ado_virtuoso_support_ai, as the key for the AI service behind Virtuoso's Support Assistant (the tool's api_key defaults to "none") — leave it out if you won't use that tool.
Claude Desktop — .NET 9
{
"mcpServers": {
"my_database": {
"command": "dotnet",
"args": [
"run",
"--framework",
"net9.0",
"--project",
"<YOUR_PATH_TO_MCP_ADONET_SERVER>/MCP_AdoNet_Server.csproj"
],
"env": {
"ADO_URL": "HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo",
"API_KEY": "<YOUR_API_KEY>"
}
}
}
}<YOUR_PATH_TO_MCP_ADONET_SERVER> is the full path of your clone, and ADO_URL is your database's ADO.NET connection string (host, database, UID, PWD). API_KEY is only passed to ado_virtuoso_support_ai, as the key for the AI service behind Virtuoso's Support Assistant (the tool's api_key defaults to "none") — leave it out if you won't use that tool.