@agentmanifest/mcp-server 0.0.0-stage → 0.1.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 (45) hide show
  1. package/README.md +212 -2
  2. package/dist/create-server.d.ts +3 -0
  3. package/dist/create-server.d.ts.map +1 -0
  4. package/dist/create-server.js +95 -0
  5. package/dist/create-server.js.map +1 -0
  6. package/dist/http.d.ts +3 -0
  7. package/dist/http.d.ts.map +1 -0
  8. package/dist/http.js +74 -0
  9. package/dist/http.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +13 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/lib/__tests__/check-permissions.test.d.ts +2 -0
  15. package/dist/lib/__tests__/check-permissions.test.d.ts.map +1 -0
  16. package/dist/lib/__tests__/check-permissions.test.js +29 -0
  17. package/dist/lib/__tests__/check-permissions.test.js.map +1 -0
  18. package/dist/lib/check-permissions.d.ts +13 -0
  19. package/dist/lib/check-permissions.d.ts.map +1 -0
  20. package/dist/lib/check-permissions.js +188 -0
  21. package/dist/lib/check-permissions.js.map +1 -0
  22. package/dist/lib/fetch-manifest.d.ts +5 -0
  23. package/dist/lib/fetch-manifest.d.ts.map +1 -0
  24. package/dist/lib/fetch-manifest.js +74 -0
  25. package/dist/lib/fetch-manifest.js.map +1 -0
  26. package/dist/lib/resolve-manifest-url.d.ts +5 -0
  27. package/dist/lib/resolve-manifest-url.d.ts.map +1 -0
  28. package/dist/lib/resolve-manifest-url.js +8 -0
  29. package/dist/lib/resolve-manifest-url.js.map +1 -0
  30. package/dist/lib/schemas.d.ts +3 -0
  31. package/dist/lib/schemas.d.ts.map +1 -0
  32. package/dist/lib/schemas.js +8 -0
  33. package/dist/lib/schemas.js.map +1 -0
  34. package/dist/lib/types.d.ts +84 -0
  35. package/dist/lib/types.d.ts.map +1 -0
  36. package/dist/lib/types.js +2 -0
  37. package/dist/lib/types.js.map +1 -0
  38. package/dist/lib/validate-syntax.d.ts +3 -0
  39. package/dist/lib/validate-syntax.d.ts.map +1 -0
  40. package/dist/lib/validate-syntax.js +52 -0
  41. package/dist/lib/validate-syntax.js.map +1 -0
  42. package/package.json +62 -4
  43. package/schemas/v0.2/manifest.json +290 -0
  44. package/schemas/v0.3/manifest.json +488 -0
  45. package/smithery.yaml +31 -0
