Queryweaver
@FalkorDB
About Queryweaver
An open-source Text2SQL tool that transforms natural language into SQL using graph-powered schema understanding. Ask your database questions in plain English, QueryWeaver handles the weaving.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"queryweaver": {
"type": "http",
"url": "https://app.queryweaver.ai/mcp",
"headers": {
"Authorization": "Bearer your_token_here"
}
}
},
"inputs": []
}Tools
4List Graphs This route is used to list all the graphs (databases names) that are available in the database. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
Get Graph Data Return all nodes and edges for the specified database schema (namespaced to the user). This endpoint returns a JSON object with two keys: `nodes` and `edges`. Nodes contain a minimal set of properties (id, name, labels, props). Edges contain source and target node names (or internal ids), type and props. args: graph_id (str): The ID of the graph to query (the database name). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
Query Graph Query the Database with the given graph_id and chat_data. Args: graph_id (str): The ID of the graph to query. chat_data (ChatRequest): The chat data containing user queries and context. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
Connect Database Accepts a JSON payload with a database URL and attempts to connect. Supports both PostgreSQL and MySQL databases. Streams progress steps as a sequence of JSON messages separated by MESSAGE_DELIMITER. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
Overview
What is QueryWeaver?
QueryWeaver is an open-source Text2SQL tool that converts plain-English questions into SQL using graph-powered schema understanding. It helps you ask databases natural-language questions and returns SQL and results.
How to use QueryWeaver?
You can run QueryWeaver via Docker with a single command (docker run -p 5000:5000 -it falkordb/queryweaver) or from source using Python 3.12+ and pipenv. Configuration is provided through environment variables (e.g., Azure OpenAI or OpenAI API keys). QueryWeaver exposes a REST API with endpoints for managing graphs and running Text2SQL queries, and optionally provides MCP endpoints for integration with AI assistants.
Key features of QueryWeaver
- Graph-powered schema understanding for Text2SQL
- Plain-English to SQL conversion
- REST API with Swagger UI documentation
- Optional MCP server endpoints
- Docker deployment (single command)
- Supports Azure OpenAI and OpenAI
- OAuth authentication (Google, GitHub)
- Streaming responses with reasoning steps
Use cases of QueryWeaver
- Natural language database querying without writing SQL
- Automating SQL generation for dashboards and reports
- Integrating database access into AI assistants and chatbots
- Prototyping and data exploration for analysts and developers
- Enabling non-technical team members to query databases
FAQ from QueryWeaver
What AI providers does QueryWeaver support?
QueryWeaver supports Azure OpenAI by default. To use OpenAI directly, set the OPENAI_API_KEY environment variable instead of AZURE_API_KEY.
How can I authenticate with the REST API?
All authenticated endpoints require a Bearer token in the Authorization header. In the browser the app uses session cookies and OAuth flows (Google, GitHub); for scripts you can use an API token.
Does QueryWeaver support the Model Context Protocol (MCP)?
Yes, QueryWeaver includes built-in MCP endpoints (list_databases, connect_database, database_schema, query_database). These are enabled by default and can be disabled by setting DISABLE_MCP=true.
What are the system requirements for running from source?
You need Python 3.12+, pipenv, a FalkorDB instance, and Node.js with npm (for the TypeScript frontend).
How does the streaming response work?
The POST /graphs/{graph_id} endpoint streams JSON objects delimited by the boundary string |||FALKORDB_MESSAGE_BOUNDARY||| containing intermediate reasoning steps, follow-up questions, and the final SQL.
More Databases MCP servers
Elasticsearch MCP Server
elasticSail MCP Server for Spark SQL
lakehqDrop-in Apache Spark replacement written in Rust, unifying batch processing, stream processing, and compute-intensive AI workloads.
Dbhub
bytebaseZero-dependency, token-efficient database MCP server for Postgres, MySQL, SQL Server, MariaDB, SQLite.
mcp-server-duckdb
ktanaka101A Model Context Protocol (MCP) server implementation for DuckDB, providing database interaction capabilities
MotherDuck's DuckDB MCP Server
motherduckdbLocal MCP server for DuckDB and MotherDuck
Comments