人才技能API服务

一个基于MCP协议的人才技能API服务,为AI助手提供人才管理工具,适用于企业人才评估和技能分析。

  • by pradeepj-prj
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pradeepj-prj/tm-mcp-server

使用说明

TM技能MCP服务器

一 主控程序 公开人才管理技能API作为人工智能助手工具的服务器。专为 焦耳 SAP BTP上的代理,但可与任何兼容MCP的客户端配合使用。

运作原理

AI Assistant (Joule / Claude / etc.)
        │
        │  MCP protocol (Streamable HTTP)
        ▼
┌─────────────────────┐
│  TM Skills MCP      │  ← This project
│  Server             │
└────────┬────────────┘
         │  HTTP + API key
         ▼
┌─────────────────────┐
│  TM Skills API      │  ← Separate FastAPI service
│  (REST)             │
└────────┬────────────┘
         │
         ▼
    PostgreSQL

MCP服务器是一个薄包装器,它将MCP工具调用转换为对TM Skills API的HTTP请求。身份验证、速率限制和输入验证都发生在API层。

快速开始

pip install -e .
cp .env.example .env       # Set TM_API_BASE_URL and TM_API_KEY
python server.py           # Streamable HTTP server on http://localhost:8080/mcp

对于与MCP检查器的交互式测试:

pip install mcp[cli]       # Inspector tooling (not needed for production)
mcp dev server.py

连接AI助手

将任何MCP客户端指向端点:

https://tm-skills-mcp.cfapps.ap10.hana.ondemand.com/mcp

客户端将通过MCP握手自动发现13个工具、2个资源和3个提示模板。

在焦耳工作室: 在构建Joule Agent时,将上述URL添加为MCP工具服务器。

工具

13个只读工具,每个API端点一个。人工智能助手会让他们回答人才问题——例如, browse_skills("Python") 要获取技能ID,则 get_top_experts(skill_id=1) 寻找专家。

员工工具

工具 它的答案
get_employee_skills 这个人有什么技能?
get_top_skills 他们最强的技能是什么?
get_evidence_inventory 他们所有的技能都有什么证据?
get_skill_evidence 为什么我们认为他们精通某项特定技能?

技能工具

工具 它的答案
browse_skills 目录中有哪些技能?(从这里开始查找ID)
get_top_experts 谁最适合这项技能?
get_skill_coverage 熟练程度在整个组织中是如何分布的?
get_evidence_backed_candidates 谁有这种技能和强有力的证据来证明这一点?
get_stale_skills 谁的技能记录需要重新验证?
get_cooccurring_skills 除了这个技能,还有什么其他技能?
search_talent 谁拥有所有这些技能?(多技能和搜索)

组织工具

工具 它的答案
get_org_skill_summary 这个组织单位的顶尖技能是什么?
get_org_skill_experts 这个组织中谁有特定的技能?

资源和提示

资源 提供AI可以参考的静态上下文:

URI 内容
tm://schema 数据库架构DDL
tm://business-questions 带有API映射的业务问题目录

提示 是可重复使用的模板,用于编写多步骤工具链的脚本:

提示 示例使用
find_experts(skill_name) “找到顶尖的Python专家并展示他们的证据”
analyze_employee(employee_id) “为EMP000001建立全面的人才档案”
org_talent_review(org_unit_id) “评估ORG030的人才格局”

配置

所有设置都来自环境变量(或 .env 本地文件):

变量 默认值 描述
HOST 0.0.0.0 服务器绑定地址
PORT 8080 服务器端口(CF会自动设置此端口)
TM_API_BASE_URL http://localhost:8000 TM技能API URL
TM_API_KEY (空) 用于TM技能的API密钥API
TM_API_TIMEOUT 30.0 HTTP请求超时(秒)

部署到Cloud Foundry

./deploy.sh

脚本从中读取API密钥 ../tm_app/.api-key,在不启动应用程序的情况下推送应用程序,通过以下方式注入密钥 cf set-env,然后启动应用程序。这就把秘密保密了 manifest.yml 以及版本控制。

手动部署

cf push --no-start
cf set-env tm-skills-mcp TM_API_KEY "your-api-key"
cf start tm-skills-mcp

实时部署

URL
MCP端点 https://tm-skills-mcp.cfapps.ap10.hana.ondemand.com/mcp
TM技能API https://tm-skills-api.cfapps.ap10.hana.ondemand.com
CF空间 SEAIO_dial-3-0-zme762l7 / dev

ID格式

这些由API验证:

  • 员工ID: EMP +6位数字(例如。 EMP000001)
  • 组织ID: ORG +1-4位数字+可选字母(例如。 ORG030, ORG031B)
  • 技能ID: 数字(例如。 1, 42)
  • 类别: technical, functional, leadership, domain, tool, other

技术栈

  • MCP-SDK: 主控程序 (带FastMCP的Python SDK)
  • HTTP客户端: httpx (异步)
  • 配置: 媒染剂设置 (.env +环境变量)
  • 运输: 可流式HTTP(MCP规范2025-03-26)
  • python 3.10+