sqlite-mcp

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Basarisiz
  • rm -rf — Recursive force deletion command in .github/workflows/main.yml
  • fs module — File system access in packages/node/generate-platform-packages.js
  • execSync — Synchronous shell command execution in packages/node/src/platform.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

A SQLite extension that integrates the Model Context Protocol, enabling SQLite databases to connect to MCP servers and call their tools.

README.md
SQLite AI

SQLite-MCP

Call MCP tools directly from SQL.
Integrates the Model Context Protocol into SQLite — connect to any MCP server and invoke its tools from inside a query. Bridge between your database and the agent ecosystem.

Free managed instance → · Docs · Website · Blog

Data: Vector · Sync · Columnar · JS
AI: AI · Agent · Memory · MCP


Want managed MCP infrastructure? SQLite-MCP connects to any MCP server locally; SQLite Cloud includes a built-in MCP server, edge functions, and auth — so you can expose your data as an MCP target. Free tier available.


SQLite MCP

A SQLite extension that integrates the Model Context Protocol (MCP) Rust SDK, enabling SQLite databases to connect to MCP servers and call their tools.

🚀 Quick Start

Installation

Pre-built Binaries

Download for your platform: macOS, Linux, Windows, Android, and iOS.

Flutter Package

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.

Basic Usage

-- 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

📖 API Reference

Available Functions

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.

🏗️ Building from Source

Requirements

  • Rust: 1.85+ toolchain
  • C Compiler: gcc or clang
  • Make: GNU Make

Build Instructions

# 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}.

🔧 Transport Protocols

The extension supports two MCP transport protocols:

Streamable HTTP (Default)

Modern streaming HTTP transport for MCP servers.

SELECT mcp_connect('http://localhost:8000/mcp');

SSE (Legacy)

Server-Sent Events for compatibility with older servers.

SELECT mcp_connect('http://localhost:8931/sse', 1);

🚦 Quick Usage Example

#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.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


📄 License

MIT License - See LICENSE for details


☁️ Hosted version

Want to expose your database as an MCP target? SQLite Cloud includes a built-in MCP server, REST APIs, auth, and edge functions — so any MCP-compatible agent (Claude, Cursor, custom clients) can read and write your data securely.

Start free →


Part of the SQLite AI stack

SQLite-MCP is one piece of a larger ecosystem that turns SQLite into a runtime for intelligent, distributed data:

Data layer

AI layer

  • sqlite-ai — On-device LLM inference and embeddings
  • sqlite-agent — Autonomous AI agents running inside SQLite
  • sqlite-memory — Persistent, searchable memory for agents
  • sqlite-mcp — Call MCP tools directly from SQL queries (you are here)

Managed platform

Built by SQLite AI. Questions? Open a discussion or contact us.

Yorumlar (0)

Sonuc bulunamadi