Token导航 LogoToken导航TokenDH.com
Ebx MCP Poc logo
数据服务stdio官方级别未说明来源级核验

Ebx MCP Poc

MCP Server

该服务通过HTTP暴露TIBCO EBX功能,提供基于令牌的身份验证,直接与EBX Dataservices REST API和ESL脚本端点通信,无需中间层。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
SQL查询数据访问PythonClaude数据库工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

matboek

提供方

matboek

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

EBX SQL网关MCP服务器

此MCP服务器通过基于令牌的身份验证将TIBCO EBX作为工具本地公开。它是用 FastMCP 并通过uvicorn通过HTTP提供服务。

与代理API服务器不同(server.py),该服务器直接与EBX数据服务REST API和ESL脚本端点进行对话,在没有中间件层的情况下为您提供完全控制。 与代理API服务器不同(server.py),该服务器直接与EBX数据服务REST API和ESL脚本端点进行对话,在没有中间件层的情况下为您提供完全控制。

工具

服务器提供了五个必须按顺序调用的工具:

1. login_to_ebx

使用EBX进行身份验证并返回 auth_token 弦。

参数:

  • username (必填):EBX用户名
  • password (必填):EBX密码

退货: 令牌字符串(例如。 "Token abc123…").将此传递给后续的每次工具调用。

______________________________________________________________________

2. search_ebx_repository

发现可用的数据空间和数据集。

参数:

  • auth_token (必填):令牌来自 login_to_ebx
  • dataspace_name (可选):如果省略,则返回所有打开的数据空间。如果提供,则返回该数据空间内的所有数据集。

退货: 带有标签和描述的数据空间或数据集的格式化列表。

______________________________________________________________________

3. list_tables_in_dataset

爬取数据集的元模型以查找所有可查询的表路径。

参数:

  • auth_token (必填):令牌来自 login_to_ebx
  • dataspace (必填):数据空间名称(来自 search_ebx_repository)
  • dataset (必填):数据集名称(来源 search_ebx_repository)

退货: 表路径和标签的Markdown表。

______________________________________________________________________

4. inspect_table

返回编写SQL查询所需的确切列名、类型和结构。

参数:

  • auth_token (必填):令牌来自 login_to_ebx
  • dataspace (必填):数据空间名称
  • dataset (必填):数据集名称
  • table_path (必填):表路径(例如。 /root/Customer)从 list_tables_in_dataset

退货: 列名、类型、标签以及字段是否为必填项的Markdown表。

重要提示: 注意每个字段的返回类型——非字符串类型必须包装在 CAST(… AS VARCHAR) 并且需要外键 FK_AS_STRING(…) 在SQL中。

______________________________________________________________________

5. execute_ebx_sql

对EBX执行Apache Calcite SQL查询。

参数:

  • auth_token (必填):令牌来自 login_to_ebx
  • sql (必填):SQL SELECT查询
  • dataspace (必填):数据空间名称
  • dataset (必填):数据集名称
  • expected_columns (必填):与完全匹配的列别名列表 AS SQL中的别名

退货: JSON查询结果。

SQL规则(关键-API没有提供有关错误SQL的错误详细信息)

规则正确不正确
表路径必须用别名双引号括起来FROM "/root/Customer" cFROM /root/Customer
每个字段都必须以表别名作为前缀c.Address.cityAddress.city
必须强制转换非字符串字段CAST(c.age AS VARCHAR) AS agec.age AS age
外键字段必须使用本机函数FK_AS_STRING(c.household) AS household_idCAST(c.household AS VARCHAR)
每个选定的列都必须有一个显式别名c.name AS namec.name
expected_columns 必须与SQL别名完全匹配["name", "age"] 匹配 AS name, AS age名称不匹配

查询示例:

SELECT
    c.Identification.firstName AS first_name,
    CAST(c.Metrics.age AS VARCHAR) AS age,
    FK_AS_STRING(c.household) AS household_id
FROM "/root/Person" c

EBX ESL脚本设置(必填)

在运行MCP服务器之前,您必须导入并发布 AI_SQL_Gateway_ESL.xml 将脚本写入EBX实例。这将部署 SqlExecutor MCP服务器调用的REST端点。

步骤1--打开脚本IDE

以管理员身份登录EBX并导航到:

行政脚本IDE

(编写IDE文档)

