Neo4j预约系统 MCP 服务器

Neo4j预约系统 MCP 服务器

golfamigo

研究与数据
访问服务器

README

Neo4j预约系统 MCP 服务器

注意: 这是纯 MCP 服务器分支,已移除所有 API 相关代码。

项目介绍

本项目是一个基于Neo4j图数据库的预约系统 MCP 服务器,支持预约管理、顾客管理、员工管理、服务管理、报表分析等功能,为 Claude 等大型语言模型提供了一套完整的 MCP 工具。

功能模块

项目主要包含以下功能模块:

  1. 预约管理:创建、查询、更新和取消预约
  2. 顾客管理:顾客资料的管理和查询
  3. 员工管理:员工资料的管理和查询
  4. 服务管理:可预约服务或项目的管理
  5. 类别管理:服务类别的管理
  6. 会员等级管理:会员等级和权益管理
  7. 员工可用性管理:管理员工的工作时间和可用性
  8. 员工服务能力管理:管理员工可提供的服务
  9. 通知系统:向客户发送预约通知
  10. 商业统计:业务数据统计和分析
  11. 广告管理:广告创建和审核
  12. 用户关系管理:用户之间的关系维护

技术栈

  • 后端框架:Node.js
  • 数据库:Neo4j图数据库
  • MCP集成:@modelcontextprotocol/sdk

安装与运行

  1. 确保已安装Node.js和Neo4j数据库
  2. 克隆项目到本地
  3. 安装依赖:npm install
  4. 复制.env.example文件为.env,并配置相关环境变量
  5. 执行初始化:npm run initialize
  6. 启动服务:npm start

开发工作流程

本项目已简化开发流程,提供以下命令:

命令 描述
npm run initialize 执行一次性初始化任务,包括数据库索引创建、工具定义生成和文档生成
npm run build 编译TypeScript代码
npm start 以生产模式启动服务器
npm run dev 以开发模式启动服务器(自动编译TypeScript)
npm test 运行测试用例

重要说明

  • initialize 命令仅需在首次设置或需要重新生成资源时执行
  • 日常开发使用 npm run dev
  • 部署前构建使用 npm run build
  • 生产环境启动使用 npm start

环境变量配置

创建.env文件,包含以下配置:

NEO4J_URI=neo4j://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=your_password
PORT=3003

# 数据库初始化设置
# 设置为 true 表示跳过数据库索引和约束的初始化
# 首次部署时设置为 false,之后可改为 true 以提高启动速度
SKIP_DB_INIT=true

开发说明

项目结构

├── dist/                 # 编译后的JavaScript文件
├── docs/                 # 文档目录
├── src/
│   ├── scripts/          # 脚本文件
│   │   └── initialize/   # 初始化脚本
│   ├── tools/            # MCP工具实现
│   ├── types/            # TypeScript类型定义
│   ├── utils/            # 工具函数
│   ├── db.ts             # 数据库连接模块
│   └── index.ts          # 主入口文件
├── .env                  # 环境变量配置
├── package.json          # 项目依赖和脚本
└── README.md             # 项目说明文档

数据库模型

项目使用Neo4j图数据库,遵循"Gemini完善的资料模型.md"中定义的节点和关系模型。主要节点类型包括:

  • :Business - 商家节点
  • :User - 用户节点
  • :Customer - 顾客节点
  • :Staff - 员工节点
  • :BookableItem - 可预约项目节点
  • :Booking - 预约节点
  • :Category - 类别节点
  • :MembershipLevel - 会员等级节点
  • :StaffAvailability - 员工可用性节点
  • :Notification - 通知节点
  • :Advertisement - 广告节点

详细的数据模型请参考"Gemini完善的资料模型.md"文档。

数据库索引和约束

数据库索引和约束已在初始化脚本中设置,确保数据完整性和查询性能。执行npm run initialize时会自动创建所需的索引和约束。

MCP工具说明

本项目为Claude等LLM提供MCP工具,工具定义存储在src/tools目录下。执行npm run initialize会自动生成工具定义和文档。

工具使用文档位于docs/Tools-Usage-Guide.md,详细说明了每个工具的功能、参数和示例。

联系方式

如有问题,请联系项目负责人。


