wsqlite-mcp
Provides tools for designing, searching, and deploying SQLite-backed service architectures, including patterns for CRUD, transactions, FTS5, migrations, connection pooling, and project scaffolding.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wsqlite-mcpsearch for a pattern for async batch inserts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔥 wsqlite-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/, andmain.pyfolder 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, andconfig.🛡️ Privacy First: 100% local execution via
stdioorSSE.
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 configThe 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 |
| Start the server in |
| Start as an SSE server in the background. |
| Stop the background server. |
| Generate and save JSON config to |
| Show JSON configuration in stdout (no file creation). |
| Show available tools and commands. |
🛠️ MCP Tools
Tool | Description |
| Copy-pasteable expert code for models, CRUD, transactions, FTS5, migrations, pools, and more. |
| Search the official/community catalog for production-ready SQLite patterns. |
| Deploy a professional WSQLite project structure ( |
| 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 toolsdeploy_wsqlite_scaffoldingC
Deploys a professional WSQLite project structure following wisrovi standards.
| Name | Required | Description | Default |
|---|---|---|---|
| target_dir | Yes | ||
| project_name | No | wsqlite_project | |
| scaffold_type | No | standard |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| db_path | No | app.db | |
| models_code | Yes | ||
| migration_name | No | auto_migration |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for managing and searching multi-tenant knowledge bases backed by SQLite with FTS5, enabling AI agents to persist and retrieve content via full-text search.131MIT
- FlicenseNot gradedqualityDmaintenanceSelf-documenting MCP server enabling AI agents to autonomously create, manage, and query SQLite databases with enforced metadata requirements for discoverability.
- AlicenseNot gradedqualityBmaintenanceLocal 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
- FlicenseNot gradedqualityCmaintenanceA 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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