SemanticKernel.Agents.DatabaseAgent.MCPServer
1.7.0-beta10
See the version list below for details.
dotnet tool install --global SemanticKernel.Agents.DatabaseAgent.MCPServer --version 1.7.0-beta10
dotnet new tool-manifest
dotnet tool install --local SemanticKernel.Agents.DatabaseAgent.MCPServer --version 1.7.0-beta10
#tool dotnet:?package=SemanticKernel.Agents.DatabaseAgent.MCPServer&version=1.7.0-beta10&prerelease
nuke :add-package SemanticKernel.Agents.DatabaseAgent.MCPServer --version 1.7.0-beta10
Database Agent MCP Server
The Database Agent MCP Server is a server that listens for incoming connections from the Database Agent and processes the messages sent by the Database Agent. The Database Agent MCP Server is responsible for processing the messages sent by the Database Agent and executing the appropriate actions based on the message type.
Installation
There are two ways to install the Database Agent MCP Server:
- As a .NET Core Tool: You can install the Database Agent MCP Server as a .NET Core tool.
See the DotnetTool.md file for more information on how to install and use the Database Agent MCP Server as a .NET Core tool.
- As a Docker Image: You can also run the Database Agent MCP Server as a Docker image and expose it SSE (Server-Sent Events) and HTTP endpoints. To do this, you can use the following command:
See the Docker.md file for more information on how to run the Database Agent MCP Server as a Docker image.
Options
All options are passed as command line argument or environment variables. The command line options take precedence over the environment variables. The following options are available
Global options
--database:Provider
- Description: Specifies the database provider (e.g., SQLite, SQL Server, etc.).
- Type: string
- Example: --database:Provider=sqlite
--database:ConnectionString
- Description: The connection string for connecting to the database.
- Type: string
- Example: --database:ConnectionString="Data Source=northwind.db;Mode=ReadWrite"
Agent transport
You can configure the transport options for the agent by setting the following options:
--agent:Transport:Kind
- Description: Defines the kind of transport to be used for the agent (e.g., Stdio, Http).
- Type: string
- Default: Stdio
- Example: --agent:Transport:Kind=Stdio
--agent:Transport:Port
- Description: The port number for the transport (when using Http transport).
- Type: int
- Default: 8080
- Example: --agent:Transport:Port=8080
Supported database providers
The following database providers are supported:
sqlite
: SQLite database providersqlserver
: SQL Server database providermysql
: MySQL database providerpostgresql
: PostgreSQL database provideroracle
: Oracle database provideroledb
: OLE DB database providerodbc
: ODBC database provider. (When using this provider, you need to ensure that the ODBC driver is installed and configured on your system. The connection string format may vary based on the ODBC driver you are using. Refer to the documentation of your specific ODBC driver for the correct connection string format.)
Memory options
Memory options are used to configure the memory settings for the kernel.
As a default, the memory is set to Volatile
, which means that the memory is not persisted and will be lost when the kernel is stopped.
--memory:Kind
- Description: Defines the kind of memory to be used for the kernel (e.g., Volatile).
- Type: string
- Example: --memory:Kind=Volatile
--memory:Dimensions
- Description: The number of dimensions for the memory vectors. This is only used when the memory kind is set to a persistent memory provider.
- Type: int
- Example: --memory:Dimensions=1536
--memory:TopK
- Description: The number of tables to return from the memory.
- Type: int
- Example: --memory:TopK=5
--memory:MaxTokens
- Description: The maximum number of tokens to be used for the sql query generation.
- Type: int
- Example: --memory:MaxTokens=1000
--memory:Temperature
- Description: The temperature to be used for the sql query generation.
- Type: float
- Example: --memory:Temperature=0.5
--memory:TopP
- Description: The top p to be used for the sql query generation.
- Type: float
- Example: --memory:TopP=0.9
You can also set the memory to persist the data in a database. At the moment, the only supported database provider is sqlite
and Qdrant
but more providers will be added in the future.
SQLite options
--memory:ConnectionString
- Description: The connection string for connecting to the SQLite database.
- Type: string
- Example: --memory:SQLite:ConnectionString="Data Source=northwind.db;Mode=ReadWrite"
Qdrant options
--memory:Host
- Description: The host name or IP address of the Qdrant server.
- Type: string
- Example: --memory:Host="localhost"
--memory:Port
- Description: The port number of the Qdrant server.
- Type: int
- Example: --memory:Port=6333
--memory:Https
- Description: Specifies whether to use HTTPS for the connection.
- Type: bool
- Default: false
- Example: --memory:Https=true
--memory:ApiKey
- Description: The API key for authenticating with the Qdrant server.
- Type: string
- Example: --memory:ApiKey="xxx"
Kernel options
. --kernel:Completion
- Description: Defines the completion model used by the kernel and configured in the services section.
- Type: string
- Example: --kernel:Completion=gpt-4o-mini
. --kernel:Embedding
- Description: Specifies the embedding model for the kernel's embedding operations and configured in the services section.
- Type: string
- Example: --kernel:Embedding=text-embedding-ada-002
Services options
The services options are used to configure the services that are used by the kernel. At this time Azure Open AI and Ollama are supported as backend but more providers will be added in the future.
--services:<model>:Type
- Description: Specifies the type of service to be used (e.g., AzureOpenAI, Ollama).
- Type: string
- Example: --services:gpt-4o-mini:Type=AzureOpenAI
Azure Open AI
--services:<model>:Endpoint
- Description: The endpoint URL for the service.
- Type: string
- Example: --services:gpt-4o-mini:Endpoint="https://xxx.openai.azure.com/"
--services:<model>:Auth
- Description: The authentication method for the service (e.g., APIKey).
- Type: string
- Example: --services:gpt-4o-mini:Auth=APIKey
--services:<model>:APIKey
- Description: The API key for authenticating with the service.
- Type: string
- Example: --services:gpt-4o-mini:APIKey="xxx"
--services:<model>:Deployment
- Description: The deployment name for the service.
- Type: string
- Example: --services:gpt-4o-mini:Deployment="gpt-4o-mini"
Ollama
--services:<model>:ModelId
- Description: The model name for the Ollama service.
- Type: string
- Example: --services:qwen2.5-coder:ModelId="qwen2.5-coder:latest"
--services:<model>:Host
- Description: The host name or IP address of the Ollama server.
- Type: string
- Example: --services:qwen2.5-coder:Endpoint="http://localhost:11434"
Quality assurance
You can set the quality assurance settings by adding these specific configuration options:
--agent:QualityAssurance:EnableQueryRelevancyFilter
- Description: Enables or disables the query relevancy filter in the quality assurance process.
- Type: bool
- Default: true
- Example: --agent:QualityAssurance:EnableQueryRelevancyFilter=false
--agent:QualityAssurance:QueryRelevancyThreshold
- Description: Enables or disables the query relevancy filter in the quality assurance process.
- Type: bool
- Default: true
- Example: --agent:QualityAssurance:QueryRelevancyThreshold=0.9
Contributing
Contributions are welcome! For more information, please see the CONTRIBUTING file.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
1.8.0 | 205 | 4/21/2025 |
1.7.1 | 250 | 4/14/2025 |
1.7.1-beta01 | 268 | 4/14/2025 |
1.7.0 | 241 | 4/13/2025 |
1.7.0-beta16 | 195 | 4/13/2025 |
1.7.0-beta15 | 216 | 4/13/2025 |
1.7.0-beta14 | 203 | 4/13/2025 |
1.7.0-beta13 | 202 | 4/13/2025 |
1.7.0-beta12 | 193 | 4/13/2025 |
1.7.0-beta11 | 144 | 4/12/2025 |
1.7.0-beta10 | 156 | 4/12/2025 |
1.7.0-beta09 | 186 | 4/11/2025 |
1.7.0-beta08 | 178 | 4/11/2025 |
1.7.0-beta07 | 196 | 4/11/2025 |
1.7.0-beta06 | 178 | 4/11/2025 |
1.7.0-beta05 | 194 | 4/11/2025 |
1.7.0-beta04 | 160 | 4/11/2025 |
1.7.0-beta03 | 172 | 4/11/2025 |
1.7.0-beta02 | 196 | 4/11/2025 |
1.7.0-beta01 | 175 | 4/11/2025 |
1.6.0 | 227 | 4/11/2025 |
1.5.1 | 179 | 4/11/2025 |
1.5.0 | 231 | 4/10/2025 |
1.5.0-beta03 | 208 | 4/10/2025 |
1.5.0-beta02 | 214 | 4/9/2025 |
1.5.0-beta01 | 200 | 4/9/2025 |
1.4.1-beta01 | 201 | 4/9/2025 |
1.4.0 | 219 | 4/8/2025 |
1.3.1 | 238 | 4/7/2025 |
1.3.1-beta02 | 207 | 4/7/2025 |
1.3.1-beta01 | 225 | 4/7/2025 |
1.3.0 | 203 | 4/6/2025 |
1.3.0-beta03 | 210 | 4/6/2025 |
1.3.0-beta02 | 163 | 4/5/2025 |
1.3.0-beta01 | 151 | 4/5/2025 |
1.2.2 | 177 | 4/4/2025 |
1.2.1 | 168 | 4/4/2025 |
1.2.1-beta02 | 190 | 4/4/2025 |
1.2.1-beta01 | 190 | 4/4/2025 |
1.2.0 | 194 | 4/4/2025 |
1.2.0-beta01 | 195 | 4/4/2025 |
1.1.0 | 185 | 3/31/2025 |
1.1.0-beta01 | 160 | 3/31/2025 |
1.0.2 | 160 | 3/31/2025 |
1.0.1 | 165 | 3/31/2025 |
1.0.0 | 160 | 3/31/2025 |
0.0.3 | 93 | 3/29/2025 |
0.0.3-alpha03 | 135 | 3/28/2025 |
0.0.3-alpha01 | 130 | 3/28/2025 |