@toolforest/toolforest-plugin 0.3.2 → 0.3.4
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 +3 -3
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/prompt.js +3 -1
- package/dist/src/prompt.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/skills/toolforest-mcp/SKILL.md +38 -4
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# @toolforest/
|
|
1
|
+
# @toolforest/toolforest-plugin
|
|
2
2
|
|
|
3
|
-
OpenClaw plugin that connects your [Toolforest](https://www.toolforest.io) toolkits as native agent tools. Supports
|
|
3
|
+
OpenClaw plugin that connects your [Toolforest](https://www.toolforest.io) toolkits as native agent tools. Supports tools across Google Workspace, GitHub, prediction markets, health trackers, and more.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
openclaw plugins install @toolforest/
|
|
8
|
+
openclaw plugins install @toolforest/toolforest-plugin
|
|
9
9
|
openclaw gateway restart
|
|
10
10
|
```
|
|
11
11
|
|
package/dist/src/prompt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAmCrD"}
|
package/dist/src/prompt.js
CHANGED
|
@@ -25,13 +25,15 @@ You have ${state.toolCount} Toolforest tools available, prefixed with "toolfores
|
|
|
25
25
|
Connected toolkits:
|
|
26
26
|
${toolkitLines}
|
|
27
27
|
|
|
28
|
+
Tool naming: tools follow the pattern toolforest_{toolkit}_{action} (e.g. toolforest_github_list_repos, toolforest_google_sheets_get_values).
|
|
29
|
+
|
|
28
30
|
Rules:
|
|
29
31
|
- Use Toolforest tools for tasks involving the connected services above.
|
|
30
32
|
- Call tools directly by name — no discovery step needed.
|
|
31
33
|
- Do NOT fabricate tool names not listed above.
|
|
32
34
|
- Do NOT use pretrained knowledge about Toolforest APIs.
|
|
33
35
|
- If a tool returns an auth error, direct the user to www.toolforest.io to reconnect.
|
|
34
|
-
-
|
|
36
|
+
- If native tools are not working, use the /toolforest-mcp skill for curl-based fallback access.
|
|
35
37
|
</toolforest>`;
|
|
36
38
|
}
|
|
37
39
|
//# sourceMappingURL=prompt.js.map
|
package/dist/src/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;+BACoB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;cAShE,CAAC;IACb,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;SACnE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;WACE,KAAK,CAAC,SAAS;;;EAGxB,YAAY
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;+BACoB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;cAShE,CAAC;IACb,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;SACnE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;WACE,KAAK,CAAC,SAAS;;;EAGxB,YAAY;;;;;;;;;;;cAWA,CAAC;AACf,CAAC"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "toolforest",
|
|
3
3
|
"name": "Toolforest",
|
|
4
|
-
"description": "Connect
|
|
4
|
+
"description": "Connect your Toolforest toolkits as native OpenClaw agent tools. Supports tools across Google Workspace, GitHub, prediction markets, health trackers, and more.",
|
|
5
5
|
"configSchema": {
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
package/package.json
CHANGED
|
@@ -7,9 +7,11 @@ metadata:
|
|
|
7
7
|
|
|
8
8
|
# Toolforest MCP Fallback
|
|
9
9
|
|
|
10
|
+
Use this when Toolforest native tools (prefixed `toolforest_`) are not registered or not working.
|
|
11
|
+
|
|
10
12
|
## API Key
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
Check the openclaw config:
|
|
13
15
|
```bash
|
|
14
16
|
grep -A5 '"toolforest"' ~/.openclaw/openclaw.json
|
|
15
17
|
```
|
|
@@ -22,7 +24,14 @@ https://mcp.toolforest.io/mcp
|
|
|
22
24
|
Authorization: Bearer <apiKey>
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
##
|
|
27
|
+
## Important: How Toolforest discovery works
|
|
28
|
+
|
|
29
|
+
Toolforest uses **meta-tools** exposed via the standard MCP `tools/call` method. Do NOT use `tools/list` to discover toolkit tools — that only returns the 3 meta-tools (`list_tools`, `get_tool_schema`, `execute_tool`).
|
|
30
|
+
|
|
31
|
+
Instead, use the meta-tools in this order:
|
|
32
|
+
|
|
33
|
+
## Step 1: List connected toolkits
|
|
34
|
+
|
|
26
35
|
```bash
|
|
27
36
|
curl -s -X POST https://mcp.toolforest.io/mcp \
|
|
28
37
|
-H "Content-Type: application/json" \
|
|
@@ -30,15 +39,40 @@ curl -s -X POST https://mcp.toolforest.io/mcp \
|
|
|
30
39
|
-d '{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"list_tools","arguments":{}}}'
|
|
31
40
|
```
|
|
32
41
|
|
|
33
|
-
|
|
42
|
+
Returns an array of toolkit objects with `name` and `description` (e.g. `github`, `google_sheets`, `gmail`).
|
|
43
|
+
|
|
44
|
+
## Step 2: List tools for a specific toolkit
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
curl -s -X POST https://mcp.toolforest.io/mcp \
|
|
48
|
+
-H "Content-Type: application/json" \
|
|
49
|
+
-H "Authorization: Bearer YOUR_KEY" \
|
|
50
|
+
-d '{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"list_tools","arguments":{"toolkit":"github"}}}'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Returns tool descriptors with `name`, `summary`, `kind`, and `schema` for each tool in that toolkit.
|
|
54
|
+
|
|
55
|
+
## Step 3: Get a tool's parameter schema (optional)
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
curl -s -X POST https://mcp.toolforest.io/mcp \
|
|
59
|
+
-H "Content-Type: application/json" \
|
|
60
|
+
-H "Authorization: Bearer YOUR_KEY" \
|
|
61
|
+
-d '{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"get_tool_schema","arguments":{"tool_name":"github-list_repos"}}}'
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Step 4: Execute a tool
|
|
65
|
+
|
|
34
66
|
```bash
|
|
35
67
|
curl -s -X POST https://mcp.toolforest.io/mcp \
|
|
36
68
|
-H "Content-Type: application/json" \
|
|
37
69
|
-H "Authorization: Bearer YOUR_KEY" \
|
|
38
70
|
-d '{
|
|
39
71
|
"jsonrpc": "2.0", "id": "1", "method": "tools/call",
|
|
40
|
-
"params": { "name": "execute_tool", "arguments": { "tool_name": "
|
|
72
|
+
"params": { "name": "execute_tool", "arguments": { "tool_name": "github-list_repos", "args": {"owner": "example"} } }
|
|
41
73
|
}'
|
|
42
74
|
```
|
|
43
75
|
|
|
76
|
+
Tool names follow the pattern `{toolkit}-{action}` (e.g. `github-list_repos`, `google_sheets-get_values`).
|
|
77
|
+
|
|
44
78
|
Responses may be SSE (`data: {...}`) or plain JSON — handle both.
|