步骤2——导入脚本

  1. 在脚本IDE工具栏中,单击 行动导入.
  2. 在导入对话框中,选择 选择文件 并挑选 AI_SQL_Gateway_ESL.xml 从这个存储库。
  3. 点击 导入.剧本 rest/SqlExecutor (标签 *AI SQL网关*)将出现在脚本树中。

步骤3——发布脚本

  1. 选择 rest/SqlExecutor 树上的脚本。
  2. 点击 行动发布 在工具栏中。
  3. 确认对话框。EBX将编译并发布脚本,使REST端点生效。

端点现在将在以下位置可用:

http:///ebx-dataservices/script/SqlExecutor/execute
注: 如果更改脚本路径(idePath 在XML中),更新 EBX_ESL_REST_URLserver_ESL.py 因此。

______________________________________________________________________

设置

  1. 创建虚拟环境:
python3 -m venv .venv
source .venv/bin/activate  # macOS/Linux
# or
.venv\Scripts\activate     # Windows
  1. 安装依赖项:
pip install -r requirements.txt
  1. 确保TIBCO EBX正在运行 http://localhost:8081 而且 SqlExecutor ESL脚本部署在 /ebx-dataservices/script/SqlExecutor/execute.

运行服务器

python server_ESL.py

在端口上启动服务器 8001MCP终点为:

  • MCP端点: http://localhost:8001/mcp

API配置

在顶部修改这些常量 server_ESL.py 指向不同的环境:

常量默认值
EBX_HOSThttp://localhost:8081
EBX_ESL_REST_URL{EBX_HOST}/ebx-dataservices/script/SqlExecutor/execute
EBX_DATASERVICES_REST_URL{EBX_HOST}/ebx-dataservices/rest/data/v1

集成

GitHub副本(VS代码)

添加 .vscode/mcp.json:

{
  "servers": {
    "ebx-sql-gateway": {
      "type": "http",
      "url": "http://localhost:8001/mcp"
    }
  }
}

克劳德桌面版

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ebx-agent-tools": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:8001/mcp"
      ]
    }
  }
}

OpenWeb用户界面

OpenWebUI可以将此MCP服务器用作外部工具提供者。这些步骤假设您已经配置了模型(例如通过Ollama)。需要一个能够进行代理/函数调用行为的适度强大的模型,例如 gpt-oss:20b 或等效物。

步骤1--将MCP服务器注册为外部工具

  1. 打开 管理面板设置外部工具.
  2. 点击 + 添加新条目。
  3. 设置 统一资源定位符 指向MCP服务器。\

例如,如果OpenWebUI在Docker中运行,而MCP服务器在主机上运行,请使用:

   http://host.docker.internal:8001/mcp
  1. 填写 ID, 名字,以及 描述 (自由格式,仅用于显示)。
  2. 函数名称筛选器列表 字段,键入一个逗号(,).这是针对当前错误的一种解决方法,如果字段为空,则阻止所有工具暴露。
  3. 切换 启用 然后单击 检查连接 以验证服务器是否可访问。

步骤2——在OpenWebUI工作区中创建模型

  1. 首选 工作区模型 并创建一个由您选择的基础模型支持的新模型。
  2. 系统提示 --粘贴一个系统提示,指示模型正确使用EBX工具。文件 System_Prompt_ESLSystem_Prompt_XPath 这个存储库中有现成的起点。
  3. 高级参数 → set 函数调用本土的.
  4. 工具 → 勾选您在步骤1中注册的MCP服务器条目旁边的复选框。
  5. 保存模型并确保通过切换启用它。您现在可以与它聊天,它将自动调用EBX MCP工具。

______________________________________________________________________

推荐工作流程

始终按以下顺序调用工具:

  1. login_to_ebx --验证并获取令牌
  2. search_ebx_repository --找到正确的数据空间(省略 dataspace_name)
  3. search_ebx_repository --找到正确的数据集(pass dataspace_name)
  4. list_tables_in_dataset --查找确切的表路径
  5. inspect_table --在编写SQL之前确认确切的字段名和类型
  6. execute_ebx_sql --运行查询

卷曲测试

# Initialize session
curl -X POST http://localhost:8001/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}'

# List available tools
curl -X POST http://localhost:8001/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":2}'

目录标签

目录标签

SQL查询数据访问PythonClaude数据库工具本地部署RESTAPI自动化

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP