tech.waow.mcp.server
Schema Diff
+80 -1
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 21 non-breaking changes.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#envVar", src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.name", kind: "prop", name: Some("name") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#package", src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.identifier", kind: "prop", name: Some("identifier") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#package", src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.registry", kind: "prop", name: Some("registry") }
Non-Breaking Changes (21)
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#envVar" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.description" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.name" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.required" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#package" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#package.identifier" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#package.registry" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server#package.version" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server:body.environment" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server:body.environment:items" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server:body.packages" }
- AddedVertex AddedVertex { vertex_id: "tech.waow.mcp.server:body.packages:items" }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.required", kind: "prop", name: Some("required") }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.version", kind: "prop", name: Some("version") }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body", tgt: "tech.waow.mcp.server:body.environment", kind: "prop", name: Some("environment") }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body", tgt: "tech.waow.mcp.server:body.packages", kind: "prop", name: Some("packages") }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body.environment", tgt: "tech.waow.mcp.server:body.environment:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body.environment:items", tgt: "tech.waow.mcp.server#envVar", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body.packages", tgt: "tech.waow.mcp.server:body.packages:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "tech.waow.mcp.server:body.packages:items", tgt: "tech.waow.mcp.server#package", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "tech.waow.mcp.server#envVar" }AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.description" }AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.name" }AddedVertex { vertex_id: "tech.waow.mcp.server#envVar.required" }AddedVertex { vertex_id: "tech.waow.mcp.server#package" }AddedVertex { vertex_id: "tech.waow.mcp.server#package.identifier" }AddedVertex { vertex_id: "tech.waow.mcp.server#package.registry" }AddedVertex { vertex_id: "tech.waow.mcp.server#package.version" }AddedVertex { vertex_id: "tech.waow.mcp.server:body.environment" }AddedVertex { vertex_id: "tech.waow.mcp.server:body.environment:items" }AddedVertex { vertex_id: "tech.waow.mcp.server:body.packages" }AddedVertex { vertex_id: "tech.waow.mcp.server:body.packages:items" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#envVar", src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.name", kind: "prop", name: Some("name") }
- Breaking: RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#package", src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.identifier", kind: "prop", name: Some("identifier") }
- Breaking: RequiredEdgeAdded { vertex_id: "tech.waow.mcp.server#package", src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.registry", kind: "prop", name: Some("registry") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server#envVar", tgt: "tech.waow.mcp.server#envVar.required", kind: "prop", name: Some("required") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server#package", tgt: "tech.waow.mcp.server#package.version", kind: "prop", name: Some("version") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body", tgt: "tech.waow.mcp.server:body.environment", kind: "prop", name: Some("environment") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body", tgt: "tech.waow.mcp.server:body.packages", kind: "prop", name: Some("packages") }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body.environment", tgt: "tech.waow.mcp.server:body.environment:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body.environment:items", tgt: "tech.waow.mcp.server#envVar", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body.packages", tgt: "tech.waow.mcp.server:body.packages:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "tech.waow.mcp.server:body.packages:items", tgt: "tech.waow.mcp.server#package", kind: "ref", name: None }
1
1
{
2
2
"id": "tech.waow.mcp.server",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"description",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"url": {
16
16
"type": "string",
17
17
"format": "uri",
18
18
"description": "Remote endpoint for hosted servers (streamable HTTP). Omit for local-only servers."
19
19
},
20
20
"name": {
21
21
"type": "string",
22
22
"maxLength": 640,
23
23
"description": "Short name of the server (e.g. 'partscout').",
24
24
"maxGraphemes": 64
25
25
},
26
26
"repo": {
27
27
"type": "string",
28
28
"format": "uri",
29
29
"description": "Source repository URL."
30
30
},
31
31
"tools": {
32
32
"type": "array",
33
33
"items": {
34
34
"ref": "#tool",
35
35
"type": "ref"
36
36
},
37
37
"maxLength": 128,
38
38
"description": "Tools the server exposes. Advisory; crawlers may verify by connecting."
39
39
},
40
40
"manifest": {
41
41
"type": "string",
42
42
"format": "uri",
43
43
"description": "URL of a machine-readable manifest (e.g. a raw fastmcp.json) describing how to run the server from source."
44
44
},
45
+
"packages": {
46
+
"type": "array",
47
+
"items": {
48
+
"ref": "#package",
49
+
"type": "ref"
50
+
},
51
+
"maxLength": 8,
52
+
"description": "Where the server is distributed, one entry per registry. Ecosystems are values, not structure — no language is privileged."
53
+
},
45
54
"createdAt": {
46
55
"type": "string",
47
56
"format": "datetime",
48
57
"description": "Client-declared timestamp when this record was created."
49
58
},
50
59
"framework": {
51
60
"type": "string",
52
61
"maxLength": 320,
53
62
"description": "Authoring framework. Informational.",
54
63
"knownValues": [
55
64
"fastmcp",
56
65
"mcp-sdk"
57
66
],
58
67
"maxGraphemes": 32
59
68
},
60
69
"transport": {
61
70
"type": "string",
62
71
"description": "How clients connect. 'http' servers are hosted at `url`; 'stdio' servers are run locally from `repo`.",
63
72
"knownValues": [
64
73
"http",
65
74
"stdio"
66
75
]
67
76
},
68
77
"description": {
69
78
"type": "string",
70
79
"maxLength": 5000,
71
80
"description": "What the server does, one paragraph.",
72
81
"maxGraphemes": 500
82
+
},
83
+
"environment": {
84
+
"type": "array",
85
+
"items": {
86
+
"ref": "#envVar",
87
+
"type": "ref"
88
+
},
89
+
"maxLength": 32,
90
+
"description": "Environment variables the server reads, so clients know what to configure before running or connecting."
73
91
}
74
92
}
75
93
},
76
94
"description": "A self-published declaration that this identity maintains an MCP (Model Context Protocol) server. One record per server, on the publisher's own PDS; the record key is conventionally a slug of the server name so redeploys update in place. Directories (e.g. mcp.waow.tech) are projections over these records."
77
95
},
78
96
"tool": {
79
97
"type": "object",
80
98
"required": [
81
99
"name"
82
100
],
83
101
"properties": {
84
102
"name": {
85
103
"type": "string",
86
104
"maxLength": 1280,
87
105
"description": "Tool name as served over MCP.",
88
106
"maxGraphemes": 128
89
107
},
90
108
"description": {
91
109
"type": "string",
92
110
"maxLength": 3000,
93
111
"description": "What the tool does, one line.",
94
112
"maxGraphemes": 300
95
113
}
96
114
},
97
115
"description": "One tool the server exposes."
116
+
},
117
+
"envVar": {
118
+
"type": "object",
119
+
"required": [
120
+
"name"
121
+
],
122
+
"properties": {
123
+
"name": {
124
+
"type": "string",
125
+
"maxLength": 640,
126
+
"description": "Variable name, e.g. EBAY_CLIENT_ID.",
127
+
"maxGraphemes": 64
128
+
},
129
+
"required": {
130
+
"type": "boolean",
131
+
"description": "Whether the server refuses to work without this. Defaults to false (optional)."
132
+
},
133
+
"description": {
134
+
"type": "string",
135
+
"maxLength": 3000,
136
+
"description": "What the variable configures and where to get a value.",
137
+
"maxGraphemes": 300
138
+
}
139
+
},
140
+
"description": "One environment variable the server reads."
141
+
},
142
+
"package": {
143
+
"type": "object",
144
+
"required": [
145
+
"registry",
146
+
"identifier"
147
+
],
148
+
"properties": {
149
+
"version": {
150
+
"type": "string",
151
+
"maxLength": 640,
152
+
"description": "Version this record describes. Omit to mean latest.",
153
+
"maxGraphemes": 64
154
+
},
155
+
"registry": {
156
+
"type": "string",
157
+
"maxLength": 320,
158
+
"description": "Package ecosystem this entry refers to.",
159
+
"knownValues": [
160
+
"pypi",
161
+
"npm",
162
+
"oci",
163
+
"nuget",
164
+
"gem",
165
+
"crates"
166
+
],
167
+
"maxGraphemes": 32
168
+
},
169
+
"identifier": {
170
+
"type": "string",
171
+
"maxLength": 1280,
172
+
"description": "Package name within the registry, e.g. 'tangled-mcp' on pypi.",
173
+
"maxGraphemes": 128
174
+
}
175
+
},
176
+
"description": "One distribution of the server in a package registry."
98
177
}
99
178
},
100
179
"$type": "com.atproto.lexicon.schema",
101
180
"lexicon": 1,
102
-
"createdAt": "2026-08-14T05:15:11.421692Z"
181
+
"createdAt": "2026-08-14T05:47:04.810278Z"
103
182
}