人员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)。
安装
- 安装依赖项:
pip install -r requirements.txt- 运行服务器:
python src/server.py服务器将于启动 http://localhost:8000/mcp
MCP检验员测试
- 安装MCP检查器:
npm install -g @modelcontextprotocol/inspector- 运行MCP检查器:
npx @modelcontextprotocol/inspector- 连接到服务器:
- 首选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:手动部署
- 将此存储库分叉或推送到GitHub
- 将您的GitHub帐户连接到Render
- 在Render上创建新的Web服务
- 连接您的存储库
- 渲染将自动检测
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助手连接:
- 搜索人员:
- 工具: search_people - 输入:“查找在谷歌工作的人”
- 获取详细信息:
- 工具: get_person_details - 输入:“john.doe@example.com"
- 列出人员:
- 工具: 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
许可证
麻省理工学院
