@josephyan/qingflow-app-user-mcp 0.2.0-beta.34 → 0.2.0-beta.35
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.md +2 -2
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/skills/qingflow-app-user/SKILL.md +6 -0
- package/src/qingflow_mcp/__init__.py +1 -1
- package/src/qingflow_mcp/server.py +8 -0
- package/src/qingflow_mcp/server_app_builder.py +1 -0
- package/src/qingflow_mcp/server_app_user.py +8 -0
- package/src/qingflow_mcp/tools/feedback_tools.py +6 -0
package/README.md
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Install:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install @josephyan/qingflow-app-user-mcp@0.2.0-beta.
|
|
6
|
+
npm install @josephyan/qingflow-app-user-mcp@0.2.0-beta.35
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Run:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npx -y -p @josephyan/qingflow-app-user-mcp@0.2.0-beta.
|
|
12
|
+
npx -y -p @josephyan/qingflow-app-user-mcp@0.2.0-beta.35 qingflow-app-user-mcp
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Environment:
|
package/package.json
CHANGED
package/pyproject.toml
CHANGED
|
@@ -43,6 +43,12 @@ Route to exactly one of these specialized paths:
|
|
|
43
43
|
- if the task can stay read-only, do not write or act
|
|
44
44
|
- if the current MCP capability is unsupported, the workflow is awkward, or the user's need still cannot be satisfied after reasonable use, summarize the gap, ask whether to submit feedback, and call `feedback_submit` only after explicit user confirmation
|
|
45
45
|
|
|
46
|
+
## Shared Helper
|
|
47
|
+
|
|
48
|
+
- `feedback_submit` is a cross-cutting helper for product feedback submission
|
|
49
|
+
- It does not require Qingflow login or workspace selection
|
|
50
|
+
- Use it only after the user explicitly confirms they want to submit feedback
|
|
51
|
+
|
|
46
52
|
## Resources
|
|
47
53
|
|
|
48
54
|
- Record CRUD: [$qingflow-record-crud](/Users/yanqidong/Documents/qingflow-next/.codex/skills/qingflow-record-crud/SKILL.md)
|
|
@@ -36,6 +36,14 @@ def build_server() -> FastMCP:
|
|
|
36
36
|
Use `auth_login` first, then `workspace_list` and `workspace_select`.
|
|
37
37
|
All resource tools operate with the logged-in user's Qingflow permissions.
|
|
38
38
|
|
|
39
|
+
## Shared Helper
|
|
40
|
+
|
|
41
|
+
`feedback_submit` is always available as a cross-cutting helper.
|
|
42
|
+
|
|
43
|
+
- Use it when the current MCP capability is unsupported, awkward, or still cannot satisfy the user's need after reasonable use.
|
|
44
|
+
- It does not require Qingflow login or workspace selection.
|
|
45
|
+
- Call it only after the user explicitly confirms submission.
|
|
46
|
+
|
|
39
47
|
## App Discovery
|
|
40
48
|
|
|
41
49
|
If `app_key` is unknown, use `app_list` or `app_search` first.
|
|
@@ -17,6 +17,7 @@ def build_builder_server() -> FastMCP:
|
|
|
17
17
|
"Qingflow App Builder MCP",
|
|
18
18
|
instructions=(
|
|
19
19
|
"Use this server for AI-native Qingflow builder workflows. "
|
|
20
|
+
"`feedback_submit` is always available as a cross-cutting helper when the current capability is unsupported, awkward, or still cannot satisfy the user's need after reasonable use; it does not require Qingflow login or workspace selection, and it should be called only after explicit user confirmation. "
|
|
20
21
|
"Follow the resource path resolve -> summary read -> plan -> apply -> attach -> publish_verify. "
|
|
21
22
|
"Use builder_tool_contract when you need a machine-readable contract, aliases, allowed enums, or a minimal valid example for a public builder tool. "
|
|
22
23
|
"If creating a new package may be appropriate, ask the user to confirm package creation before calling package_create; otherwise use package_resolve/package_list and app_resolve to locate resources, "
|
|
@@ -28,6 +28,14 @@ def build_user_server() -> FastMCP:
|
|
|
28
28
|
|
|
29
29
|
If `app_key` is unknown, use `app_list` or `app_search` first.
|
|
30
30
|
|
|
31
|
+
## Shared Helper
|
|
32
|
+
|
|
33
|
+
`feedback_submit` is always available as a cross-cutting helper.
|
|
34
|
+
|
|
35
|
+
- Use it when the current MCP capability is unsupported, awkward, or still cannot satisfy the user's need after reasonable use.
|
|
36
|
+
- It does not require Qingflow login or workspace selection.
|
|
37
|
+
- Call it only after the user explicitly confirms submission.
|
|
38
|
+
|
|
31
39
|
## Schema-First Rule
|
|
32
40
|
|
|
33
41
|
Always call `record_schema_get` before `record_list`, `record_get`, `record_write`, or `record_analyze`.
|
|
@@ -46,6 +46,12 @@ class FeedbackTools:
|
|
|
46
46
|
workflow_node_id: str | int | None = None,
|
|
47
47
|
note: str | None = None,
|
|
48
48
|
) -> JSONObject:
|
|
49
|
+
"""Submit product feedback to the Qingflow MCP team.
|
|
50
|
+
|
|
51
|
+
Use this when the current MCP capability is unsupported, awkward, or still cannot satisfy the user's need
|
|
52
|
+
after reasonable attempts. This helper writes through the internal q-source feedback intake, does not
|
|
53
|
+
require Qingflow login or workspace selection, and should be called only after explicit user confirmation.
|
|
54
|
+
"""
|
|
49
55
|
return self.feedback_submit(
|
|
50
56
|
category=category,
|
|
51
57
|
title=title,
|