Skip to main content
Glama

🔥 wsqlite-mcp

Version License MCP

Transform your AI Agents into expert WSQLite Architects.

wsqlite-mcp is a professional Model Context Protocol (MCP) server that bridges the gap between AI Agents (Claude, Gemini, OpenCode) and WSQLite. It empowers agents to search, design, and deploy high-performance SQLite-backed services following strict industry-standard patterns.


✨ Key Features

  • 🔍 Expert Pattern Catalog: Query production-ready patterns across all WSQLite features (CRUD, Async, Batch, Transactions, Relationships, Query Builder, FTS5, Migrations, Pools, Soft Delete, Pagination).

  • 🏗️ Strict Architecture Enforcement: Guides AI to output clean code using mandatory config/, models/, repositories/, migrations/, and main.py folder structures.

  • 📘 Architect's Manual: Built-in expertise for Monolith-to-SQLite refactoring, schema design, connection pooling, and atomicity patterns.

  • 💻 Unified CLI: Manage your MCP service with simple commands: run, start, stop, and config.

  • 🛡️ Privacy First: 100% local execution via stdio or SSE.


Related MCP server: MCP Database Manager

🚀 Quick Start

1. Installation

Clone the repository and run the automated installer, or install via pip:

pip install -e .

2. Integration

Get your agent-specific configuration block and installation commands by running:

wsqlite-mcp config

The CLI will dynamically detect your Python environment and provide exact copy-paste commands for Gemini CLI (e.g. gemini mcp add ...) and JSON blocks for Claude Desktop.


🛠️ CLI Usage

Command

Description

wsqlite-mcp run

Start the server in stdio mode (default for agents).

wsqlite-mcp start

Start as an SSE server in the background.

wsqlite-mcp stop

Stop the background server.

wsqlite-mcp config

Generate and save JSON config to .agents/wsqlite-mcp.json.

wsqlite-mcp config --print

Show JSON configuration in stdout (no file creation).

wsqlite-mcp help

Show available tools and commands.


🛠️ MCP Tools

Tool

Description

get_wsqlite_architect_blueprints

Copy-pasteable expert code for models, CRUD, transactions, FTS5, migrations, pools, and more.

search_wsqlite_pattern

Search the official/community catalog for production-ready SQLite patterns.

deploy_wsqlite_scaffolding

Deploy a professional WSQLite project structure (config/, models/, repositories/, migrations/, main.py).

get_wsqlite_architect_manual

Expert manual for building high-performance SQLite-backed systems.


📂 Project Structure

  • src/wsqlite_mcp/: Core server logic and tools.

  • src/wsqlite_mcp/catalog.py: Pattern catalog synchronization with local fallbacks.

  • src/wsqlite_mcp/templates.py: Professional boilerplate definitions.

  • examples/: Sample implementations and use cases.


📄 License

MIT License - Crafted with ❤️ by William Rodriguez (wisrovi).

Available Tools

6 tools
deploy_wsqlite_scaffoldingC

Deploys a professional WSQLite project structure following wisrovi standards.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_dirYes
project_nameNowsqlite_project
scaffold_typeNostandard

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that a project structure is deployed but does not reveal side effects (e.g., filesystem writes, overwrite behavior), required permissions, or what 'wisrovi standards' entail. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately brief for a high-level summary, though it sacrifices informational depth for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and a schema with zero parameter descriptions, the description is incomplete. The output schema may document return values, but the description does not explain what structure is created, how parameters affect the output, or what side effects occur. For a scaffolding tool with three parameters, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has three parameters (target_dir, project_name, scaffold_type) with no descriptions, and the tool description mentions none of them. Schema description coverage is 0%, and the description does not compensate by explaining the roles or constraints of these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Deploys') and resource ('WSQLite project structure'), clearly distinguishing it from sibling tools like validate_model_schema and generate_migration_from_models. The qualifier 'following wisrovi standards' adds context without obscuring the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or when a different scaffolding or project setup tool would be more appropriate. The usage context is only implied by the verb 'Deploys'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_migration_from_modelsC

Generate a migration file from Pydantic model definitions.

Parses model definitions and creates a migration that creates tables matching the model schemas. Returns the migration code as a string.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathNoapp.db
models_codeYes
migration_nameNoauto_migration

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior, but it ambiguously says 'Generate a migration file' while also 'Returns the migration code as a string.' It does not clarify whether it writes to disk or only returns the string, nor does it mention side effects or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose and concise expansion. Every sentence earns its place with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description fails to cover key contextual aspects: parameter semantics are missing, side effects are ambiguous, and no usage guidance is provided. The agent would struggle to invoke the tool correctly, especially regarding db_path and migration_name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description names no parameters. It does not explain that models_code is the required Pydantic code, nor does it mention db_path or migration_name, leaving the agent without essential parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a migration file from Pydantic model definitions, and further details that it parses models and creates table-creating migration code. This is a specific verb+resource and is distinct from sibling tools like validate_model_schema or deploy_wsqlite_scaffolding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or expected context. It does not mention when-not-to-use or reference sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wsqlite_architect_blueprintsA

Complete reference with read/write/update examples for every WSQLite feature.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only describes the content (read/write/update examples) but does not reveal how the tool behaves, such as return format, size, or whether it is a static document or dynamically generated. This leaves the agent uncertain about what to expect when invoking it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence that immediately communicates the tool's purpose and scope. Every word contributes to the meaning, and it is appropriately front-loaded with 'Complete reference'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter retrieval tool with an existing output schema, the description is largely sufficient. It specifies the content and coverage, and the output schema presumably details return values. Minor gap: it does not clarify the relationship to the sibling 'get_wsqlite_architect_manual', which could be important context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is trivially 100%. The description adds contextual value by specifying the nature of the content (complete reference with examples), which helps set expectations despite not requiring parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a complete reference with read/write/update examples for WSQLite features. The 'get' prefix implies retrieval, and the scope is well-defined. However, it does not distinguish itself from the sibling tool 'get_wsqlite_architect_manual', which may also serve as a reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage when a comprehensive reference is needed, but does not explicitly mention when not to use it or alternatives like 'search_wsqlite_pattern'. There is no exclusionary guidance to differentiate from the sibling 'get_wsqlite_architect_manual', leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wsqlite_architect_manualB

