人员信息检索服务

一个基于Python的MCP服务器,通过自然语言查询从Supabase数据库中搜索和检索人员信息。

  • by sanjayamirthraj
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sanjayamirthraj/people-mcp-python

使用说明

人员MCP服务器

基于Python的MCP(模型上下文协议)服务器,使AI助手能够使用自然语言查询从Supabase数据库中搜索和检索人员信息。

特性

  • 自然语言搜索:使用自然语言查询搜索人员
  • 详细人员信息:获取有关特定个人的全面详细信息
  • 图像搜索:通过电子邮件查找与人相关的图像
  • 列出所有人:使用分页浏览数据库中的所有人

可用工具

1. search_people

使用自然语言查询搜索人员。

示例:

  • “找到约翰·史密斯”
  • “谁在科技公司工作”
  • “有电子邮件的人john@example.com"
  • “旧金山人”
  • “软件工程师职位”

2. get_person_details

通过电子邮件地址获取有关特定人员的全面信息。

3. search_by_image

通过电子邮件地址查找与某人关联的图像。

4. list_all_people

列出数据库中具有可选限制的所有人员(默认值:10,最大值:100)。

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 运行服务器:
python src/server.py

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

MCP检验员测试

  1. 安装MCP检查器:
npm install -g @modelcontextprotocol/inspector
  1. 运行MCP检查器:
npx @modelcontextprotocol/inspector
  1. 连接到服务器:
  • 首选http://localhost:3000
  • 选择“流式HTTP”作为传输
  • 输入URL: http://localhost:8000/mcp
  • 点击“连接”

配置

所有配置都是硬编码的 src/server.py:

  • 后缀URL: https://afwpcbmhvjwrnolhrocz.supabase.co
  • Supabase服务密钥:具有完全访问权限的硬编码服务角色密钥
  • 使用的表格:
    • nyne_results:主要人员数据表
    • images_names:图像存储表

数据库模式

nyne_results表

  • email (文本)-主要标识符
  • name (文本)-全名
  • phone (文本)-电话号码
  • company (文本)-公司名称
  • title (文本)-职位名称
  • location (文本)-地理位置
  • data (json)-扩展的结构化数据,包含:
    • 显示名称、生物、性别
    • 全手机(阵列)、altemails(阵列)
    • social_profiles(对象)
    • 组织(数组)

images_names表

  • email (文本)-个人电子邮件
  • image (bytea)-二进制图像数据

自然语言查询处理

服务器智能解析自然语言查询以提取:

  • 电子邮件地址:使用正则表达式模式检测
  • 电话号码:以各种格式识别
  • 公司名称:关键词如“工作在”、“来自公司”
  • 各种职务名称:关键字如“标题”、“职位”、“角色”
  • 位置:关键字如“来自”、“在”、“位置”
  • 名称:未检测到特定字段时的默认提取

要渲染的部署

选项1:一键部署

单击上面的“部署到渲染”按钮。

选项2:手动部署

  1. 将此存储库分叉或推送到GitHub
  2. 将您的GitHub帐户连接到Render
  3. 在Render上创建新的Web服务
  4. 连接您的存储库
  5. 渲染将自动检测 render.yaml 配置

您的服务器将在以下位置可用: https://your-service-name.onrender.com/mcp

地方发展

设置环境

conda create -n people-mcp python=3.13
conda activate people-mcp
pip install -r requirements.txt

运行服务器

python src/server.py

使用自定义端口运行

PORT=3000 python src/server.py

示例用法

一旦通过MCP Inspector或AI助手连接:

  1. 搜索人员:

    • 工具: search_people
    • 输入:“查找在谷歌工作的人”
  2. 获取详细信息:

    • 工具: get_person_details
    • 输入:“john.doe@example.com"
  3. 列出人员:

    • 工具: list_all_people
    • 输入:20(见20人)

Poke集成

您可以将此MCP服务器连接到Poke poke.com/设置/连接.

要显式测试连接,请向Poke询问以下内容: Tell the subagent to use the "People MCP" integration's "search_people" tool to find John Smith

许可证

麻省理工学院