Neo4j 预约系统 MCP 服务器

注意: 这是一个纯 MCP 服务器分支,已移除所有 API 相关代码。

项目介绍

本项目是一个基于 Neo4j 图数据库的预约系统 MCP 服务器,支持预约管理、顾客管理、员工管理、服务管理、报表分析等功能,为 Claude 等大型语言模型提供了一套完整的 MCP 工具。

功能模块

项目主要包含以下功能模块:

  1. 预约管理:创建、查询、更新和取消预约
  2. 顾客管理:顾客资料的管理和查询
  3. 员工管理:员工资料的管理和查询
  4. 服务管理:可预约服务或项目的管理
  5. 类别管理:服务类别的管理
  6. 会员等级管理:会员等级和权益管理
  7. 员工可用性管理:管理员工的工作时间和可用性
  8. 员工服务能力管理:管理员工可提供的服务
  9. 通知系统:向客户发送预约通知
  10. 商业统计:业务数据统计和分析
  11. 广告管理:广告创建和审核
  12. 用户关系管理:用户之间的关系维护

技术栈

  • 后端框架:Node.js
  • 数据库:Neo4j 图数据库
  • MCP 集成:@modelcontextprotocol/sdk

安装与运行

  1. 确保已安装 Node.js 和 Neo4j 数据库
  2. 克隆项目到本地
  3. 安装依赖:npm install
  4. 复制 .env.example 文件为 .env,并配置相关环境变量
  5. 执行初始化:npm run initialize
  6. 启动服务:npm start

开发工作流程

本项目已简化开发流程,提供以下命令:

命令 描述
npm run initialize 执行一次性初始化任务,包括数据库索引创建、工具定义生成和文档生成
npm run build 编译 TypeScript 代码
npm start 以生产模式启动服务器
npm run dev 以开发模式启动服务器(自动编译 TypeScript)
npm test 运行测试用例

重要说明

  • initialize 命令仅需在首次设置或需要重新生成资源时执行
  • 日常开发使用 npm run dev
  • 部署前构建使用 npm run build
  • 生产环境启动使用 npm start

环境变量配置

创建 .env 文件,包含以下配置:

NEO4J_URI=neo4j://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=your_password
PORT=3003

# 数据库初始化设置
# 设置为 true 表示跳过数据库索引和约束的初始化
# 首次部署时设置为 false,之后可改为 true 以提高启动速度
SKIP_DB_INIT=true

开发说明

项目结构

├── dist/                 # 编译后的 JavaScript 文件
├── docs/                 # 文档目录
├── src/
│   ├── scripts/          # 脚本文件
│   │   └── initialize/   # 初始化脚本
│   ├── tools/            # MCP 工具实现
│   ├── types/            # TypeScript 类型定义
│   ├── utils/            # 工具函数
│   ├── db.ts             # 数据库连接模块
│   └── index.ts          # 主入口文件
├── .env                  # 环境变量配置
├── package.json          # 项目依赖和脚本
└── README.md             # 项目说明文档

数据库模型

项目使用 Neo4j 图数据库,遵循 "Gemini完善的资料模型.md" 中定义的节点和关系模型。主要节点类型包括:

  • :Business - 商家节点
  • :User - 用户节点
  • :Customer - 顾客节点
  • :Staff - 员工节点
  • :BookableItem - 可预约项目节点
  • :Booking - 预约节点
  • :Category - 类别节点
  • :MembershipLevel - 会员等级节点
  • :StaffAvailability - 员工可用性节点
  • :Notification - 通知节点
  • :Advertisement - 广告节点

详细的数据模型请参考 "Gemini完善的资料模型.md" 文档。

数据库索引和约束

数据库索引和约束已在初始化脚本中设置,确保数据完整性和查询性能。执行 npm run initialize 时会自动创建所需的索引和约束。

MCP 工具说明

本项目为 Claude 等 LLM 提供 MCP 工具,工具定义存储在 src/tools 目录下。执行 npm run initialize 会自动生成工具定义和文档。

工具使用文档位于 docs/Tools-Usage-Guide.md,详细说明了每个工具的功能、参数和示例。

联系方式

如有问题,请联系项目负责人。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python