Expert manual for building high-performance SQLite-backed systems (wisrovi standard).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavioral traits. It only says the tool is a 'manual' but does not state whether it returns static content, requires no side effects, or how it behaves. There is no mention of read-only nature, authentication, or output format. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the essential purpose without any fluff. It is front-loaded and concise, earning every word it uses. No unnecessary details or repetitions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no params, likely static content) and has an output schema. However, the description lacks context such as what kind of manual content is included, how it relates to the other architect tools, or what to expect in the output. It is minimally viable but leaves room for clarifying its role within the toolkit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema has 100% coverage (empty properties). The baseline for 0 parameters is 4, and the description need not explain parameter semantics. It correctly implies there are no inputs to configure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides an 'Expert manual' for building high-performance SQLite-backed systems, which is specific to the 'wisrovi standard'. It distinguishes itself from sibling tools like get_wsqlite_architect_blueprints by positioning itself as a manual rather than blueprints. The verb is implicit (get) but the resource is clearly a manual.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (e.g., search_wsqlite_pattern, deploy_wsqlite_scaffolding). The description does not mention use cases, prerequisites, or situations where this manual would be preferred. It is implied that usage is for general reference, but no explicit direction is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_wsqlite_patternB

Search for production-ready SQLite patterns in official catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only indicates a 'search' action, implying a read-only operation, but does not explicitly state side effects, result ordering, or any limitations. There is no information about authentication, rate limits, or what qualifies as a 'pattern,' leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler words. It is front-loaded with the action verb and clearly communicates the core purpose. Every word contributes value, making it an appropriate length for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, one required parameter, and the presence of an output schema (which reduces the need to explain return values), the description is minimally sufficient. However, it does not cover usage alternatives or parameter details, and relies heavily on the tool's name and sibling context. It is adequate but leaves noticeable gaps in guidance for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides a single 'query' parameter with no description, giving 0% coverage. The description implies that 'query' is the search term for patterns, which adds some meaning beyond the schema, but it does not clarify expected format, matching behavior, or any constraints. This is insufficient compensation for the lack of schema documentation, so the parameter semantics remain mostly inferred.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search' and specifies the resource: 'production-ready SQLite patterns in official catalog.' This is distinct from sibling tools like validate_model_schema or generate_migration_from_models, which focus on different actions and entities. The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage for searching SQLite patterns but does not explicitly state when to use it over alternatives or mention any exclusions. There is no reference to sibling tools or conditions, leaving the guidance implicit rather than explicit. This meets the 'implied usage' level, not the 'clear context' level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_model_schemaA

Validate a Pydantic model definition for WSQLite compatibility.

Checks for common issues:

  • Missing primary key

  • Invalid field descriptions

  • Missing required imports

  • FTS5 configuration correctness

ParametersJSON Schema
NameRequiredDescriptionDefault
model_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the specific validation checks performed, which is useful. However, it does not mention whether the tool is read-only, what happens on failure, or any side effects. This leaves some behavioral assumptions unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It opens with a clear one-sentence summary, followed by a succinct bulleted list of checks. Every sentence adds value and there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is largely complete given the tool's complexity: one parameter, an output schema, and no annotations. It covers the purpose and key checks, and the output schema handles return-value details. Missing only a few behavioral notes (e.g., non-destructive guarantee) and explicit usage guidance, which are already penalized in other dimensions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for the single parameter 'model_code', and schema coverage is 0%. The description adds that it is a 'Pydantic model definition', which clarifies the parameter's role, but it does not specify the exact format (e.g., source code string, file path, JSON). This partial compensation is insufficient to fully overcome the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Validate a Pydantic model definition for WSQLite compatibility.' It uses a specific verb and resource, and the bulleted list of checks further specifies the scope. This clearly distinguishes it from sibling tools like generate_migration_from_models or deploy_wsqlite_scaffolding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: you would use this tool to validate a model before relying on it in WSQLite. However, it does not explicitly mention when to use it relative to siblings, nor does it state exclusions or alternatives. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes: validation, migration generation, pattern search, scaffolding deployment, and reference. However, 'get_wsqlite_architect_blueprints' and 'get_wsqlite_architect_manual' have overlapping descriptions as reference materials, causing slight ambiguity.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern in snake_case (validate, generate, search, deploy, get). The 'generate_migration_from_models' is slightly longer than others, and the two 'get_wsqlite_architect_*' tools share a prefix, but overall the naming is predictable and readable.

Tool Count5/5

Six tools is well-scoped for a development-oriented server, covering validation, migration, search, scaffolding, and documentation. Each tool fills a clear role without redundancy.

Completeness4/5

The toolset covers the core workflow of model validation and migration generation, plus project scaffolding and reference lookup. Missing tools for applying migrations or direct model CRUD, but these gaps are not critical for a development assistant.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Local MCP server for persistent, searchable agent memory using SQLite FTS5, replacing flat MEMORY.md files with efficient full-text search and workspace context caching.
    GPL 3.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    A secure MCP server that exposes a SQLite database to AI agents with Role-Based Access Control, supporting authentication, customer/order/user management, and audit logging.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wisrovi/wsqlite_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server