# tech.waow.mcp.server

> Published by [zzstoatzz.io](https://lexicon.garden/identity/did:plc:xbtmt2zjwlrfegqvch7fboei)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:xbtmt2zjwlrfegqvch7fboei/tech.waow.mcp.server)
- [Documentation](https://lexicon.garden/lexicon/did:plc:xbtmt2zjwlrfegqvch7fboei/tech.waow.mcp.server/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:xbtmt2zjwlrfegqvch7fboei/tech.waow.mcp.server/examples)

## Definitions

### `tech.waow.mcp.server`

**Type**: `record`

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.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | No | Remote endpoint for hosted servers (streamable HTTP). Omit for local-only servers. |
| `name` | `string` | Yes | Short name of the server (e.g. 'partscout'). |
| `repo` | `string` (uri) | No | Source repository URL. |
| `tools` | `array` | No | Tools the server exposes. Advisory; crawlers may verify by connecting. |
| `language` | `string` | No | Implementation language. Informational — clients never need it to run or connect. |
| `manifest` | `string` (uri) | No | URL of a machine-readable manifest (e.g. a raw fastmcp.json) describing how to run the server from source. |
| `packages` | `array` | No | Where the server is distributed, one entry per registry. Ecosystems are values, not structure — no language is privileged. |
| `createdAt` | `string` (datetime) | Yes | Client-declared timestamp when this record was created. |
| `framework` | `string` | No | Authoring framework. Informational. |
| `transport` | `string` | No | How clients connect. 'http' servers are hosted at `url`; 'stdio' servers are run locally from `repo`. |
| `description` | `string` | Yes | What the server does, one paragraph. |
| `environment` | `array` | No | Environment variables the server reads, so clients know what to configure before running or connecting. |

### `tech.waow.mcp.server#tool`

**Type**: `object`

One tool the server exposes.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Tool name as served over MCP. |
| `description` | `string` | No | What the tool does, one line. |

### `tech.waow.mcp.server#envVar`

**Type**: `object`

One environment variable the server reads.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Variable name, e.g. EBAY_CLIENT_ID. |
| `required` | `boolean` | No | Whether the server refuses to work without this. Defaults to false (optional). |
| `description` | `string` | No | What the variable configures and where to get a value. |

### `tech.waow.mcp.server#package`

**Type**: `object`

One distribution of the server in a package registry.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `version` | `string` | No | Version this record describes. Omit to mean latest. |
| `registry` | `string` | Yes | Package ecosystem this entry refers to. |
| `identifier` | `string` | Yes | Package name within the registry, e.g. 'tangled-mcp' on pypi. |

## Raw Schema

```json
{
  "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"
}
```
