tech.waow.mcp.server
Schema Diff
+94 -1
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 23 non-breaking changes.
Breaking Changes (3)
- 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") }
- 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") }
Non-Breaking Changes (23)
- 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.language" }
- 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.language", kind: "prop", name: Some("language") }
- 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.language" }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#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") }
- 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") }
- 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.language", kind: "prop", name: Some("language") }
- 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
+
"language": {
41
+
"type": "string",
42
+
"maxLength": 320,
43
+
"description": "Implementation language. Informational — clients never need it to run or connect.",
44
+
"knownValues": [
45
+
"python",
46
+
"typescript",
47
+
"javascript",
48
+
"go",
49
+
"rust",
50
+
"zig"
51
+
],
52
+
"maxGraphemes": 32
53
+
},
40
54
"manifest": {
41
55
"type": "string",
42
56
"format": "uri",
43
57
"description": "URL of a machine-readable manifest (e.g. a raw fastmcp.json) describing how to run the server from source."
44
58
},
59
+
"packages": {
60
+
"type": "array",
61
+
"items": {
62
+
"ref": "#package",
63
+
"type": "ref"
64
+
},
65
+
"maxLength": 8,
66
+
"description": "Where the server is distributed, one entry per registry. Ecosystems are values, not structure — no language is privileged."
67
+
},
45
68
"createdAt": {
46
69
"type": "string",
47
70
"format": "datetime",
48
71
"description": "Client-declared timestamp when this record was created."
49
72
},
50
73
"framework": {
51
74
"type": "string",
52
75
"maxLength": 320,
53
76
"description": "Authoring framework. Informational.",
54
77
"knownValues": [
55
78
"fastmcp",
56
79
"mcp-sdk"
57
80
],
58
81
"maxGraphemes": 32
59
82
},
60
83
"transport": {
61
84
"type": "string",
62
85
"description": "How clients connect. 'http' servers are hosted at `url`; 'stdio' servers are run locally from `repo`.",
63
86
"knownValues": [
64
87
"http",
65
88
"stdio"
66
89
]
67
90
},
68
91
"description": {
69
92
"type": "string",
70
93
"maxLength": 5000,
71
94
"description": "What the server does, one paragraph.",
72
95
"maxGraphemes": 500
96
+
},
97
+
"environment": {
98
+
"type": "array",
99
+
"items": {
100
+
"ref": "#envVar",
101
+
"type": "ref"
102
+
},
103
+
"maxLength": 32,
104
+
"description": "Environment variables the server reads, so clients know what to configure before running or connecting."
73
105
}
74
106
}
75
107
},
76
108
"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
109
},
78
110
"tool": {
79
111
"type": "object",
80
112
"required": [
81
113
"name"
82
114
],
83
115
"properties": {
84
116
"name": {
85
117
"type": "string",
86
118
"maxLength": 1280,
87
119
"description": "Tool name as served over MCP.",
88
120
"maxGraphemes": 128
89
121
},
90
122
"description": {
91
123
"type": "string",
92
124
"maxLength": 3000,
93
125
"description": "What the tool does, one line.",
94
126
"maxGraphemes": 300
95
127
}
96
128
},
97
129
"description": "One tool the server exposes."
130
+
},
131
+
"envVar": {
132
+
"type": "object",
133
+
"required": [
134
+
"name"
135
+
],
136
+
"properties": {
137
+
"name": {
138
+
"type": "string",
139
+
"maxLength": 640,
140
+
"description": "Variable name, e.g. EBAY_CLIENT_ID.",
141
+
"maxGraphemes": 64
142
+
},
143
+
"required": {
144
+
"type": "boolean",
145
+
"description": "Whether the server refuses to work without this. Defaults to false (optional)."
146
+
},
147
+
"description": {
148
+
"type": "string",
149
+
"maxLength": 3000,
150
+
"description": "What the variable configures and where to get a value.",
151
+
"maxGraphemes": 300
152
+
}
153
+
},
154
+
"description": "One environment variable the server reads."
155
+
},
156
+
"package": {
157
+
"type": "object",
158
+
"required": [
159
+
"registry",
160
+
"identifier"
161
+
],
162
+
"properties": {
163
+
"version": {
164
+
"type": "string",
165
+
"maxLength": 640,
166
+
"description": "Version this record describes. Omit to mean latest.",
167
+
"maxGraphemes": 64
168
+
},
169
+
"registry": {
170
+
"type": "string",
171
+
"maxLength": 320,
172
+
"description": "Package ecosystem this entry refers to.",
173
+
"knownValues": [
174
+
"pypi",
175
+
"npm",
176
+
"oci",
177
+
"nuget",
178
+
"gem",
179
+
"crates"
180
+
],
181
+
"maxGraphemes": 32
182
+
},
183
+
"identifier": {
184
+
"type": "string",
185
+
"maxLength": 1280,
186
+
"description": "Package name within the registry, e.g. 'tangled-mcp' on pypi.",
187
+
"maxGraphemes": 128
188
+
}
189
+
},
190
+
"description": "One distribution of the server in a package registry."
98
191
}
99
192
},
100
193
"$type": "com.atproto.lexicon.schema",
101
194
"lexicon": 1,
102
-
"createdAt": "2026-08-14T05:15:11.421692Z"
195
+
"createdAt": "2026-08-14T06:36:46.983002Z"
103
196
}