SQLite MCP 服务器示例

一个基于TypeScript和SQLite的Model Context Protocol (MCP)服务器示例,提供产品分类和价格范围查询功能。

  • by carljmosca
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 carljmosca/mcp-sqlite-ts-example

使用说明

Sqlite TypeScript MCP示例服务器

注: 此项目改编自之前的MCP TypeScript示例。它已被修改为使用SQLite,在结构或功能上可能与原始示例不同。有关更改的详细信息,请查看代码和文档。

这个项目展示了一个最小 模型上下文协议(MCP) 使用TypeScript实现服务器,使用官方 TypeScript SDK.它为工具调用和资源访问提供了一个简单的API,并与用于测试和探索的MCP Inspector兼容。


特性

  • 产品分类工具:通过MCP协议按类别检索产品。
  • 按价格范围工具分类的产品:通过MCP协议按价格范围检索产品。
  • 可流式HTTP传输:使用MCP推荐的HTTP传输。
  • Express.js集成:易于扩展且熟悉的web服务器设置。
  • SQLite集成:(修改)此版本旨在演示SQLite与MCP的使用(详细信息请参见 server.ts).

快速开始

npm install @modelcontextprotocol/sdk express zod@3
# Create and populate the SQLite database:
bash create_products_db.sh
# Start the server:
npx -y tsx server.ts
# (Optional) Launch the MCP Inspector:
npx @modelcontextprotocol/inspector

入门指南

1.安装依赖项

npm install @modelcontextprotocol/sdk express zod@3

2.创建并填充数据库

bash create_products_db.sh

这将创建一个 products.db SQLite数据库 products 表和100个示例项。

3.运行服务器

npx -y tsx server.ts

服务器将于启动 http://localhost:3000/mcp.

4.使用MCP检查员进行测试

您可以使用官方的MCP检查器与此服务器进行交互:

npx @modelcontextprotocol/inspector

检查器设置:

  • 运输类型: 流式HTTP
  • 网址: http://localhost:3000/mcp
  • 连接类型: 通过代理

API概述

工具

  • 产品分类:获取给定类别中的所有产品。

    • 输入: { "category": string }
    • 输出: { "rows": Product[], "rowCount": number }
  • 产品价格范围:让所有产品都在价格范围内。

    • 输入: { "minPrice": number, "maxPrice": number }
    • 输出: { "rows": Product[], "rowCount": number }

哪里 Product 是:

{
  "id": number,
  "name": string,
  "description": string,
  "category": string,
  "price": number
}

资源

目前,此服务器没有公开自定义资源。唯一注册的资源是 schema://main,它返回SQLite数据库模式。


SQLite注释

此示例基于之前的MCP TypeScript示例,但经过修改以演示SQLite集成。包括 create_products_db.sh 该脚本创建了一个示例数据库,供新产品工具使用。如果您正在寻找原始示例,请参阅 TypeScript SDK存储库.审查 server.ts 用于SQLite相关的逻辑和工具定义。


项目结构

  • server.ts --主服务器实现(包括SQLite逻辑和产品工具)
  • create_products_db.sh --创建和填充SQLite数据库的脚本
  • products.db --生成的SQLite数据库(运行脚本后)
  • package.json --项目依赖关系
  • README.md --本文件

故障排除

  • 确保已安装Node.js 18+。
  • 如果您看到端口冲突,请在中更改端口 server.ts 或设置 PORT 环境变量。
  • 有关MCP检查器问题,请参阅 MCP检查员文件.

许可证

麻省理工学院(见 许可证 如果存在)