用户数据查询服务

一个基于FastMCP框架的用户数据查询与分析服务,提供检索、搜索、过滤和统计功能。

  • by shoebsd31
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shoebsd31/mcpsamplereader

使用说明

用户数据服务MCP

一种模型上下文协议(MCP)服务器,提供从JSON数据库查询和分析用户数据的工具。

概述

此MCP服务器公开了一组工具,用于与存储在中的用户数据进行交互 sample.json它通过FastMCP框架提供检索、搜索、过滤和分析用户记录的功能。

特性

  • 用户检索:获取所有支持分页的用户
  • 用户查找:按ID或索引查找用户
  • 搜索:按姓名、电子邮件、公司或地址搜索用户
  • 过滤:按活动状态、性别、年龄、眼睛颜色、最喜欢的水果或标签筛选用户
  • 统计:获取用户数据库的全面统计数据

先决条件

  • Python 3.7+
  • pip(Python包管理器)

安装

  1. 克隆或下载此存储库

  2. 安装所需的依赖项:

pip install fastmcp python-dotenv
  1. 确保你有一个 sample.json 与用户数据位于同一目录中的文件

配置

创建一个 .env 如果需要配置环境变量(可选),请将文件放在项目根目录中。

用法

启动服务器

使用以下命令运行服务器:

python server.py

服务器将启动并将输出记录到控制台和 mcp_server.log.

可用工具

1.获取所有用户

使用可选分页从数据库中获取所有用户。

参数:

  • limit (可选):返回的最大用户数
  • offset (默认值:0):要跳过的用户数

退货: 用户记录列表

2.用户id

通过用户的唯一ID获取特定用户。

参数:

  • user_id:要检索的用户的_id

退货: 用户记录(如果找到),否则无

3.get_user_by_index

通过索引获取特定用户。

参数:

  • index:要检索的用户的索引

退货: 用户记录(如果找到),否则无

4.搜索用户

使用不区分大小写的部分匹配搜索用户。

参数:

  • name (可选):按名称搜索
  • email (可选):通过电子邮件搜索
  • company (可选):按公司搜索
  • address (可选):按地址搜索

退货: 匹配的用户记录列表

5.过滤器用户

按各种条件筛选用户。

参数:

  • is_active (可选):按活动状态筛选(真/假)
  • gender (可选):按性别筛选(男/女)
  • min_age (可选):最低年龄
  • max_age (可选):最大年龄
  • eye_color (可选):按眼睛颜色过滤
  • favorite_fruit (可选):按喜爱的水果筛选
  • has_tag (可选):筛选具有特定标签的用户

退货: 匹配的用户记录列表

6.用户设置

获取用户数据库的全面统计数据。

参数: 无

退货: 词典包含:

  • 用户总数
  • 活跃/非活跃用户数
  • 性别分布
  • 眼睛颜色分布
  • 最喜欢的水果分布
  • 年龄统计(最小、最大、平均)

数据格式

服务器期望 sample.json 包含具有以下结构的用户对象数组:

[
  {
    "_id": "unique-id",
    "index": 0,
    "name": "User Name",
    "email": "user@example.com",
    "company": "Company Name",
    "address": "User Address",
    "isActive": true,
    "gender": "male",
    "age": 30,
    "eyeColor": "brown",
    "favoriteFruit": "apple",
    "tags": ["tag1", "tag2"]
  }
]

日志记录

服务器将所有操作记录到:

  • 控制台输出
  • mcp_server.log 文件

日志条目包括时间戳、日志级别和有关服务器操作的详细消息。

错误处理

服务器包括以下错误处理:

  • 缺少数据文件
  • 无效的JSON格式
  • 超出范围查询

错误会记录在相应的错误消息中。

许可证

本项目按原样提供,用于演示目的。