oomol云mcp sdk
用于Oomol云任务API v3。此包现在与 oomol-cloud-task-sdk:它重新导出了完整的Cloud Task TypeScript SDK表面,并在上面添加了MCP服务器支持。
英语 | 简体中文
特性
- 基于的完全MCP服务器支持
@modelcontextprotocol/sdk - 全部转口
oomol-cloud-task-sdkAPI、类型和错误 - 使用与Cloud task TS SDK相同的无服务器任务模型
- 提供MCP工具,用于任务创建、执行、查询、队列控制和上传
- 保留向后兼容的别名
create_block_task和execute_block_task
安装
npm install oomol-cloud-mcp-sdk快速开始
作为MCP服务器运行
export OOMOL_API_KEY="your-api-key"
oomol-mcp-server如果您希望MCP任务工具默认为包,还可以设置:
export OOMOL_PACKAGE_NAME="@oomol/your-package"
export OOMOL_PACKAGE_VERSION="1.0.0"配置MCP客户端
{
"mcpServers": {
"oomol-cloud": {
"command": "npx",
"args": ["-y", "oomol-cloud-mcp-sdk"],
"env": {
"OOMOL_API_KEY": "your-api-key-here",
"OOMOL_PACKAGE_NAME": "@oomol/your-package",
"OOMOL_PACKAGE_VERSION": "1.0.0"
}
}
}
}编程式用法
将其用作云任务TS SDK
import { OomolTaskClient } from "oomol-cloud-mcp-sdk";
const client = new OomolTaskClient({
apiKey: process.env.OOMOL_API_KEY,
});
const { taskID, result } = await client.createAndWait({
packageName: "@oomol/my-package",
packageVersion: "1.0.0",
blockName: "main",
inputValues: { text: "hello" },
});以编程方式运行MCP服务器
import { OomolMcpServer } from "oomol-cloud-mcp-sdk";
const server = new OomolMcpServer({
apiKey: process.env.OOMOL_API_KEY,
packageName: process.env.OOMOL_PACKAGE_NAME,
packageVersion: process.env.OOMOL_PACKAGE_VERSION,
});
await server.run();server.taskClient 暴露底层 OomolTaskClient 例子
MCP工具
与Cloud Task TS SDK一致的核心工具:
create_taskexecute_tasklist_tasksget_latest_tasksget_taskget_task_resultawait_resultget_dashboardset_tasks_pausepause_user_queueresume_user_queueupload_file
向后兼容的别名:
create_block_task->create_taskexecute_block_task->execute_task
create_task
使用与相同的请求形状 OomolTaskClient.createTask(),可选 packageName 和 packageVersion 默认值来自服务器配置。
{
"name": "create_task",
"arguments": {
"blockName": "main",
"inputValues": {
"text": "hello"
}
}
}execute_task
使用与相同的任务有效载荷 create_task,加上轮询控制:
{
"name": "execute_task",
"arguments": {
"blockName": "main",
"inputValues": {
"text": "hello"
},
"intervalMs": 2000,
"timeoutMs": 300000
}
}查询和控制工具
list_tasks接受与相同的筛选器listTasks(query?)get_latest_tasks接受workloadIDs: string[] | stringawait_result接受taskID,intervalMs,以及timeoutMsset_tasks_pause接受{ "paused": true | false }
upload_file
接受base64编码的文件有效载荷:
{
"name": "upload_file",
"arguments": {
"fileName": "example.txt",
"fileData": "SGVsbG8gd29ybGQ=",
"mimeType": "text/plain"
}
}出口
此程序包导出:
OomolMcpServerServerOptionsToolResponse- 一切从
oomol-cloud-task-sdk
这包括 OomolTaskClient,所有云任务类型, BackoffStrategy,以及错误类别,例如 ApiError, TaskFailedError, TimeoutError,以及 UploadError.
配置
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
OOMOL_API_KEY | Oomol Cloud API密钥,在Node.js中使用MCP服务器通常需要 | 通常 |
OOMOL_BASE_URL | 云任务API基础URL | 否 |
OOMOL_PACKAGE_NAME | MCP任务工具的默认包名 | 否 |
OOMOL_PACKAGE_VERSION | MCP任务工具的默认包版本 | 否 |
MCP_SERVER_NAME | MCP服务器名称 | 否 |
MCP_SERVER_VERSION | MCP服务器版本 | 否 |
ServerOptions
ServerOptions 延伸 ClientOptions 从 oomol-cloud-task-sdk 并补充道:
interface ServerOptions extends ClientOptions {
name?: string;
version?: string;
packageName?: string;
packageVersion?: string;
maxPollIntervalMs?: number;
}发展
npm install
npm run build许可证
麻省理工学院
