模型上下文协议服务器

一个基于Cloudflare的MCP服务器,用于访问和查询数据库信息,支持数据库模式管理和工具集成。

  • by jubalm
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jubalm/mcp-with-d1-data

使用说明

MCP服务器:演示

概述

该存储库演示了如何构建一个可以访问和查询实际数据库信息的MCP(模型上下文协议)服务器。用途 这 @modelcontextprotocol/sdk 库利用Cloudflare的 MCPAgent 实现工具、管理资源和D1数据库。

特性

数据库

该项目与D1数据库集成(mcp-agent-d1-data)检索数据,但您应该能够使用任何数据库,只需对工具进行一些微调。还包括一些细节:

  • 模式管理:SQL迁移文件(up.sql, down.sql, seed.sql)在 db/ 目录管理数据库模式和种子数据。

MCP服务器(MyMCP)

这 MyMCP 类扩展 McpAgent 类从 @modelcontextprotocol/sdk 图书馆。它充当核心服务器实现,提供服务器发送事件(SSE)作为基础传输。

  • 耐用物体:服务器被实现为持久对象,它允许有状态的交互和长流程操作。它还具有空闲时内置的休眠功能。

查询工具

这 query 该工具旨在通过提供一个接口与数据库交互,LLM可以在该接口上向数据库发送SQL查询。在生产环境中小心使用,并采取适当的授权保护措施。

内省工具

这 schema-introspection 该工具对于帮助LLM理解数据库的结构以生成更准确的查询设计特别有用。

集成测试

集成测试包含在 tests/ 目录开始。验证MCP服务器及其工具的功能,或使用TDD测试。

npm run test

项目结构

📦 d1-mcp
├── package.json
├── README.md
├── tsconfig.json
├── vitest.config.js
├── worker-configuration.d.ts
├── wrangler.jsonc
├── db
│   ├── down.sql
│   ├── seed.sql
│   └── up.sql
├── public
│   └── index.html
├── src
│   ├── index.ts
│   ├── metadata.ts
│   ├── tools.ts
│   └── utils.ts
└── tests
    ├── index.test.ts
    └── tsconfig.json

入门指南

先决条件

  • Node.js
  • Cloudflare Workers CLI(wrangler)

安装

  1. 克隆存储库。
  2. 安装依赖项:
    npm install
    

发展

  • 启动开发服务器:
    npm run dev
    

部署

  • 部署到Cloudflare Workers:
    npm run deploy
    

许可证

该项目根据MIT许可证获得许可。