mcp-adonet
C# based Model Context Procotol (MCP) Server for ADO.NET ODBC provider
claude mcp add --transport stdio openlinksoftware-mcp-adonet-server dotnet 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" \ --env API_KEY="sk-xxx"
How to use
OpenLink MCP Server for ADO.NET exposes a set of tools that let MCP clients query and interact with a configured ADO.NET-connected database. The server provides operations to enumerate schemas and tables, describe table structures, filter table names by a substring, and run SQL or SPARQL/SPASQL queries against Virtuoso when available. Key capabilities include ado_get_schemas, ado_get_tables, ado_describe_table, ado_filter_table_names, ado_query_database (and variants in JSONL or Markdown), ado_spasql_query, and ado_sparql_query. Clients can rely on JSON, JSONL, or Markdown formatted results depending on the command invoked. The server is designed to work with Virtuoso when available and to return structured results that are friendly to downstream reporting and analysis workflows.
To use the tools, connect via a client that can call these commands (for example, an MCP client or a Claude Desktop integration). Supply connection details through the provided URL (ADO_URL) and, when needed, provide a target schema, table name, or SQL/SPASQL query. For example, ado_get_schemas returns a JSON array of schema names, while ado_query_database executes a SQL query and returns results in JSON format. For reporting, ado_query_database_md and ado_query_database_jsonl offer Markdown and JSONL formats respectively. Virtuoso-specific features include ado_spasql_query and ado_sparql_query, which execute SPASQL and SPARQL queries against the Virtuoso backend when configured.
How to install
Prerequisites
- .NET 8 runtime/sdk installed on your platform (Windows, Linux, or macOS).
- Git installed to clone the repository.
Installation steps
-
Clone the repository git clone https://github.com/OpenLinkSoftware/mcp-adonet-server.git cd mcp-adonet-server
-
Build or run the server This MCP server is designed to be launched via dotnet. Ensure you have the MCP_AdoNet_Server.csproj in the expected path. Example command (net8.0): dotnet run --framework net8.0 --project MCP_AdoNet_Server.csproj
-
Configure environment variables (examples) Create or update a .env file or export variables in your shell: ADO_URL="HOST=localhost:1111;Database=Demo;UID=demo;PWD=demo" API_KEY="sk-xxx"
-
Optional: Claude Desktop integration If you use Claude Desktop, add a mcpServers entry pointing to the same dotnet command with the appropriate --framework flag and project path as shown in the example configuration.
Notes
- The server expects a running database accessible via the ADO_URL connection string. Ensure network access and credentials are correct.
- If you switch between NET.8 and NET.9, provide the matching --framework flag and ensure the project builds for the selected target.
Additional notes
Tips and common issues:
- Ensure the MCP_AdoNet_Server.csproj is compatible with your installed .NET runtime (net8.0 or net9.0). Use dotnet --version to verify.
- When using Virtuoso, confirm that the Virtuoso service is reachable and that proper permissions are set for executing stored procedures or SPASQL queries.
- The environment variable ADO_URL should follow the connection string format used by your database/ADO.NET provider. Keep sensitive values secure and do not commit them to public repos.
- If you encounter connection errors, verify firewall rules, port availability, and that the database accepts connections from the host running the MCP server.
- For debugging, run with verbose logging if available in your runtime or wrap calls to capture error messages from ADO.NET or Virtuoso backends.
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
mcp-dataverse
MCP Server for querying Dataverse using SQL
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
console-to-http
Example of converting a stdio MCP server to HTTP using ModelContextProtocol.AspNetCore