webmcp-nexus-sdk 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +177 -0
- package/README.md +177 -0
- package/package.json +18 -1
package/README.en.md
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# webmcp-nexus-sdk
|
|
4
|
+
|
|
5
|
+
**The runtime SDK of WebMCP Nexus — turn any React app into a target MCP clients can drive directly, in five minutes.**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/webmcp-nexus-sdk)
|
|
8
|
+
[](https://www.npmjs.com/package/webmcp-nexus-sdk)
|
|
9
|
+
[](https://github.com/alibaba/webmcp-nexus/blob/main/LICENSE)
|
|
10
|
+
|
|
11
|
+
[简体中文](https://github.com/alibaba/webmcp-nexus/blob/main/packages/webmcp-sdk/README.md) | English
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Table of Contents
|
|
18
|
+
|
|
19
|
+
- [Introduction](#introduction)
|
|
20
|
+
- [Features](#features)
|
|
21
|
+
- [Why Use It](#why-use-it)
|
|
22
|
+
- [Installation](#installation)
|
|
23
|
+
- [Quick Start](#quick-start)
|
|
24
|
+
- [API Overview](#api-overview)
|
|
25
|
+
- [Ecosystem](#ecosystem)
|
|
26
|
+
- [Links](#links)
|
|
27
|
+
- [License](#license)
|
|
28
|
+
|
|
29
|
+
## Introduction
|
|
30
|
+
|
|
31
|
+
`webmcp-nexus-sdk` is the runtime SDK of [WebMCP Nexus](https://github.com/alibaba/webmcp-nexus) — a production-ready React integration kit for the [W3C WebMCP standard proposal](https://webmcp.org).
|
|
32
|
+
|
|
33
|
+
It exposes only two APIs — `registerGlobalTools` and `useWebMcpTools` — that together cover **global**, **route**, and **component** lifecycles, letting any plain TypeScript function become callable by MCP clients (Claude Desktop, Cursor, VS Code, etc.) without any wrapping.
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
|
|
37
|
+
- 🪶 **Minimal API** — just two functions cover every registration case.
|
|
38
|
+
- 🧩 **Three-tier scoping** — global, route-level, and component-level tools follow lifecycles automatically.
|
|
39
|
+
- 🌐 **Cross-browser support** — Chrome 146+ uses the native `navigator.modelContext`; everywhere else, the bundled [`@mcp-b/webmcp-polyfill`](https://www.npmjs.com/package/@mcp-b/webmcp-polyfill) is auto-enabled on first registration, transparent to your code.
|
|
40
|
+
- 🔁 **HMR-friendly** — change a tool signature during development and its schema re-registers automatically.
|
|
41
|
+
- 🛡️ **Collision-aware** — built-in scope ownership registry: duplicate names produce a warning instead of a crash, and teardown is strictly scoped.
|
|
42
|
+
- 🤝 **First-class desktop agents** — paired with [`@mcp-b/webmcp-local-relay`](https://www.npmjs.com/package/@mcp-b/webmcp-local-relay), local MCP clients can drive your running web app directly.
|
|
43
|
+
|
|
44
|
+
## Why Use It
|
|
45
|
+
|
|
46
|
+
| Dimension | Common practice | webmcp-nexus-sdk |
|
|
47
|
+
| ------------------ | ----------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
48
|
+
| API surface | Decorators, wrapper functions, explicit schema config | **Two APIs** cover every case |
|
|
49
|
+
| Function intrusion | `defineApi` / `createTool` wrappers | **Non-invasive** — the function stays exactly as it was |
|
|
50
|
+
| Lifecycle | Global registration only, manually managed | **Three-tier scoping** with automatic deregistration on unmount |
|
|
51
|
+
| Browser support | Each call site handles availability checks | SDK ships with a **lazily loaded polyfill** |
|
|
52
|
+
| Type contract | Hand-written JSON Schema + TS types kept in sync | With the build plugin, schema is **inferred from TS types** at build time |
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# pnpm (recommended)
|
|
58
|
+
pnpm add webmcp-nexus-sdk
|
|
59
|
+
|
|
60
|
+
# npm
|
|
61
|
+
npm install webmcp-nexus-sdk
|
|
62
|
+
|
|
63
|
+
# yarn
|
|
64
|
+
yarn add webmcp-nexus-sdk
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
> **Pick one build plugin**: the SDK is typically used together with [`vite-plugin-webmcp-nexus`](https://www.npmjs.com/package/vite-plugin-webmcp-nexus) or [`webpack-plugin-webmcp-nexus`](https://www.npmjs.com/package/webpack-plugin-webmcp-nexus), which generate JSON Schema from TypeScript types + JSDoc at build time.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm add -D vite-plugin-webmcp-nexus # for Vite projects
|
|
71
|
+
# or
|
|
72
|
+
pnpm add -D webpack-plugin-webmcp-nexus # for Webpack projects
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Quick Start
|
|
76
|
+
|
|
77
|
+
### 1. Write a plain TypeScript function
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
// src/tools/queries.ts
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Search tasks by keyword.
|
|
84
|
+
* @readonly
|
|
85
|
+
*/
|
|
86
|
+
export async function searchTasks(params: {
|
|
87
|
+
/** Search keyword */
|
|
88
|
+
query: string;
|
|
89
|
+
/** Maximum number of results (default 50) */
|
|
90
|
+
limit?: number;
|
|
91
|
+
}): Promise<{ count: number; tasks: Task[] }> {
|
|
92
|
+
// ... your original business logic — no wrapping required
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2. Global registration (app entry)
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
// src/main.tsx
|
|
100
|
+
import { registerGlobalTools } from 'webmcp-nexus-sdk';
|
|
101
|
+
import * as queries from './tools/queries';
|
|
102
|
+
|
|
103
|
+
registerGlobalTools(queries);
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The build plugin extracts a JSON Schema from each function's TS types + JSDoc and attaches it to the function object as `__webmcpSchema`; at runtime the SDK reads that field and registers the tools with `navigator.modelContext`.
|
|
107
|
+
|
|
108
|
+
### 3. Route-level / component-level registration
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
import { useWebMcpTools } from 'webmcp-nexus-sdk';
|
|
112
|
+
|
|
113
|
+
export default function TasksPage() {
|
|
114
|
+
const { createTask, updateTask, deleteTask } = useTodoStore();
|
|
115
|
+
|
|
116
|
+
// Registered on mount, automatically deregistered on unmount
|
|
117
|
+
useWebMcpTools({ createTask, updateTask, deleteTask });
|
|
118
|
+
|
|
119
|
+
return /* … */;
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Tools are deregistered when the component unmounts, **preventing the agent from invoking tools belonging to a page it isn't on**.
|
|
124
|
+
|
|
125
|
+
## API Overview
|
|
126
|
+
|
|
127
|
+
### `registerGlobalTools(tools)`
|
|
128
|
+
|
|
129
|
+
Call once at application startup to register a set of tools that live for the lifetime of the app.
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
import { registerGlobalTools } from 'webmcp-nexus-sdk';
|
|
133
|
+
import * as queries from './tools/queries';
|
|
134
|
+
import * as navigation from './tools/navigation';
|
|
135
|
+
|
|
136
|
+
registerGlobalTools(queries);
|
|
137
|
+
registerGlobalTools(navigation);
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### `useWebMcpTools(tools)`
|
|
141
|
+
|
|
142
|
+
A React Hook that binds a set of tools to the component lifecycle — registered on mount, deregistered on unmount.
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
import { useWebMcpTools } from 'webmcp-nexus-sdk';
|
|
146
|
+
|
|
147
|
+
function MyDialog() {
|
|
148
|
+
useWebMcpTools({ submitForm, cancelForm });
|
|
149
|
+
return <Dialog />;
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
> Full API reference and best practices: see the [main repository README](https://github.com/alibaba/webmcp-nexus#readme).
|
|
154
|
+
|
|
155
|
+
## Ecosystem
|
|
156
|
+
|
|
157
|
+
WebMCP Nexus is a monorepo. The packages published to npm:
|
|
158
|
+
|
|
159
|
+
| Package | Purpose |
|
|
160
|
+
| ------------------------------------------------------------------------------------------ | ------------------------------------------------ |
|
|
161
|
+
| **`webmcp-nexus-sdk`** (this package) | Runtime SDK with two core APIs |
|
|
162
|
+
| [`webmcp-nexus-core`](https://www.npmjs.com/package/webmcp-nexus-core) | Build-time core: TS extraction + Schema generation |
|
|
163
|
+
| [`vite-plugin-webmcp-nexus`](https://www.npmjs.com/package/vite-plugin-webmcp-nexus) | Vite build plugin |
|
|
164
|
+
| [`webpack-plugin-webmcp-nexus`](https://www.npmjs.com/package/webpack-plugin-webmcp-nexus) | Webpack build plugin |
|
|
165
|
+
|
|
166
|
+
## Links
|
|
167
|
+
|
|
168
|
+
- 📦 **Main repo on GitHub**: [alibaba/webmcp-nexus](https://github.com/alibaba/webmcp-nexus)
|
|
169
|
+
- 📖 **Full documentation**: [README](https://github.com/alibaba/webmcp-nexus#readme)
|
|
170
|
+
- 🧠 **AI coding Skill**: [skill/SKILL.md](https://github.com/alibaba/webmcp-nexus/blob/main/skill/SKILL.md) — reduce "convert this function into a WebMCP tool" to a single instruction.
|
|
171
|
+
- 🎯 **Demo app**: [apps/demo](https://github.com/alibaba/webmcp-nexus/tree/main/apps/demo) — full Todo app with Vite + Webpack dual build.
|
|
172
|
+
- 🌐 **WebMCP standard**: [webmcp.org](https://webmcp.org)
|
|
173
|
+
- 🐛 **Issues**: [GitHub Issues](https://github.com/alibaba/webmcp-nexus/issues)
|
|
174
|
+
|
|
175
|
+
## License
|
|
176
|
+
|
|
177
|
+
[MIT](https://github.com/alibaba/webmcp-nexus/blob/main/LICENSE) © Alibaba
|
package/README.md
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# webmcp-nexus-sdk
|
|
4
|
+
|
|
5
|
+
**WebMCP Nexus 的运行时 SDK —— 让 React 应用在 5 分钟内成为 MCP 客户端可直接驱动的对象。**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/webmcp-nexus-sdk)
|
|
8
|
+
[](https://www.npmjs.com/package/webmcp-nexus-sdk)
|
|
9
|
+
[](https://github.com/alibaba/webmcp-nexus/blob/main/LICENSE)
|
|
10
|
+
|
|
11
|
+
简体中文 | [English](https://github.com/alibaba/webmcp-nexus/blob/main/packages/webmcp-sdk/README.en.md)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 目录
|
|
18
|
+
|
|
19
|
+
- [简介](#简介)
|
|
20
|
+
- [核心特性](#核心特性)
|
|
21
|
+
- [优势](#优势)
|
|
22
|
+
- [安装](#安装)
|
|
23
|
+
- [快速上手](#快速上手)
|
|
24
|
+
- [API 速览](#api-速览)
|
|
25
|
+
- [生态包](#生态包)
|
|
26
|
+
- [相关链接](#相关链接)
|
|
27
|
+
- [许可证](#许可证)
|
|
28
|
+
|
|
29
|
+
## 简介
|
|
30
|
+
|
|
31
|
+
`webmcp-nexus-sdk` 是 [WebMCP Nexus](https://github.com/alibaba/webmcp-nexus) 项目的运行时 SDK,围绕 [W3C WebMCP 标准提案](https://webmcp.org) 提供生产可用的 React 集成方案。
|
|
32
|
+
|
|
33
|
+
它只导出两个 API —— `registerGlobalTools` 和 `useWebMcpTools` —— 即可覆盖**全局**、**路由**、**组件**三种生命周期,让任何普通的 TypeScript 函数无需包装即可被 MCP 客户端(Claude Desktop、Cursor、VS Code 等)直接调用。
|
|
34
|
+
|
|
35
|
+
## 核心特性
|
|
36
|
+
|
|
37
|
+
- 🪶 **极简 API** —— 仅 2 个函数即可完成所有注册场景。
|
|
38
|
+
- 🧩 **三级作用域** —— 全局工具、路由级工具、组件级工具自动随生命周期挂载 / 注销。
|
|
39
|
+
- 🌐 **跨浏览器兼容** —— Chrome 146+ 使用原生 `navigator.modelContext`;其他环境在首次注册时自动启用内置的 [`@mcp-b/webmcp-polyfill`](https://www.npmjs.com/package/@mcp-b/webmcp-polyfill),业务代码完全无感。
|
|
40
|
+
- 🔁 **HMR 友好** —— 开发阶段修改函数签名后,工具 schema 会自动重新注册。
|
|
41
|
+
- 🛡️ **冲突感知** —— 内置 scope ownership registry,多个 scope 注册同名工具时仅警告不阻断,注销严格隔离。
|
|
42
|
+
- 🤝 **桌面 Agent 直连** —— 配合 [`@mcp-b/webmcp-local-relay`](https://www.npmjs.com/package/@mcp-b/webmcp-local-relay),桌面端 MCP 客户端可直接调用浏览器中正在运行的 Web 应用。
|
|
43
|
+
|
|
44
|
+
## 优势
|
|
45
|
+
|
|
46
|
+
| 维度 | 业内常见做法 | webmcp-nexus-sdk |
|
|
47
|
+
| ---------- | ------------------------------------ | ---------------------------------------------------- |
|
|
48
|
+
| API 表面 | 装饰器 / 包装函数 / 显式 schema 配置 | **2 个 API** 覆盖全部场景 |
|
|
49
|
+
| 函数侵入度 | `defineApi` / `createTool` 等包装 | **零侵入**——函数保持原样,原有调用方完全无感 |
|
|
50
|
+
| 生命周期 | 仅支持全局注册,需手动维护 | 全局 / 路由 / 组件 **三级作用域**,组件卸载自动注销 |
|
|
51
|
+
| 浏览器兼容 | 调用方自行判断 + 兜底 | SDK 内置 polyfill **惰性加载** |
|
|
52
|
+
| 类型契约 | 手写 JSON Schema 与 TS 类型双源维护 | 配合构建插件 **从 TS 类型反推**,单一事实源 |
|
|
53
|
+
|
|
54
|
+
## 安装
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# pnpm(推荐)
|
|
58
|
+
pnpm add webmcp-nexus-sdk
|
|
59
|
+
|
|
60
|
+
# npm
|
|
61
|
+
npm install webmcp-nexus-sdk
|
|
62
|
+
|
|
63
|
+
# yarn
|
|
64
|
+
yarn add webmcp-nexus-sdk
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
> **构建插件二选一**:SDK 通常需要配合 [`vite-plugin-webmcp-nexus`](https://www.npmjs.com/package/vite-plugin-webmcp-nexus) 或 [`webpack-plugin-webmcp-nexus`](https://www.npmjs.com/package/webpack-plugin-webmcp-nexus) 使用,构建插件会从 TypeScript 类型 + JSDoc 自动生成 JSON Schema。
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm add -D vite-plugin-webmcp-nexus # Vite 项目
|
|
71
|
+
# 或
|
|
72
|
+
pnpm add -D webpack-plugin-webmcp-nexus # Webpack 项目
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 快速上手
|
|
76
|
+
|
|
77
|
+
### 1. 编写一个普通的 TypeScript 函数
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
// src/tools/queries.ts
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 根据关键词搜索任务。
|
|
84
|
+
* @readonly
|
|
85
|
+
*/
|
|
86
|
+
export async function searchTasks(params: {
|
|
87
|
+
/** 搜索关键词 */
|
|
88
|
+
query: string;
|
|
89
|
+
/** 返回数量上限(默认 50) */
|
|
90
|
+
limit?: number;
|
|
91
|
+
}): Promise<{ count: number; tasks: Task[] }> {
|
|
92
|
+
// ... 你原本的业务实现,无需任何包装
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2. 全局注册(应用入口)
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
// src/main.tsx
|
|
100
|
+
import { registerGlobalTools } from 'webmcp-nexus-sdk';
|
|
101
|
+
import * as queries from './tools/queries';
|
|
102
|
+
|
|
103
|
+
registerGlobalTools(queries);
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
构建插件会自动从函数的 TS 类型 + JSDoc 反推 JSON Schema,并通过 `__webmcpSchema` 字段注入到函数对象上;SDK 在运行时读取该字段向 `navigator.modelContext` 完成注册。
|
|
107
|
+
|
|
108
|
+
### 3. 路由级 / 组件级注册
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
import { useWebMcpTools } from 'webmcp-nexus-sdk';
|
|
112
|
+
|
|
113
|
+
export default function TasksPage() {
|
|
114
|
+
const { createTask, updateTask, deleteTask } = useTodoStore();
|
|
115
|
+
|
|
116
|
+
// 当前页面挂载时注册,卸载时自动注销
|
|
117
|
+
useWebMcpTools({ createTask, updateTask, deleteTask });
|
|
118
|
+
|
|
119
|
+
return /* … */;
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
组件卸载时同名工具会自动从 `modelContext` 注销,**避免 Agent 在错误的页面调用错误的工具**。
|
|
124
|
+
|
|
125
|
+
## API 速览
|
|
126
|
+
|
|
127
|
+
### `registerGlobalTools(tools)`
|
|
128
|
+
|
|
129
|
+
应用启动时调用,注册一组永不注销的全局工具。
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
import { registerGlobalTools } from 'webmcp-nexus-sdk';
|
|
133
|
+
import * as queries from './tools/queries';
|
|
134
|
+
import * as navigation from './tools/navigation';
|
|
135
|
+
|
|
136
|
+
registerGlobalTools(queries);
|
|
137
|
+
registerGlobalTools(navigation);
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### `useWebMcpTools(tools)`
|
|
141
|
+
|
|
142
|
+
React Hook,把传入的工具集与组件生命周期绑定 —— mount 时注册、unmount 时注销。
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
import { useWebMcpTools } from 'webmcp-nexus-sdk';
|
|
146
|
+
|
|
147
|
+
function MyDialog() {
|
|
148
|
+
useWebMcpTools({ submitForm, cancelForm });
|
|
149
|
+
return <Dialog />;
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
> 完整 API 文档与最佳实践参见 [仓库 README](https://github.com/alibaba/webmcp-nexus#readme)。
|
|
154
|
+
|
|
155
|
+
## 生态包
|
|
156
|
+
|
|
157
|
+
WebMCP Nexus 是一个 monorepo 工程化方案,下表是发布到 npm 的所有公开包:
|
|
158
|
+
|
|
159
|
+
| 包 | 用途 |
|
|
160
|
+
| ------------------------------------------------------------------------------------------ | --------------------------------------------- |
|
|
161
|
+
| **`webmcp-nexus-sdk`** (本包) | 运行时 SDK,提供 2 个核心 API |
|
|
162
|
+
| [`webmcp-nexus-core`](https://www.npmjs.com/package/webmcp-nexus-core) | 构建时核心:TS 类型抽取 + JSON Schema 生成 |
|
|
163
|
+
| [`vite-plugin-webmcp-nexus`](https://www.npmjs.com/package/vite-plugin-webmcp-nexus) | Vite 构建插件 |
|
|
164
|
+
| [`webpack-plugin-webmcp-nexus`](https://www.npmjs.com/package/webpack-plugin-webmcp-nexus) | Webpack 构建插件 |
|
|
165
|
+
|
|
166
|
+
## 相关链接
|
|
167
|
+
|
|
168
|
+
- 📦 **GitHub 主仓库**:[alibaba/webmcp-nexus](https://github.com/alibaba/webmcp-nexus)
|
|
169
|
+
- 📖 **完整文档**:[README](https://github.com/alibaba/webmcp-nexus#readme)
|
|
170
|
+
- 🧠 **AI 编码 Skill**:[skill/SKILL.md](https://github.com/alibaba/webmcp-nexus/blob/main/skill/SKILL.md) —— 把"为函数生成 WebMCP 工具"变成一句话指令。
|
|
171
|
+
- 🎯 **示例应用**:[apps/demo](https://github.com/alibaba/webmcp-nexus/tree/main/apps/demo) —— Vite + Webpack 双构建的完整 Todo 应用。
|
|
172
|
+
- 🌐 **WebMCP 标准**:[webmcp.org](https://webmcp.org)
|
|
173
|
+
- 🐛 **Issues**:[GitHub Issues](https://github.com/alibaba/webmcp-nexus/issues)
|
|
174
|
+
|
|
175
|
+
## 许可证
|
|
176
|
+
|
|
177
|
+
[MIT](https://github.com/alibaba/webmcp-nexus/blob/main/LICENSE) © Alibaba
|
package/package.json
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webmcp-nexus-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
|
+
"description": "SDK for WebMCP Nexus - register and expose browser-side tools for AI agents via Model Context Protocol",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"webmcp",
|
|
8
|
+
"mcp",
|
|
9
|
+
"model-context-protocol",
|
|
10
|
+
"ai-tools",
|
|
11
|
+
"sdk",
|
|
12
|
+
"react",
|
|
13
|
+
"browser",
|
|
14
|
+
"ai-agent"
|
|
15
|
+
],
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/alibaba/webmcp-nexus.git",
|
|
19
|
+
"directory": "packages/webmcp-sdk"
|
|
20
|
+
},
|
|
4
21
|
"type": "module",
|
|
5
22
|
"main": "./dist/index.cjs",
|
|
6
23
|
"module": "./dist/index.js",
|