{
"id": "tech.waow.mcp.server",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"description",
"createdAt"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Remote endpoint for hosted servers (streamable HTTP). Omit for local-only servers."
},
"name": {
"type": "string",
"maxLength": 640,
"description": "Short name of the server (e.g. 'partscout').",
"maxGraphemes": 64
},
"repo": {
"type": "string",
"format": "uri",
"description": "Source repository URL."
},
"tools": {
"type": "array",
"items": {
"ref": "#tool",
"type": "ref"
},
"maxLength": 128,
"description": "Tools the server exposes. Advisory; crawlers may verify by connecting."
},
"language": {
"type": "string",
"maxLength": 320,
"description": "Implementation language. Informational — clients never need it to run or connect.",
"knownValues": [
"python",
"typescript",
"javascript",
"go",
"rust",
"zig"
],
"maxGraphemes": 32
},
"manifest": {
"type": "string",
"format": "uri",
"description": "URL of a machine-readable manifest (e.g. a raw fastmcp.json) describing how to run the server from source."
},
"packages": {
"type": "array",
"items": {
"ref": "#package",
"type": "ref"
},
"maxLength": 8,
"description": "Where the server is distributed, one entry per registry. Ecosystems are values, not structure — no language is privileged."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this record was created."
},
"framework": {
"type": "string",
"maxLength": 320,
"description": "Authoring framework. Informational.",
"knownValues": [
"fastmcp",
"mcp-sdk"
],
"maxGraphemes": 32
},
"transport": {
"type": "string",
"description": "How clients connect. 'http' servers are hosted at `url`; 'stdio' servers are run locally from `repo`.",
"knownValues": [
"http",
"stdio"
]
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "What the server does, one paragraph.",
"maxGraphemes": 500
},
"environment": {
"type": "array",
"items": {
"ref": "#envVar",
"type": "ref"
},
"maxLength": 32,
"description": "Environment variables the server reads, so clients know what to configure before running or connecting."
}
}
},
"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."
},
"tool": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 1280,
"description": "Tool name as served over MCP.",
"maxGraphemes": 128
},
"description": {
"type": "string",
"maxLength": 3000,
"description": "What the tool does, one line.",
"maxGraphemes": 300
}
},
"description": "One tool the server exposes."
},
"envVar": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 640,
"description": "Variable name, e.g. EBAY_CLIENT_ID.",
"maxGraphemes": 64
},
"required": {
"type": "boolean",
"description": "Whether the server refuses to work without this. Defaults to false (optional)."
},
"description": {
"type": "string",
"maxLength": 3000,
"description": "What the variable configures and where to get a value.",
"maxGraphemes": 300
}
},
"description": "One environment variable the server reads."
},
"package": {
"type": "object",
"required": [
"registry",
"identifier"
],
"properties": {
"version": {
"type": "string",
"maxLength": 640,
"description": "Version this record describes. Omit to mean latest.",
"maxGraphemes": 64
},
"registry": {
"type": "string",
"maxLength": 320,
"description": "Package ecosystem this entry refers to.",
"knownValues": [
"pypi",
"npm",
"oci",
"nuget",
"gem",
"crates"
],
"maxGraphemes": 32
},
"identifier": {
"type": "string",
"maxLength": 1280,
"description": "Package name within the registry, e.g. 'tangled-mcp' on pypi.",
"maxGraphemes": 128
}
},
"description": "One distribution of the server in a package registry."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"createdAt": "2026-08-14T06:36:46.983002Z"
}