Integrations
Handles API key authentication securely via environment variables for connecting to the BlazeSQL service.
Provides integration with BlazeSQL Natural Language Query API, allowing users to query databases using natural language requests and receive SQL queries and formatted results.
Used to implement the MCP server that connects to BlazeSQL's API, enabling natural language database querying capabilities.
BlazeSQL MCP Server
This project implements a Model Context Protocol (MCP) server using the @modelcontextprotocol/sdk
that acts as a proxy to the BlazeSQL Natural Language Query API. It allows MCP-compatible clients (like Cursor, Claude 3 with tool use, the MCP Inspector, etc.) to interact with BlazeSQL using natural language.
Features
- Built using the modern
McpServer
helper class from the MCP SDK. - Exposes the BlazeSQL Natural Language Query API as an MCP tool named
blazesql_query
. - Uses
zod
for robust validation of tool input parameters. - Handles API key authentication securely via environment variables.
- Communicates with clients using the standard MCP stdio transport.
Workflow Diagram
This diagram shows the sequence of interactions when a client uses the blazesql_query
tool (Note: The internal server logic now uses McpServer
which simplifies tool registration compared to the low-level handlers shown in the diagram):
Prerequisites
- Node.js (LTS version recommended)
- Yarn (Classic or Berry)
- A BlazeSQL account with an API Key (Team Advanced subscription required for the API).
- At least one database connection configured in your BlazeSQL account.
- BlazeSQL Natural Language Query API Documentation: https://help.blazesql.com/en/article/natural-language-query-api-1fgx4au/
Setup
- Clone the Repository:Copy
- Install Dependencies:This will install all necessary dependencies, including theCopy
@modelcontextprotocol/sdk
,dotenv
, andzod
. - Configure Environment Variables:
- Copy the example environment file:Copy
- Edit the
.env
file:ReplaceCopyYOUR_BLAZESQL_API_KEY_HERE
with your actual API key obtained from your BlazeSQL account settings.
- Copy the example environment file:
Running the Server
- Build the Server:
Compile the TypeScript code to JavaScript:Copy
- Run the Server:
Execute the compiled code:The server will start and log messages toCopy
stderr
(you might see "API Key loaded successfully..." etc.). It is now listening for an MCP client connection via standard input/output (stdio).
Connecting an MCP Client
This server uses the stdio transport mechanism.
Using the MCP Inspector (Recommended for Testing)
- Make sure the server is not already running separately.
- Run the Inspector, telling it to launch your server:Copy
- The Inspector UI will launch, automatically connecting to your server.
- Navigate to the "Tools" tab to interact with the
blazesql_query
tool.
Using Integrated Clients (Cursor, Claude 3, etc.)
- Start the server in a terminal:Copy
- Configure the client: In your MCP client's settings, you need to add a custom server configuration.
- Transport: Select
stdio
. - Command: Specify the exact command used to run the server. You need to provide the absolute path to node and the absolute path to the
build/index.js
file.- Example (macOS/Linux - adjust paths as needed):
/usr/local/bin/node /Users/your_username/path/to/blaze-sql-mcp-server/build/index.js
- You can find the path to node using
which node
in your terminal. - You can find the path to the project using
pwd
inside the project directory.
- Example (macOS/Linux - adjust paths as needed):
- Save the configuration.
- Transport: Select
- The client should now be able to connect to your locally running server and list/use its tools.
Using the blazesql_query
Tool
Once connected, the client can call the blazesql_query
tool.
- Tool Name:
blazesql_query
- Arguments:
db_id
(string, required): The ID of the target database connection in your BlazeSQL account. You can find this ID in the BlazeSQL web application when managing your database connections.natural_language_request
(string, required): The query you want to execute, written in plain English (e.g., "show me the total number of users"). (Input is validated usingzod
)
- Example Call (using
mcp test
syntax for illustration):Copy - Output:
If successful, the tool returns a single
text
content block containing:- The natural language response from the BlazeSQL agent.
- The generated SQL query within a Markdown code fence (
sql ...
). - The data results formatted as JSON within a Markdown code fence (
json ...
).
Example structure within the
text
block:CopyData Result (JSON):
CopyCopy
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A Model Context Protocol server that enables AI clients to interact with BlazeSQL's Natural Language Query API, allowing natural language queries against SQL databases.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.Last updated -9PythonMIT License
XiYan MCP Serverofficial
-securityAlicense-qualityA Model Context Protocol server that enables natural language queries to MySQL databases, powered by XiYanSQL text-to-SQL technology.Last updated -94PythonApache 2.0- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to query Erick Wendel's talks, blog posts, and videos across different platforms using natural language.Last updated -55TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.Last updated -1Python