此仓库包含一个用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查询的提示。STDIO协议
stdin读取并写入响应到stdout,使集成变得简单。日志记录
logging模块来跟踪活动和调试错误。将以下脚本保存为create_db.py:
<同上>
运行:
python create_db.py
python -m venv venv
激活环境:
macOS/Linux:
source venv/bin/activate
Windows:
venv\Scripts\activate
安装依赖项:
pip install "mcp[cli]"
sqlite_mcp_server.py。python sqlite_m_服务器.py
可选(使用uv):
uv run sqlite_mcp_server.py
将以下内容保存为install_to_claude.py并运行:
python install_to_claude.py
更新Claude桌面配置:
{
"mcpServers": {
"sqlite_mcp_server": {
"command": "python",
"args": ["-u", "/绝对路径/to/sqlite_mcp_server.py"]
}
}
}
之后重启Claude桌面。
schema://sqlite/all,schema://sqlite/startupsSELECT * FROM startups WHERE funding_amount > 10000000;
运行测试脚本:
python sqlite_mcp_client_tests.py sqlite_mcp_server.py
此脚本测试:
修改日志配置:
logging.basicConfig(
filename='mcp_server.log',
level=logging.DEBUG,
format="[%(asctime)s] %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
默认情况下,日志打印到stderr。
本项目根据MIT许可证发布。参见LICENSE文件。