Token导航 LogoToken导航TokenDH.com
MCP Chinookdb Server logo
数据服务stdio官方级别未说明来源级核验

MCP Chinookdb Server

MCP Server

提供对Chinook SQLite数据库的安全、标准化的MCP协议访问,支持LLM和其他MCP兼容客户端进行交互式查询。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
数据分析PythonSQLite模型集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

andrewwgordon

提供方

andrewwgordon

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run chinook_mcp_server.py

详细介绍

mcp-chinookdb服务器

示例MCP服务器,提供LLM MCP对示例sqlite3 Chinook数据库的访问

概述

该项目为 Chinook SQLite数据库 以及用于交互式查询的示例Agno代理客户端。它使LLM和其他MCP兼容客户端能够使用标准化协议安全地探索和查询Chinook数据库。

主要特点

  • 自动数据库下载:

- 下载并提取Chinook SQLite数据库(如果不存在)。

  • 资源端点:

- schema://chinook/tables:返回数据库中所有表的架构。 - schema://chinook/table/{table_name}:返回特定表的架构。

  • SQL查询工具:

- run_sql_query:允许执行只读(SELECT)SQL查询。为了安全起见,只允许使用SELECT语句。

  • 提示模板:

- 为常见任务提供提示模板,例如列出表、显示表架构、计数行和查询顶级艺术家。

  • 安全SQL标识符逃逸:

- 包含一个本地函数,用于安全地转义SQLite的SQL标识符。

  • Agno代理集成:

- 包括一个示例客户端(agno_test_client.py)演示了如何连接到MCP服务器并使用LLM代理与之交互。

如何开始

1.安装

  • 克隆存储库:
  curl -LsSf https://astral.sh/uv/install.sh | sh
  git clone 
  cd mcp-chinookdb-server
  • 使用uv安装Python依赖项:
  uv sync

确保您已安装Python 3.8+ 紫外线 在您的环境中可用。

2.运行MCP服务器

  • 启动服务器:
  uv run chinook_mcp_server.py

如果需要,服务器将自动下载Chinook数据库,并开始监听MCP请求(默认:stdio传输)。

3.使用Agno测试客户端

  • 启动交互式客户端:
  uv run agno_test_client.py

这将启动一个REPL,您可以在其中键入有关Chinook数据库的自然语言查询。客户端将启动MCP服务器(如果尚未运行),并使用LLM(例如OpenAI GPT-4)来解释您的查询,并通过MCP工具与数据库交互。

  • 示例查询:

- List all tables. - Show the schema for the Album table. - How many tracks are there in the database? - Who are the top 5 artists by number of tracks?

  • 要退出: 类型 q, quit,或 exit 在提示下。

程序如何工作

chinook_mcp_server.py

  • 实现一个MCP服务器,该服务器通过资源端点、工具和提示模板公开Chinook数据库。
  • 处理数据库的自动下载和提取。
  • 提供对架构和数据的安全只读访问。
  • 设计用于LLM或任何兼容MCP的客户端。

agno_test_client.py

  • 演示如何使用Agno代理框架连接到MCP服务器。
  • 将MCP服务器作为子进程启动(使用 uv run chinook_mcp_server.py 用于快速启动)。
  • 使用LLM(例如OpenAI GPT-4)来解释用户查询并调用MCP工具/资源。
  • 为交互式探索提供了一个简单的REPL。

安全说明

  • 只允许通过SELECT查询 run_sql_query 工具。
  • SQL标识符被安全地转义以防止注入。

定制

  • 您可以按照中的模式添加更多MCP资源、工具或提示 chinook_mcp_server.py.
  • 客户端可以扩展为使用不同的LLM或提供更高级的会话功能。

参考文献

奇努克数据库概述

Chinook SQLite数据库是一个模拟数字音乐商店的示例数据库,类似于iTunes。它被广泛用于SQL学习和演示。该模式旨在表示在线音乐商店中的核心实体和关系,包括客户、员工、艺术家、专辑、曲目、发票等。

概念概述

  • 艺术家 发布 专辑.
  • 专辑 包含多个 曲目 (歌曲或音频文件)。
  • 轨迹 按以下方式分类 类型纸张类型.
  • 客户 通过以下方式购买曲目 发票.
  • 员工 代表员工,包括销售支持。
  • 发票行 在发票中详细说明购买的每条轨道。
  • 播放列表 允许对曲目进行分组以供收听。

主表和列

  • 艺术家

- ArtistId (INTEGER,PK):唯一艺术家标识符 - Name (NVARCHAR):艺人名称

  • 专辑

- AlbumId (INTEGER,PK):唯一专辑标识符 - Title (NVARCHAR):专辑标题 - ArtistId (INTEGER,FK):参考艺术家

  • 轨道

- TrackId (INTEGER,PK):唯一轨道标识符 - Name (NVARCHAR):曲目名称 - AlbumId (INTEGER,FK):参考专辑 - MediaTypeId (INTEGER,FK):参考媒体类型 - GenreId (INTEGER,FK):参考流派 - Composer (NVARCHAR):作曲家名称 - Milliseconds (整数):轨道长度 - Bytes (INTEGER):文件大小 - UnitPrice (数字):每条轨道的价格

  • 类型

- GenreId (INTEGER,PK):唯一流派标识符 - Name (NVARCHAR):流派名称

  • 媒体类型

- MediaTypeId (INTEGER,PK):唯一的媒体类型标识符 - Name (NVARCHAR):媒体类型名称(例如,MPEG音频、AAC音频)

  • 客户

- CustomerId (INTEGER,PK):唯一客户标识符 - FirstName, LastName (NVARCHAR):客户名称 - Company, Address, City, State, Country, PostalCode (NVARCHAR):联系方式 - Phone, Fax, Email (NVARCHAR):联系方式 - SupportRepId (INTEGER,FK):分配给客户的员工

  • 员工

- EmployeeId (INTEGER,PK):唯一的员工标识符 - LastName, FirstName (NVARCHAR):员工姓名 - Title (NVARCHAR):职位名称 - ReportsTo (INTEGER,FK):经理 - BirthDate, HireDate (日期时间):日期 - Address, City, State, Country, PostalCode, Phone, Fax, Email (NVARCHAR):联系方式

  • 发票

- InvoiceId (INTEGER,PK):唯一发票标识符 - CustomerId (INTEGER,FK):客户进行购买 - InvoiceDate (日期时间):发票日期 - BillingAddress, BillingCity, BillingState, BillingCountry, BillingPostalCode (NVARCHAR):账单信息 - Total (数字):总金额

  • InvoiceLine

- InvoiceLineId (INTEGER,PK):唯一的行项目标识符 - InvoiceId (INTEGER,FK):参考发票 - TrackId (INTEGER,FK):轨道参考 - UnitPrice (数字):每条轨道的价格 - Quantity (INTEGER):购买的曲目数量

  • 播放列表

- PlaylistId (INTEGER,PK):唯一播放列表标识符 - Name (NVARCHAR):播放列表名称

  • 播放列表Track

- PlaylistId (INTEGER,FK):参考播放列表 - TrackId (INTEGER,FK):轨道参考

此模式支持广泛的查询和分析,例如查找顶级艺术家、最受欢迎的流派、客户购买历史等。

______________________________________________________________________

目录标签

目录标签

数据分析PythonSQLite模型集成数据库查询本地部署MCP协议LLM集成安全查询

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP