You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+86-37Lines changed: 86 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,38 +4,57 @@ Agent-Tools is the canonical tool catalog for the AGenNext platform.
4
4
5
5
This is a cloud marketplace-style catalog problem.
6
6
7
-
A tool is an invocable product/capability package that can be discovered, governed, versioned, permissioned, reviewed, priced, installed, and used by agents, workflows, teams, and runtimes.
7
+
A tool is an invocable catalog object that can be discovered, governed, versioned, permissioned, reviewed, priced, installed, and used by agents, workflows, teams, and runtimes.
8
8
9
9
## Core model
10
10
11
+
```text
12
+
Tool
13
+
= primary catalog object
14
+
= invocable capability/product
15
+
16
+
Tool metadata includes:
17
+
- capabilities
18
+
- author
19
+
- publisher
20
+
- versions
21
+
- provider offers
22
+
- license
23
+
- pricing
24
+
- risk
25
+
- approval requirements
26
+
- invocation contracts
27
+
```
28
+
29
+
The primary catalog object is always the **Tool**.
30
+
31
+
Capability, author, publisher, version, and provider are metadata attached to the tool record.
32
+
33
+
## Role definitions
34
+
11
35
```text
12
36
Capability
13
-
= standardized semantic ability
14
-
= what can be done
37
+
= standardized semantic ability implemented by the tool
15
38
16
-
Tool
17
-
= catalog product implementing one or more capabilities
39
+
Author
40
+
= creator or maintainer of the tool
41
+
42
+
Publisher
43
+
= party that lists, curates, verifies, or publishes the tool into the catalog
18
44
19
-
Tool Version
20
-
= versioned contract for a tool
45
+
Version
46
+
= version metadata and compatibility contract for the tool
21
47
22
48
Provider Offer
23
-
= one way to access a specific tool version
49
+
= one access path for a specific tool version
24
50
25
51
Provider
26
-
= organization, package, service, MCP server, CLI, SDK, HTTP API, or runtime endpoint offering the tool version
52
+
= organization, package, service, MCP server, CLI, SDK, HTTP API, marketplace, or runtime endpoint offering that version
27
53
```
28
54
29
-
The primary catalog object is the **Tool**.
30
-
31
-
Capabilities standardize meaning. Versions standardize compatibility. Providers describe how a specific version is obtained or invoked.
32
-
33
55
## Marketplace rule
34
56
35
57
```text
36
-
One Capability
37
-
can be implemented by many Tools
38
-
39
58
One Tool
40
59
can implement many Capabilities
41
60
@@ -48,24 +67,37 @@ One Tool Version
48
67
One Provider
49
68
can offer many Tools
50
69
70
+
One open-source Tool
71
+
can have many Providers
72
+
51
73
One MCP Server
52
74
is a Provider type
53
75
54
76
One MCP Server
55
-
can expose many Tool Versions
77
+
can expose many Tools
56
78
```
57
79
58
-
## Example: capability, tool, version, providers
80
+
## Example: tool with capability, author, publisher, version, and providers
59
81
60
82
```yaml
61
83
id: filesystem.read_file
62
84
type: tool
63
85
name: Read File
86
+
64
87
capabilities:
65
88
- file.read
66
89
90
+
author:
91
+
name: AGenNext
92
+
type: Organization
93
+
94
+
publisher:
95
+
name: AGenNext
96
+
type: Organization
97
+
67
98
versions:
68
99
- version: 1.0.0
100
+
status: active
69
101
contract:
70
102
inputs:
71
103
path: string
@@ -82,6 +114,9 @@ versions:
82
114
provider_type: http_api
83
115
protocol: https
84
116
offer_status: active
117
+
118
+
risk: medium
119
+
approval_required: false
85
120
```
86
121
87
122
## Example: open-source tool with multiple providers
@@ -90,13 +125,24 @@ versions:
90
125
id: surrealkit
91
126
type: tool
92
127
name: SurrealKit
128
+
93
129
capabilities:
94
130
- database.schema.generate
95
131
- database.migration.run
96
132
- database.seed.load
97
133
134
+
author:
135
+
name: SurrealDB
136
+
type: Organization
137
+
138
+
publisher:
139
+
name: AGenNext
140
+
type: Organization
141
+
role: catalog_curator
142
+
98
143
versions:
99
144
- version: 2.2.1
145
+
status: supported
100
146
providers:
101
147
- provider_id: surrealkit-github-release
102
148
provider_type: github_release
@@ -121,12 +167,13 @@ Agent-Tools owns:
121
167
```text
122
168
- tool catalog entries
123
169
- capability references used by tools
124
-
- version contracts
170
+
- author and publisher metadata
171
+
- version metadata and compatibility contracts
125
172
- provider offer metadata
126
173
- external tool definitions
127
174
- MCP provider/package metadata where needed
128
175
- tool invocation contracts
129
-
- tool security, approval, and governance metadata
176
+
- tool security, approval, pricing, and governance metadata
130
177
```
131
178
132
179
Agent-Tools does not own:
@@ -154,7 +201,7 @@ catalog/surrealkit.tool.yaml
154
201
155
202
Each file should describe a tool first.
156
203
157
-
Provider details belong under the specific tool version they support.
204
+
Capabilities, author, publisher, versions, and provider offers belong inside the tool entry as metadata.
158
205
159
206
### `packages/`
160
207
@@ -170,8 +217,7 @@ to:
170
217
171
218
```text
172
219
Tool = catalog item
173
-
Tool Version = versioned contract
174
-
MCP server = provider offer for one or more tool versions
220
+
MCP server = provider offer metadata under a tool version
175
221
```
176
222
177
223
Recommended package structure:
@@ -188,7 +234,7 @@ packages/<provider-name>/
188
234
189
235
## MCP provider model
190
236
191
-
An MCP server package should declare which tool versions it provides:
237
+
An MCP server package should declare which tools it provides:
192
238
193
239
```yaml
194
240
provider_id: filesystem-mcp-server
@@ -280,7 +326,7 @@ Migrate them in place:
280
326
1. Identify the tools exposed by each provider package.
281
327
2. Identify capabilities implemented by each tool.
282
328
3. Add one .tool.yaml catalog entry per tool.
283
-
4. Add versions under each tool.
329
+
4. Add capability, author, publisher, and version metadata under each tool.
284
330
5. Add provider offers under each version.
285
331
6. Add provider.yaml only for package/build/runtime metadata.
286
332
7. Mark tool risk, approval requirements, auth, pricing, license, and support metadata where known.
@@ -295,13 +341,13 @@ Agent-Skills
295
341
uses tools as executable capabilities
296
342
297
343
Agent-Graph
298
-
maps tools, capabilities, providers, versions, permissions, and invocations
344
+
maps tools, capabilities, authors, publishers, versions, providers, permissions, and invocations
299
345
300
346
Agent-Grammar
301
-
validates tool, capability, version, and provider metadata
0 commit comments