asset-mcp 0.2.1 → 0.2.2

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.
Files changed (3) hide show
  1. package/README.md +21 -71
  2. package/package.json +1 -1
  3. package/src/server.js +1 -1
package/README.md CHANGED
@@ -1,94 +1,44 @@
1
1
  # asset-mcp
2
2
 
3
- Cursor 使用的 MCP Server(OAuth 标准流程骨架,零依赖版本)。
3
+ Cursor 等支持 MCP IDE 中连接资产管理平台(OAuth2 设备码登录,无额外依赖)。
4
4
 
5
5
  ## 功能
6
6
 
7
- - 暴露认证工具:`mcp_auth`(`methods/start/poll/status/logout`,仅 OAuth2 设备码)
8
- - 暴露身份工具:`auth.me`
9
- - 暴露查询工具:`assets.search`
10
- - 暴露业务工具:`assets.create`
11
- - 写操作权限由后端统一拦截(scope + RBAC + 资源级权限)
7
+ - `mcp_auth`:`methods` / `start` / `poll` / `status` / `logout`(OAuth2 设备码)
8
+ - `auth.me`:当前用户
9
+ - `assets.search`:查询资产
10
+ - `assets.create`:创建资产(权限由后端拦截)
12
11
 
13
- ## 运行
12
+ ## 使用
14
13
 
15
14
  ```bash
16
- cd asset-mcp
17
- npm start
15
+ npx -y asset-mcp@latest
18
16
  ```
19
17
 
20
- ## 作为 npm 包使用
21
-
22
- ```bash
23
- npx -y asset-mcp
24
- ```
25
-
26
- ## 发布到 npm
27
-
28
- ```bash
29
- npm login
30
- npm publish --access public
31
- ```
32
-
33
- > 如果包名已被占用,请先修改 `package.json` 里的 `name`(例如加组织作用域)。
34
-
35
- ## 在 Cursor 中配置(示例)
36
-
37
- 将 MCP 命令配置为:
38
-
39
- ```bash
40
- npx -y asset-mcp
41
- ```
18
+ Cursor MCP 配置里将启动命令设为上述命令,并配置下方环境变量。
42
19
 
43
20
  ## 环境变量
44
21
 
45
22
  ```bash
46
23
  export ASSET_MCP_BASE_URL="http://localhost:8080"
47
- export ASSET_MCP_CLIENT_ID="asset-mcp"
48
- export ASSET_MCP_SCOPES="assets.read assets.write"
49
24
  ```
50
25
 
51
- 可选项:
52
-
53
- - `ASSET_MCP_DEVICE_CODE_PATH`(默认 `/oauth/device/code`)
54
- - `ASSET_MCP_TOKEN_PATH`(默认 `/oauth/token`)
55
- - `ASSET_MCP_REVOKE_PATH`(默认 `/oauth/revoke`)
56
-
57
- ## 标准授权流程(Device Code)
58
-
59
- 1. 先调用 `mcp_auth`,参数:`{ "action": "start" }`
60
- 2. 按返回的 `verificationUri + userCode` 去浏览器授权
61
- 3. 再调用 `mcp_auth`,参数:`{ "action": "poll" }`
62
- 4. 成功后用 `auth.me` 验证登录身份
63
- 5. 然后可调用 `assets.create`
64
-
65
- 可选先调 `mcp_auth`:`{ "action": "methods" }` 查看步骤说明。
66
-
67
- 说明:登录**仅**走 OAuth2 设备码;用户在浏览器授权页输入账号密码,**不要**通过 MCP 传密码。
68
-
69
- ## 工具入参(assets.search)
70
-
71
- - `assetType`: `"rule" | "skill" | "mcp" | "all"`(默认 `all`)
72
- - `keyword`: 关键词
26
+ ## 登录(设备码)
73
27
 
74
- 说明:
28
+ 1. 调用 `mcp_auth`,`{ "action": "start" }`
29
+ 2. 在浏览器打开返回的 `verificationUri`,按提示完成授权(可配合 `userCode`)
30
+ 3. 调用 `mcp_auth`,`{ "action": "poll" }`
31
+ 4. 使用 `auth.me` 确认已登录
75
32
 
76
- - 查询条件只保留 `assetType + keyword`
77
- - `keyword` 直接透传平台后端,因此搜索逻辑与平台当前页面一致
78
- - 不开放分页参数,固定查询第 1 页、每类最多 10 条
79
- - `assetType=all` 时:`rule/skill/mcp` 各返回最多 10 条
33
+ 可先调用 `{ "action": "methods" }` 查看说明。请在浏览器中登录,**不要**在对话里向 MCP 发送密码。
80
34
 
81
- ## 工具入参(assets.create)
35
+ ## `assets.search`
82
36
 
83
- - `assetType`: `"rule" | "skill" | "mcp"`
84
- - `name`: 资产名称
85
- - `description`: 资产描述
86
- - `version`: 可选,默认 `v1.0`
87
- - `changeLog`: 可选,默认 `初始创建`
88
- - `content`: 可选(rule/skill)
89
- - `mcpType/configJson/toolsJson/remark`: 可选(mcp)
37
+ - `assetType`:`rule` | `skill` | `mcp` | `all`(默认 `all`)
38
+ - `keyword`:关键词,透传后端,与平台搜索一致;固定第 1 页,每类最多 10 条;`all` 时每类各最多 10 条
90
39
 
91
- ## 说明
40
+ ## `assets.create`
92
41
 
93
- - token 存储在用户目录 `~/.asset-mcp/tokens.json`
94
- - 建议上线时切换到系统钥匙串存储(如 macOS Keychain)
42
+ - `assetType`:`rule` | `skill` | `mcp`
43
+ - `name`、`description`:必填(按后端校验)
44
+ - `version`、`changeLog`、`content`(rule/skill)、`mcpType` / `configJson` / `toolsJson` / `remark`(mcp)等见平台接口约定
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asset-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "license": "MIT",
5
5
  "description": "MCP server for asset operations in Cursor",
6
6
  "type": "module",
package/src/server.js CHANGED
@@ -34,7 +34,7 @@ const TOOL_DEFS = [
34
34
  {
35
35
  name: 'assets.search',
36
36
  description:
37
- '查询资产(rule/skill/mcp/all),GET /api/v1/assets/{assetType};固定每类最多 10 条(第 1 页),无分页参数',
37
+ '查询资产(rule/skill/mcp/all),GET /api/v1/assets/{assetType};固定每类最多 10 条(第 1 页),无分页参数。若用户只说「查询资产」等而未给出筛选条件,助手应先询问需要哪些条件,并列出可选:assetType、keyword、mine、status、categoryId/categoryIds、type(仅 mcp:local/remote);用户补充或确认后再调用。',
38
38
  inputSchema: {
39
39
  type: 'object',
40
40
  properties: {