@@ -0,0 +1,290 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://agent-manifest.com/schemas/v0.2/manifest.json",
4
+ "title": "Agent Manifest v0.2",
5
+ "description": "Schema for manifests that declare spec_version agentmanifest-0.2. It accepts everything the AMP validator accepted for v0.2 manifests before revision 0.3.1, plus the v0.2 payment block and the 'freemium' pricing model.",
6
+ "type": "object",
7
+ "required": [
8
+ "spec_version",
9
+ "name",
10
+ "version",
11
+ "description",
12
+ "categories",
13
+ "primary_category",
14
+ "endpoints",
15
+ "pricing",
16
+ "authentication",
17
+ "agent_notes",
18
+ "contact",
19
+ "last_updated"
20
+ ],
21
+ "properties": {
22
+ "spec_version": {
23
+ "type": "string",
24
+ "enum": ["agentmanifest-0.2"],
25
+ "description": "Version of the AgentManifest specification"
26
+ },
27
+ "name": {
28
+ "type": "string",
29
+ "minLength": 3,
30
+ "maxLength": 100,
31
+ "description": "Human-readable name of the API"
32
+ },
33
+ "version": {
34
+ "type": "string",
35
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
36
+ "description": "Semantic version of the API"
37
+ },
38
+ "description": {
39
+ "type": "string",
40
+ "minLength": 100,
41
+ "description": "Plain language explanation for AI agents"
42
+ },
43
+ "homepage": {
44
+ "type": "string",
45
+ "format": "uri",
46
+ "description": "URL to the API homepage"
47
+ },
48
+ "documentation": {
49
+ "type": "string",
50
+ "format": "uri",
51
+ "description": "URL to external documentation"
52
+ },
53
+ "categories": {
54
+ "type": "array",
55
+ "minItems": 1,
56
+ "items": {
57
+ "type": "string",
58
+ "enum": [
59
+ "food-science",
60
+ "materials",
61
+ "construction",
62
+ "music-gear",
63
+ "chemistry",
64
+ "biology",
65
+ "physics",
66
+ "mathematics",
67
+ "geography",
68
+ "finance",
69
+ "legal",
70
+ "medical",
71
+ "engineering",
72
+ "education",
73
+ "translation",
74
+ "media",
75
+ "agriculture",
76
+ "computing",
77
+ "language",
78
+ "history",
79
+ "commerce",
80
+ "identity",
81
+ "weather",
82
+ "logistics",
83
+ "other"
84
+ ]
85
+ },
86
+ "description": "Categories from controlled vocabulary"
87
+ },
88
+ "primary_category": {
89
+ "type": "string",
90
+ "enum": [
91
+ "reference",
92
+ "live",
93
+ "computational",
94
+ "transactional",
95
+ "enrichment",
96
+ "personal",
97
+ "discovery"
98
+ ],
99
+ "description": "Primary classification of the API"
100
+ },
101
+ "endpoints": {
102
+ "type": "array",
103
+ "minItems": 1,
104
+ "items": {
105
+ "type": "object",
106
+ "required": ["path", "method", "description", "parameters", "response_description"],
107
+ "properties": {
108
+ "path": {
109
+ "type": "string",
110
+ "pattern": "^/",
111
+ "description": "API endpoint path"
112
+ },
113
+ "method": {
114
+ "type": "string",
115
+ "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"],
116
+ "description": "HTTP method"
117
+ },
118
+ "description": {
119
+ "type": "string",
120
+ "minLength": 20,
121
+ "description": "When and why agents should use this endpoint"
122
+ },
123
+ "parameters": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "object",
127
+ "required": ["name", "type", "required", "description"],
128
+ "properties": {
129
+ "name": { "type": "string" },
130
+ "type": { "type": "string" },
131
+ "required": { "type": "boolean" },
132
+ "description": { "type": "string" }
133
+ }
134
+ },
135
+ "description": "Array of parameter objects"
136
+ },
137
+ "response_description": {
138
+ "type": "string",
139
+ "minLength": 20,
140
+ "description": "Response content and interpretation guide"
141
+ }
142
+ }
143
+ },
144
+ "description": "Available API endpoints"
145
+ },
146
+ "pricing": {
147
+ "type": "object",
148
+ "required": ["model"],
149
+ "properties": {
150
+ "model": {
151
+ "type": "string",
152
+ "enum": [
153
+ "free",
154
+ "freemium",
155
+ "per-query",
156
+ "subscription",
157
+ "pay-what-you-want",
158
+ "tiered",
159
+ "usage_based"
160
+ ],
161
+ "description": "Pricing model. 'freemium' was added alongside specification revision 0.3.1."
162
+ },
163
+ "free_tier": {
164
+ "type": ["object", "null"],
165
+ "properties": {
166
+ "queries_per_day": { "type": ["number", "null"], "minimum": 0 },
167
+ "queries_per_month": { "type": ["number", "null"], "minimum": 0 }
168
+ },
169
+ "description": "Free usage limits"
170
+ },
171
+ "paid_tier": {
172
+ "type": ["object", "null"],
173
+ "required": ["amount_usd", "unit", "description"],
174
+ "properties": {
175
+ "amount_usd": { "type": "number", "minimum": 0 },
176
+ "unit": { "type": "string" },
177
+ "description": { "type": "string" }
178
+ },
179
+ "description": "Paid tier details"
180
+ },
181
+ "support_url": {
182
+ "type": ["string", "null"],
183
+ "format": "uri",
184
+ "description": "URL for voluntary contributions or payment"
185
+ }
186
+ },
187
+ "description": "Pricing information"
188
+ },
189
+ "payment": {
190
+ "anyOf": [
191
+ { "type": "null" },
192
+ {
193
+ "type": "object",
194
+ "required": ["checkout_url"],
195
+ "properties": {
196
+ "provider": {
197
+ "type": "string",
198
+ "description": "Payment provider name"
199
+ },
200
+ "checkout_url": {
201
+ "type": "string",
202
+ "format": "uri",
203
+ "description": "URL where agents can complete payment or purchase API access"
204
+ },
205
+ "key_provisioning_url": {
206
+ "type": "string",
207
+ "format": "uri",
208
+ "description": "URL where agents can retrieve API keys after payment"
209
+ },
210
+ "accepted_methods": {
211
+ "type": "array",
212
+ "items": { "type": "string" },
213
+ "description": "Payment methods accepted (e.g., credit_card, crypto, paypal)"
214
+ },
215
+ "prepay_required": {
216
+ "type": "boolean",
217
+ "description": "Whether payment is required before API access"
218
+ }
219
+ }
220
+ }
221
+ ],
222
+ "description": "Optional payment configuration for API access"
223
+ },
224
+ "authentication": {
225
+ "type": "object",
226
+ "required": ["required"],
227
+ "properties": {
228
+ "required": { "type": "boolean" },
229
+ "type": {
230
+ "type": ["string", "null"],
231
+ "enum": ["api_key", "oauth2", "bearer", "none", null]
232
+ },
233
+ "instructions": { "type": ["string", "null"] },
234
+ "config": { "type": "object" }
235
+ },
236
+ "description": "Authentication requirements"
237
+ },
238
+ "reliability": {
239
+ "type": "object",
240
+ "properties": {
241
+ "maintained_by": {
242
+ "type": "string",
243
+ "enum": ["individual", "organization", "community"]
244
+ },
245
+ "status_url": { "type": ["string", "null"], "format": "uri" },
246
+ "expected_uptime_pct": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
247
+ "uptime_percentage": { "type": "number", "minimum": 0, "maximum": 100 },
248
+ "avg_response_time_ms": { "type": "integer", "minimum": 0 },
249
+ "last_30_days_uptime": { "type": "number", "minimum": 0, "maximum": 100 }
250
+ },
251
+ "description": "Reliability information"
252
+ },
253
+ "rate_limits": {
254
+ "type": "object",
255
+ "properties": {
256
+ "requests_per_minute": { "type": ["integer", "null"], "minimum": 0 },
257
+ "requests_per_day": { "type": ["integer", "null"], "minimum": 0 }
258
+ }
259
+ },
260
+ "agent_notes": {
261
+ "type": "string",
262
+ "minLength": 50,
263
+ "description": "Freeform guidance for AI agents"
264
+ },
265
+ "contact": {
266
+ "description": "Contact email, URL, or object",
267
+ "oneOf": [
268
+ { "type": "string" },
269
+ {
270
+ "type": "object",
271
+ "properties": {
272
+ "email": { "type": "string", "format": "email" },
273
+ "support_url": { "type": "string", "format": "uri" },
274
+ "github": { "type": "string", "format": "uri" }
275
+ }
276
+ }
277
+ ]
278
+ },
279
+ "listing_requested": {
280
+ "type": "boolean",
281
+ "description": "Whether API requests public listing"
282
+ },
283
+ "last_updated": {
284
+ "type": "string",
285
+ "format": "date-time",
286
+ "description": "ISO 8601 timestamp of last manifest update"
287
+ }
288
+ },
289
+ "additionalProperties": true
290
+ }