sqlite-mcp-server
Генератор данных о ценах на акции
Генерирует синтетические данные о ценах на акции для бэктестинга моделей.
Цель
Этот проект генерирует реалистичные синтетические данные о ценах на акции для тестирования и валидации моделей прогнозирования цен на акции. Сгенерированные данные имитируют движение цен на акции в реальном мире с соответствующими ценовыми диапазонами и торговыми датами.
Related MCP server: mcp-sqlite3
Возможности
Акции: apple, microsoft, meta, google
Биржи: nyse, nasdaq
Ценовой диапазон: $100 - $1000
Диапазон дат: настраивается через CLI (по умолчанию: последние 90 дней)
Результат: база данных SQLite (stocks.db)
Использование
uv run python generate_pricing.py
# Custom date range
uv run python generate_pricing.py --start 2026-01-01 --end 2026-04-25Схема базы данных
CREATE TABLE stock_pricing (
id INTEGER PRIMARY KEY,
stock_name TEXT NOT NULL,
stock_price REAL NOT NULL,
date TEXT NOT NULL,
stock_exchange TEXT NOT NULL
);Требования
Python 3.11
uv
Тестирование
uv run pytest test_generate_pricing.py -vMCP-сервер
MCP-сервер теперь работает через STDIO для прямого взаимодействия с SQLite.
Запуск сервера
uv run mcp_server.pyЛицензия
MIT
Available Tools
3 toolsget_table_structureB
Get the structure of a specified table.
| Name | Required | Description | Default |
|---|---|---|---|
| table | Yes | ||
| db_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the disclosure burden. 'Get' is a reasonable signal that the operation only reads the table structure and is not destructive, which is the most important behavioral property here. However, the description doesn't state what happens on missing tables, invalid paths, or other failure cases.
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 filler or redundant content. It is compact and easy to parse, though it does not reach a 5 because it remains terse in terms of useful context.
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?
An output schema is present, so explaining the return shape is not necessary, and the tool itself is simple enough to call with two required parameters. Still, the definition lacks meaningful guidance for choosing this tool over its siblings and leaves db_path's semantics ambiguous, making the overall context adequate but not complete.
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?
Schema description coverage is 0%, and the description adds no detail about what db_path should contain or what formats are accepted for table. The phrase 'specified table' only weakly restates the table parameter and does nothing to clarify db_path, so the description does not compensate for the sparse schema.
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 names a specific verb ('Get') and a specific resource ('the structure of a specified table'), which is readable and distinguishes this tool from siblings like list_tables and query_execution. It does not explicitly say the structure includes columns, types, or constraints, so it stops just short of maximum clarity.
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 gives no explicit guidance about when to use this tool versus list_tables or query_execution. It does not mention discovering table names with list_tables first, nor does it clarify that query_execution should be used for data retrieval rather than schema inspection. Usage is only weakly implied by the stated purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tablesB
List all tables in the database.
| Name | Required | Description | Default |
|---|---|---|---|
| db_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but does not confirm that this is read-only, what kind of output is returned, or how the database path is expected to be provided.
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 clear sentence, front-loads the core operation, and contains 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?
For a simple list operation, the description is minimally adequate and an output schema exists. However, it lacks guidance on sibling tool selection and any extra context around the db_path parameter, which would make the definition more complete.
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?
Schema description coverage is 0%, so the description needed to explain db_path, but it only says 'the database'. The parameter name and title are self-explanatory, but no additional details are provided about path format, validity, or relationship to the operation.
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 ('list') and a specific resource ('all tables in the database'). The word 'all' distinguishes this from tool that inspects a single table's structure or executes arbitrary queries.
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 usage context is implied: use it when you need a list of all tables. However, it does not explicitly mention when not to use it or compare it with the sibling tools query_execution and get_table_structure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_executionB
Execute a SELECT query on the database.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | ||
| params | No | ||
| db_path | 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, the description must disclose behavioral facts itself. It only indicates that a SELECT is executed, suggesting read-only behavior, but does not describe return format, param binding, error behavior, or any side effects. This is a functional but incomplete behavioral picture.
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, efficient, front-loaded sentence with no filler or repetitive content, which is well-structured for the information it conveys. It is concise, but only because it omits much necessary contextual detail.
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 existence of the 3 parameters (2 required), a missing param descriptions, and no annotations, the description is not complete enough for an agent to invoke the tool confidently. Even with an output schema present, the description fails to clarify shared parameter roles and constraints.
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 zero description coverage and the tool description says nothing about db_path, sql, or params. An agent cannot infer what values to provide or how they relate to the query execution from the description or schema.
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 reads "Execute a SELECT query on the database," which clearly identifies the verb, the resource, and the exact operation (SELECT). This also differentiates it from sibling tools list_tables and get_table_structure, which are about schema inspection, not arbitrary data queries.
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 "SELECT" qualifier implies this tool is for read-only data retrieval rather than schema inspection, subtly pointing to when it should be used relative to siblings. However, the description does not state this explicitly, mention the alternatives, or provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
get_table_structure - First observed
list_tables - First observed
query_execution
TDQS
Each tool targets a distinct concern: executing SELECT queries, listing tables, and inspecting a table's schema. There is no meaningful overlap or ambiguity between them.
list_tables and get_table_structure follow a clear verb_noun pattern, but query_execution uses a noun-form name instead. The deviation is minor and the names remain understandable.
Three tools are well-scoped for a focused SQLite read-only server: a query execution entry point, table enumeration, and schema inspection. Each tool earns its place.
The set covers read-only database exploration well, but it lacks write or data-modification operations such as INSERT, UPDATE, DELETE, or DDL statements. This is a notable gap for a general SQLite server, though acceptable for read-only use cases.
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
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
UN FAOSTAT global food & agriculture statistics over a local SQLite mirror, via MCP.
Read-only developer, date, finance, and text utilities. Authless remote MCP server by Clean.tools.
Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA universal SQLite database management tool that enables SQL query execution through MCP protocol. Supports SELECT/INSERT/UPDATE/DELETE/CREATE operations with built-in SQL injection protection across stdio, SSE, and streamable-http communication modes.MIT
- AlicenseNot gradedqualityCmaintenanceExposes sqlite3 database functionality as MCP tools, enabling SQL query execution, schema management, and CRUD operations.1MIT
- AlicenseNot gradedqualityCmaintenanceProvides comprehensive SQLite database interaction through MCP, enabling CRUD operations, custom SQL queries, and database exploration.545127MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only querying of a local SQLite database via MCP, with tools to list tables, retrieve schema, and execute SELECT/WITH/EXPLAIN queries.-
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/rehanvipin/sqlite-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server