doris-mcp-server
If you are the rightful owner of doris-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Doris MCP Server is a backend service built with Python and FastAPI, implementing the Model Control Panel (MCP) protocol to interact with Apache Doris databases using natural language queries.
Doris MCP Server is a backend service designed to facilitate interaction with Apache Doris databases through natural language queries. Built using Python and FastAPI, it implements the Model Control Panel (MCP) protocol, allowing clients to interact with the server using defined 'tools'. The server is capable of converting natural language queries into SQL (NL2SQL), executing these queries, and managing metadata and analysis. It supports various communication modes including Server-Sent Events (SSE), Streamable HTTP, and optionally Stdio. The server is highly configurable through environment variables, allowing for flexible database connections, LLM provider settings, and logging configurations. It also features automatic metadata extraction and caching, enhancing its efficiency in handling database interactions.
Features
- MCP Protocol Implementation: Provides a standard MCP interface supporting tool invocation, resource management, and prompt interaction.
- Multiple Communication Modes: Supports SSE, Streamable HTTP, and optionally Stdio for client-server interaction.
- Tool-based Interface: Encapsulates core functionalities as MCP tools for client invocation, including NL2SQL, SQL execution, and metadata management.
- LLM Integration: Utilizes large language models for natural language understanding, SQL generation, and analysis.
- Flexible Configuration: Configurable via .env file for database connections, LLM providers, API keys, and logging levels.
Tools
refresh_metadata
Refreshes and saves metadata with optional force refresh.
sql_optimize
Performs optimization analysis on SQL statements.
fix_sql
Fixes syntax errors in SQL statements.
health
Checks the health status of the service and database.
exec_query
Executes SQL queries and returns results.