项目简介
DataMaker MCP 服务器是基于 Model Context Protocol (MCP) 构建的应用后端,旨在将 DataMaker 的强大数据生成功能与 AI 模型无缝集成。它允许 AI 模型通过标准化的 MCP 接口,访问 DataMaker 中的数据模板、数据库连接,并执行数据生成、数据导入/导出等操作,同时支持大型数据集的智能处理。
主要功能点
- 合成数据生成: 根据DataMaker模板生成各种类型的模拟数据。
- 模板管理: 获取和管理DataMaker平台上的数据模板,支持按项目ID筛选。
- 连接管理: 获取、创建、更新和删除DataMaker平台上的外部数据连接(例如数据库连接)。
- 数据导出/导入: 将生成的数据推送到DataMaker连接的外部系统,或从外部系统获取数据。
- 大型数据集处理: 自动检测大型响应数据集(例如超过5000个Token),将其存储到配置的AWS S3存储桶中,并仅向LLM返回摘要和安全链接,有效防止LLM上下文溢出。
- JSON扁平化: 提供工具将嵌套的JSON对象扁平化,便于处理。
- 场景管理: 保存、执行和获取DataMaker中的自动化场景(Python脚本),实现更复杂的业务逻辑。
安装步骤
- 安装Node.js: 确保您的系统安装了Node.js (推荐LTS版本)。
- 安装pnpm: 如果尚未安装,请通过命令行运行 'npm install -g pnpm' 安装pnpm包管理器。
- DataMaker账户: 您需要一个DataMaker账户并生成API密钥以访问其功能。
- AWS S3配置: 如果您计划处理大型数据集,则需要配置一个AWS S3存储桶和相应的凭证(访问密钥ID和秘密访问密钥)。
- 环境配置: 在项目根目录创建一个名为'.env'的文件,并根据'env.example'文件设置以下环境变量:
- 'DATAMAKER_URL': DataMaker API的基础URL,例如 'https://api.datamaker.dev.automators.com'。
- 'DATAMAKER_API_KEY': 您的DataMaker API密钥。
- 'S3_BUCKET_NAME': 用于存储大型数据集的S3存储桶名称。
- 'S3_REGION': S3存储桶所在的区域,例如 'us-east-1' 或 'auto'。
- 'S3_ACCESS_KEY_ID': 您的S3访问密钥ID。
- 'S3_SECRET_ACCESS_KEY': 您的S3秘密访问密钥。
- 'S3_URL': S3服务的端点URL,例如'https://s3.your-region.amazonaws.com' 或 Cloudflare R2 的'https://<ACCOUNT_ID>.r2.cloudflarestorage.com'。
服务器配置 (供MCP客户端使用)
要在您的MCP客户端中集成此服务器,请在您的 'mcp.json' 配置文件中添加以下内容:
{ "mcpServers": { "datamaker": { "command": "npx", "args": ["-y", "@automators/datamaker-mcp"], "env": { "DATAMAKER_API_KEY": "YOUR_DATAMAKER_API_KEY_HERE" // 如果您的MCP服务器配置了S3用于大型数据集存储, // 且这些S3凭证需要从客户端的环境变量中获取或覆盖,请在此处添加: // "S3_BUCKET_NAME": "YOUR_S3_BUCKET_NAME", // "S3_REGION": "YOUR_S3_REGION", // "S3_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY", // "S3_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_KEY", // "S3_URL": "YOUR_S3_ENDPOINT_URL" } } } }
- 'datamaker': 这是您为MCP服务器定义的名称,MCP客户端将使用此名称来引用和连接此服务器。
- 'command': 启动MCP服务器进程的命令。这里使用 'npx' 来直接运行已发布的 npm 包 '@automators/datamaker-mcp'。
- 'args': 传递给 'command' 的命令行参数。'-y' 表示在安装依赖时自动确认,'@automators/datamaker-mcp' 是服务器的包名。
- 'env': 在启动MCP服务器进程时注入的环境变量。'DATAMAKER_API_KEY' 是必填项,用于服务器认证到DataMaker平台。 其他S3相关的配置项是可选的,仅当您的服务器需要从这些环境变量中获取S3配置时才需提供。
基本使用方法
一旦DataMaker MCP服务器成功配置并启动,并被MCP客户端识别,AI模型(LLM)就可以通过JSON-RPC协议调用其提供的各种功能。例如:
- 获取所有DataMaker模板: LLM可以向MCP服务器发送请求,调用 'get_templates' 工具来获取可用的DataMaker模板列表及其基本信息(如ID和名称)。
- 生成合成数据: LLM可以调用 'generate_from_id' 工具,并提供DataMaker模板的ID以及期望生成的数据记录数量,服务器将返回生成的合成数据。
- 管理数据连接: LLM可以调用 'get_connections' 来查看所有已配置的数据连接。也可以使用 'create_connection'、'update_connection' 和 'delete_connection' 等工具来动态管理DataMaker的外部数据连接。
- 数据交互: LLM可以调用 'export_to_endpoint' 工具,将生成的数据发送到指定的外部API端点。或者调用 'fetch_from_endpoint' 从DataMaker中定义的一个外部端点获取数据。
- 执行自动化场景: LLM可以调用 'save_scenario' 来保存Python代码形式的DataMaker自动化场景,随后通过 'execute_scenario' 工具来执行这些场景,实现数据管道或复杂操作的自动化。
对于任何返回大型数据集的请求,服务器将自动将完整数据存储到S3,并向LLM返回一个包含数据摘要和查看完整数据集的S3预签名链接,确保LLM能够获取必要信息而不会超出其上下文窗口限制。
信息
分类
AI与计算