人才管理技能API服务

一个基于MCP协议的人才管理技能API服务,为AI助手提供工具、资源和提示,包括流失预测等功能。

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

使用说明

TM技能MCP服务器v2

一 主控程序 服务器,将人才管理技能API(包括流失预测)公开为人工智能助手(如SAP BTP上的Joule代理)的工具、资源和提示。

运作原理

AI Assistant (Joule / Claude / etc.)
        |
        |  MCP protocol (Streamable HTTP)
        v
+---------------------+
|  TM Skills MCP      |  <-- This project
|  Server v2          |
+--------+------------+
         |  HTTP + API key
         v
+---------------------+
|  TM Skills API      |  <-- Separate FastAPI service
|  (REST)             |
+--------+------------+
         |
         v
    PostgreSQL

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

项目结构

server.py              Main server: MCP tools, resources, prompts, UI view, audit REST
audit.py               SQLite-backed audit logger (lazy init, WAL mode)
config.py              Configuration via pydantic-settings (.env + env vars)
resources/
  tm_schema.sql        TM database schema (served as MCP resource)
  business_questions.md  Business questions catalog (served as MCP resource)
deploy.sh              Automated CF deployment with secret management
manifest.yml           CF app config (memory, health check, env vars)
Procfile               CF start command
requirements.txt       Production deps for CF Python buildpack
runtime.txt            Python version pin for CF
pyproject.toml         Project metadata and dependencies
.env.example           Environment variable template

设置

先决条件: Python 3.10+,访问TM Skills API

pip install -e .
cp .env.example .env       # Set TM_API_BASE_URL and TM_API_KEY
python server.py           # Starts on http://localhost:8080
URL 什么
http://localhost:8080/ UI视图--列出所有工具、资源和提示
http://localhost:8080/mcp MCP端点(用于AI客户端)
http://localhost:8080/audit/summary 审计统计数据(JSON)

部署(Cloud Foundry—SAP BTP)

使用 deploy.sh

./deploy.sh

脚本:

  1. 从中读取API密钥 ../talent-management-app/.api-key
  2. 跑 cf push --no-start (部署时不启动)
  3. 通过以下方式注入密钥 cf set-env TM_API_KEY
  4. 启动应用程序

这就把秘密保密了 manifest.yml 以及版本控制。如果密钥文件不存在,则提示手动输入。

手动部署

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

重要说明

  • manifest.yml 不得包含 TM_API_KEY — cf push 在每个部署上重新应用manifest-env-vars,这将覆盖以下设置的值 cf set-env.
  • $PORT 由CF设置 --服务器会自动从环境中读取它。
  • 256M内存足够MCP SDK+httpx堆栈使用。
  • 审计SQLite数据库是短暂的——每次重新部署时都会重置。

实时网址

URL 什么
https://tm-skills-mcp-v2.cfapps.ap10.hana.ondemand.com/ UI视图
https://tm-skills-mcp-v2.cfapps.ap10.hana.ondemand.com/mcp MCP端点
https://tm-skills-mcp-v2.cfapps.ap10.hana.ondemand.com/audit/summary 审计统计数据
https://tm-skills-mcp-v2.cfapps.ap10.hana.ondemand.com/audit/recent 最近的工具调用

CF组织/空间: SEAIO_dial-3-0-zme762l7 / dev

MCP工具、资源和提示

服务器暴露 21工具 (18 TM API+3审核), 2资源,以及 5个提示.

访问 UI视图 获取带有描述和参数的实时列表,或运行 python server.py 本地和开放 http://localhost:8080/.

连接AI客户端: 将任何MCP客户端指向 /mcp 终点。在Joule Studio中,将URL添加为MCP工具服务器。

配置

所有设置都来自环境变量(或 .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请求超时(秒)
AUDIT_DB_PATH audit.db SQLite审计数据库文件路径
CORS_ORIGINS http://localhost:5173,... 逗号分隔的CORS源(用于监控仪表板)

ID格式

这些由API进行验证,可用于测试:

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