A SQLite extension that integrates the Model Context Protocol, enabling SQLite databases to connect to MCP servers and call their tools.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"sqlite-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A SQLite extension that integrates the Model Context Protocol, enabling SQLite databases to connect to MCP servers and call their tools.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data
Manage Supabase projects — databases, auth, storage, and edge functions
Query and manage PostgreSQL databases directly from AI assistants
MCPSDK.dev(ToolSDK.ai)'s Awesome MCP Servers and Packages Registry and Database with Structured JSON configurations. Supports OAuth2.1, DCR...
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
MCP Security Weekly
Get CVE alerts and security updates for Sqlite Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A SQLite extension that integrates the Model Context Protocol (MCP) Rust SDK, enabling SQLite databases to connect to MCP servers and call their tools.
Download for your platform: macOS, Linux, Windows, Android, and iOS.
Add the sqlite_mcp package to your project:
flutter pub add sqlite_mcp # Flutter projects
dart pub add sqlite_mcp # Dart projects
Usage with sqlite3 package:
import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite_mcp/sqlite_mcp.dart';
sqlite3.loadSqliteMcpExtension();
final db = sqlite3.openInMemory();
print(db.select('SELECT mcp_version()'));
For a complete example, see the Flutter example.
-- Load the extension
.load ./dist/mcp.dylib
-- Check version
SELECT mcp_version();
-- 0.1.0
-- Connect to an MCP server
SELECT mcp_connect('http://localhost:8000/mcp');
-- {"status": "connected", "transport": "streamable_http"}
-- List available tools
SELECT mcp_list_tools_json();
-- Returns JSON with tool schemas
-- Call a tool
SELECT mcp_call_tool_json('airbnb_search', '{"location": "Rome", "maxPrice": 100}');
-- Returns search results
| Function | Description |
|---|---|
mcp_version() | Returns extension version |
mcp_connect(url, [headers], [sse]) | Connect to MCP server with optional custom headers |
mcp_list_tools_json() | List available tools with schemas |
mcp_call_tool_json(name, args) | Call a tool on the MCP server |
mcp_list_tools_respond | Virtual table (cached) that returns each tool as a row with structured columns |
mcp_call_tool_respond(name, args) | Virtual table that extracts text results from tool calls |
mcp_list_tools | Streaming virtual table that returns tools as they arrive |
mcp_call_tool(name, args) | Streaming virtual table for real-time tool results |
See API.md for complete API documentation with examples.
# Clone the repository
git clone https://github.com/sqliteai/sqlite-mcp.git
cd sqlite-mcp
# Initialize submodules
git submodule update --init --recursive
# Build the extension
make
The compiled extension will be in dist/mcp.{dylib,so,dll}.
The extension supports two MCP transport protocols:
Modern streaming HTTP transport for MCP servers.
SELECT mcp_connect('http://localhost:8000/mcp');
Server-Sent Events for compatibility with older servers.
SELECT mcp_connect('http://localhost:8931/sse', 1);
#include <sqlite3.h>
#include <stdio.h>
int main() {
sqlite3 *db;
sqlite3_open(":memory:", &db);
sqlite3_enable_load_extension(db, 1);
sqlite3_load_extension(db, "./dist/mcp", NULL, NULL);
sqlite3_stmt *stmt;
// Connect to MCP
sqlite3_prepare_v2(db,
"SELECT mcp_connect('http://localhost:8000/mcp')",
-1, &stmt, NULL);
sqlite3_step(stmt);
printf("Connected: %s\n", sqlite3_column_text(stmt, 0));
sqlite3_finalize(stmt);
// Call tool
sqlite3_prepare_v2(db,
"SELECT mcp_call_tool_json('airbnb_search', '{\"location\": \"NYC\"}')",
-1, &stmt, NULL);
if (sqlite3_step(stmt) == SQLITE_ROW) {
printf("Result: %s\n", sqlite3_column_text(stmt, 0));
}
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
See USAGE.md for complete usage examples.
Contributions are welcome! Please feel free to submit a Pull Request