Watsonx.data文档库检索MCP服务器
这 Watsonx.data文档库检索MCP服务器 是一种符合模型上下文协议(MCP)的服务,可将AI代理与watsonx.data中的文档库无缝连接,实现智能数据检索和交互。
主要特点
- 动态发现和注册\
自动检测文档库并将其注册为MCP工具。
- 自然语言接口\
使用会话语言查询文档库并接收人类可读的响应。
- 最小配置\
部署时只需简单的设置要求,无需复杂的配置。
- 框架不可知集成\
直接插入具有原生MCP兼容性的首选代理框架。
______________________________________________________________________
概述
- 协议:模型上下文协议(MCP)
- 目的:充当代理AI框架和watsonx.data文档库之间的桥梁
- 支持的环境:IBM Cloud Pak for Data(CPD)、Watsonx SaaS
- 代理兼容性:代理框架必须支持MCP标准(通过SSE或Stdio)。\
_注意:此服务器将无法与不支持MCP的代理一起运行。_
______________________________________________________________________
先决条件
- Python版本 3.11 或以后
- 访问您的 CPD或SaaS环境
- 访问凭据和a CA证书包 CPD
- 确保您的 代理框架支持MCP协议
______________________________________________________________________
获取CPD的CA捆绑包
- 登录到您的OpenShift集群:
oc login -u kubeadmin -p '' https://:6443- 提取根CA包:
oc get configmap kube-root-ca.crt -o jsonpath='{.data.ca\.crt}' > cabundle.crt注意:请使用open shift登录命令。用户和密码将打开轮班门户登录用户名和密码
______________________________________________________________________
设置
第一步:安装Python
- 官方安装人员:
步骤2:创建虚拟环境
python -m venv .venv步骤3:激活虚拟环境
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows步骤4:安装 uv 包管理器
pip install uvuv包裹: https://pypi.org/project/uv/
步骤5:安装MCP服务器包
pip install ibm-watsonxdata-dl-retrieval-mcp-server______________________________________________________________________
配置
对于Cloud Pak For Data(CPD):
export CPD_ENDPOINT=""
export CPD_USERNAME=""
export CPD_PASSWORD=""
export CA_BUNDLE_PATH=""
export LH_CONTEXT="CPD"注:
- 对于CPD_ENDPOINT,请使用已安装CPD的端点url。示例:“https://cpd-cpd-instance.apps.perf10.5y2z.openshiftapps.com"
- 对于CPD_USERNAME和CPD_PASSWORD,使用用于登录CPD的用户名和密码。
对于Watsonx SaaS:
export WATSONX_DATA_API_KEY=""
export WATSONX_DATA_RETRIEVAL_ENDPOINT=""
export DOCUMENT_LIBRARY_API_ENDPOINT=""
export WATSONX_DATA_TOKEN_GENERATION_ENDPOINT=""
export LH_CONTEXT="SAAS"注:
- 对于DOCUMENT_LIBRARY_API_ENDPOINT,请在此使用与区域对应的端点url:https://cloud.ibm.com/apidocs/data-ai-common-core#endpoint-url。
例子:https://api.ca-tor.dai.cloud.ibm.com
- 对于WATSONX_DATA_RETRIVAL_ENDPOINT,请使用WATSONX.DATA端点。
例子:https://console-ibm-cator.lakehouse.saas.ibm.com
- 对于WATSONX_DATA_TOKEN_GENERATION_ENDPOINT,请使用此处的端点url:https://cloud.ibm.com/apidocs/iam-identity-token-api#endpoints .
例子:https://iam.cloud.ibm.com
______________________________________________________________________
运行服务器
uv run ibm-watsonxdata-dl-retrieval-mcp-server默认情况下,服务器在 sse 8000号港口的运输方式。
运输:苏格兰和南方能源公司
uv run ibm-watsonxdata-dl-retrieval-mcp-server --port --transport sse运输:stdio
uv run ibm-watsonxdata-dl-retrieval-mcp-server --port --transport stdio______________________________________________________________________
与WXO集成
先决条件:
安装WXO ADK并完成初始设置。有关更多详细信息,请参阅文档:https://developer.watson-orchestrate.ibm.com
运输:STDIO
要使用WXO在stdio传输中添加MCP服务器,请参阅以下示例。
- 创建连接
orchestrate connections add -a - 配置连接
orchestrate connections configure --app-id --environment draft -t team -k key_value- 设置凭据
orchestrate connections set-credentials --app-id= --env draft -e WATSONX_DATA_API_KEY="" -e WATSONX_DATA_RETRIEVAL_ENDPOINT="" -e DOCUMENT_LIBRARY_API_ENDPOINT="" -e WATSONX_DATA_TOKEN_GENERATION_ENDPOINT="" -e LH_CONTEXT="SAAS"Saas示例:
orchestrate toolkits import \
--kind mcp \
--name "mcp-toolkit" \
--description "mcp server for watsonx retrival service" \
--package "ibm-watsonxdata-dl-retrieval-mcp-server" \
--command "uv run ibm-watsonxdata-dl-retrieval-mcp-server --port
--transport stdio" \
--language python \
--tools "*" \
--app-id 运输:苏格兰和南方能源公司
- 安装mcp代理
pip install mcp-proxy - 在sse传输中运行ibmwatsonxdata-dl检索mcp服务器。
一旦满足先决条件,这些工具就可以作为工具包添加到WXO中。
例子:
orchestrate toolkits import \
--kind mcp \
--name mcp_toolkit \
--description "MCP server (hosted, SSE)" \
--package "mcp-proxy" \
--language python \
--command "uvx mcp-proxy https:///sse" \
--tools "*" 注:\ 在SAAS和MCP服务器本地运行wxo时,如果需要,可以公开MCP服务器端点。
有关更多详细信息,请参阅wxo文档:https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=tools-从mcp服务器导入
______________________________________________________________________
与其他代理框架集成
有关使用Watsonx.data文档库检索MCP服务器和代理框架的更多示例,请参阅 examples
局限性
- 环境凭据 在运行时无法更改.
- 要更改凭据,请执行以下操作之一: - 使用新的环境变量启动新服务器,或者 - 获取新的环境变量并重新启动服务器。
工具命名
每个文档库都注册了一个唯一的工具名称:
`tool_name =
`
例子:
invoice_document_library77e4b4dd_479e_4406_acc4_ce154c96266c