使用说明
项目简介
Tacitbase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为LLM客户端提供高效的候选人数据搜索服务。它利用 Typesense 的高级搜索功能和 Tacitbase 的原生搜索能力,支持多种搜索模式,以满足不同的信息检索需求。
主要功能点
- 多类型搜索: 支持基本的关键词搜索、向量搜索和语义搜索,满足不同的搜索场景。
- 候选人数据检索: 专注于候选人数据的搜索,包括基本信息、附件信息等。
- Typesense 集成: 利用 Typesense 提供高性能、高精度的搜索服务,同时支持在Typesense不可用时回退到 Tacitbase 原生搜索。
- 可配置性: 通过环境变量进行配置,方便用户根据实际环境进行调整,例如 API 密钥、服务器地址等。
- 工具化搜索: 通过 MCP 工具的形式暴露搜索功能,方便 LLM 客户端调用。
- 支持附件搜索: 除了候选人基本信息,还支持对其附件内容进行搜索。
- 支持 Stdio 传输协议: 通过标准输入输出流 (stdio) 与 MCP 客户端进行通信。
安装步骤
- 安装 Go 环境: 确保你的开发环境已安装 Go 语言。
- 下载项目依赖: 在项目根目录下运行命令 'go mod download' 下载所需的依赖包。
- 构建服务器: 运行命令 'go build -o tb-mcp-server' 编译项目,生成可执行文件 'tb-mcp-server'。
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 Tacitbase MCP Server。请注意,Tacitbase MCP Server 默认通过标准输入输出流 (stdio) 进行通信,因此 'command' 和 'args' 配置如下:
{ "server_name": "Tacitbase-MCP-Server", "command": "./tb-mcp-server", "args": [] }
环境变量配置: Tacitbase MCP Server 依赖以下环境变量进行配置,请在运行服务器前设置:
- 'TACITBASE_AUTH_TOKEN': Tacitbase API 的身份验证令牌,用于访问 Tacitbase API。
- 'TYPESENSE_API_KEY': Typesense API 密钥,用于访问 Typesense 服务。
- 'TYPESENSE_HOST': (可选) Typesense 主机地址,默认为 'localhost'。
- 'TYPESENSE_PORT': (可选) Typesense 端口号,默认为 '8090'。
- 'TYPESENSE_PROTOCOL': (可选) Typesense 协议,默认为 'http'。
基本使用方法
-
启动服务器: 在终端中,导航到 'tb-mcp-server' 可执行文件所在目录,并运行 './tb-mcp-server' 命令启动服务器。服务器将监听标准输入,并向标准输出发送响应。
-
MCP 客户端调用工具: MCP 客户端可以使用以下工具名称调用服务器提供的搜索功能,并通过 'params' 传递搜索参数。
工具列表:
-
'mcp_tacitbase_search_candidates': 使用 Typesense 搜索候选人。
- 参数示例:
{ "tool_call_id": "search-candidates-1", "tool_name": "mcp_tacitbase_search_candidates", "params": { "arguments": { "query": "golang developer", "search_fields": ["skills", "latest_experience"], "filter_fields": ["location:San Francisco"], "sort_by": ["latest_experience:desc"], "page": 1, "per_page": 20 } } }
- 参数示例:
-
'mcp_tacitbase_search_attachments': 搜索候选人附件。
- 参数示例:
{ "tool_call_id": "search-attachments-1", "tool_name": "mcp_tacitbase_search_attachments", "params": { "arguments": { "query": "resume", "search_fields": ["name", "content"], "record_id": "123" } } }
- 参数示例:
-
'mcp_tacitbase_staging_search_candidates': 直接在 Tacitbase staging 环境搜索候选人(绕过 Typesense)。
- 参数示例:
{ "tool_call_id": "staging-search-candidates-1", "tool_name": "mcp_tacitbase_staging_search_candidates", "params": { "arguments": { "query": "software engineer", "search_fields": ["skills"], "filter_fields": ["years_of_experience:>3"] } } }
注意: 以上 'params.arguments' 中的参数对应于 'tools/tools.go' 中定义的工具参数,具体参数说明请参考工具定义中的描述信息。MCP 客户端需要根据实际需求构造符合工具参数定义的 JSON 请求,并发送给 Tacitbase MCP Server。服务器将处理请求,并返回搜索结果给客户端。
-
信息
分类
商业系统