本项目是一个用 Python 编写的 MCP(模型上下文协议)服务器,它能连接到包含初创公司融资数据的 SQLite 数据库。服务器会公开表结构作为资源,提供只读 SQL 查询工具,还能提供常见数据分析任务的提示模板。该服务器可与 MCP 客户端和大语言模型(LLMs)配合使用,通过 STDIO 协议进行通信。
本 MCP 服务器使用 MCP Python SDK(带 CLI 额外功能),具备以下功能:
schema://sqlite/{table}:返回特定表的 SQL 结构。schema://sqlite/all:返回所有表结构的 JSON 映射。sql_query:执行只读 SQL 查询,仅允许 SELECT 语句。analyze_table_prompt:生成特定表的分析提示。describe_query_prompt:生成解释 SQL 查询的提示。从 stdin 读取,将响应写入 stdout,集成简单方便。
使用 Python 的 logging 模块跟踪活动和调试错误。
将以下脚本保存为 create_db.py:
<同上>
运行命令:
python create_db.py
python -m venv venv
激活环境:
source venv/bin/activate
venv\Scripts\activate
安装依赖项:
pip install "mcp[cli]"
sqlite_mcp_server.py。python sqlite_mcp_server.py
使用 uv 可选:
uv run sqlite_mcp_server.py
将以下内容保存为 install_to_claude.py 并运行:
python install_to_claude.py
mcp server --host localhost:5000 --get schema://sqlite/sales
mcp server --host localhost:5000 --query "SELECT * FROM sales LIMIT 5"
mcp server --host localhost:5000 --describe "SELECT COUNT(*) FROM customers WHERE state = 'CA'"
pip install mcp-cli
mcp test --host localhost:5000 --test-get schema://sqlite/sales
mcp test --host localhost:5000 --test-query "SELECT * FROM sales LIMIT 5"
在 logging_config.json 中添加以下内容:
{
"version": 1,
"handlers": {
"file_handler": {
"class": "logging.FileHandler",
"filename": "mcp_server.log",
"level": "INFO"
}
},
"root": {
"level": "INFO",
"handlers": ["file_handler"]
}
}
在 sqlite_mcp_server.py 中添加以下内容:
import logging
from logging.config import fileConfig
fileConfig("logging_config.json")
logger = logging.getLogger()
def main():
# ...
logger.info("Starting MCP Server")
# ...
if __name__ == "__main__":
main()
此项目受 MIT License 保护。