---
schema: "interfacedelta-service-md/1"
target_key: "sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15"
origin: "https://sfomo.ai"
protocols: ["mcp","mcp-server-card","openapi","ard"]
observed_at: "2026-11-13T13:05:18.364Z"
generated_at: "2026-11-14T02:00:49.891Z"
record_url: "https://interfacedelta.com/atlas/sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15"
record_api: "https://interfacedelta.com/api/v1/record/services/sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15"
source: "InterfaceDelta atlas"
license_note: "Use of this record is governed by https://interfacedelta.com/terms."
---

# Service record: https://sfomo.ai

## Identity
- Origin: https://sfomo.ai
- Endpoints: https://sfomo.ai/mcp
- Protocols: mcp, mcp-server-card, openapi, ard
- Registry names: ai.sfomo/events
- First retained observation: 2026-11-13T13:05:18.364Z
- Latest observation: 2026-11-13T13:05:18.364Z

## Tools
MCP tools, OpenAPI operations, WebMCP tools and A2A skills; excludes prompts and resources.
Total capabilities: 12; non-tool capabilities: 0.
- Tool 1: create\_custom\_calendar (mcp); inputs: exclude, include\_kids, include\_seniors, interests, name; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 2: find\_performer (mcp); inputs: limit, query; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 3: get\_city (mcp); inputs: none shown; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 4: get\_event (mcp); inputs: id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 5: list\_upcoming (mcp); inputs: audience, biz\_format, category, changed\_since, days, limit, near, neighborhood; inputs omitted: 4; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 6: search\_events (mcp); inputs: audience, biz\_format, category, changed\_since, city, free, from, limit; inputs omitted: 11; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 7: getStatus (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
- Tool 8: getChanges (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
- Tool 9: getCoverage (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
- Tool 10: getLaterEvents (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
- Tool 11: getEvents (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
- Tool 12: getLlmsTxt (openapi); inputs: none shown; inputs omitted: 0; annotations: {}
Tools omitted: 0.

## Effect readings (AI)
- Tool 1 purpose: ◇ AI reading; Builds a self-refreshing calendar link with subscribe options for upcoming Bay Area events matching chosen interests.; lens: tool-purpose-v1; model: not recorded.
- Tool 2 (find\_performer): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 2 purpose: ◇ AI reading; Returns upcoming events, venues and genres for a Bay Area band or performer matched by name from public listings.; lens: tool-purpose-v1; model: not recorded.
- Tool 3 (get\_city): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 3 purpose: ◇ AI reading; Reports how many upcoming local events are listed, their date range, data freshness, source count, and per-category counts.; lens: tool-purpose-v1; model: not recorded.
- Tool 4 (get\_event): ◇ AI reading; state: counted; reads (confidence 0.91); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 4 purpose: ◇ AI reading; Fetches one upcoming event by its ID, returning its dates, venue, price, original listing link and the sources that list it.; lens: tool-purpose-v1; model: not recorded.
- Tool 5 (list\_upcoming): ◇ AI reading; state: counted; reads (confidence 0.92); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 5 purpose: ◇ AI reading; Lists upcoming events for the next few days, spread across each day, with optional category, audience and location filters.; lens: tool-purpose-v1; model: not recorded.
- Tool 6 (search\_events): ◇ AI reading; state: counted; reads (confidence 0.93); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 6 purpose: ◇ AI reading; Returns upcoming Bay Area events filtered by keywords, date range, price, topic, or location, earliest first.; lens: tool-purpose-v1; model: not recorded.

## Change history
No changes recorded in the retained history.

## Payment rails
- Protocols observed: none.
- HTTP 402 seen in retained observations: false.

## Not covered
- We don't call tools.
- We don't rate or certify.
- We don't publish prices.
- We cover only what was observed.

## Evidence
- Identity: observed / declared; observation time: 2026-11-13T13:05:18.364Z.
- Tools: declared; observation time: 2026-11-13T13:05:18.364Z.
- Effect readings (AI): AI reading; observation time: 2026-11-13T13:05:18.364Z.
- Change history: observed; observation time: 2026-11-13T13:05:18.364Z; change observation times: none.
- Payment rails: observed; observation time: 2026-11-13T13:05:18.364Z.

```json
{
  "schema": "interfacedelta-service-md/1",
  "target_key": "sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15",
  "origin": "https://sfomo.ai",
  "protocols": [
    "mcp",
    "mcp-server-card",
    "openapi",
    "ard"
  ],
  "observed_at": "2026-11-13T13:05:18.364Z",
  "generated_at": "2026-11-14T02:00:49.891Z",
  "record_url": "https://interfacedelta.com/atlas/sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15",
  "record_api": "https://interfacedelta.com/api/v1/record/services/sha256:96336c8d0c59f35a1e37975fe2e92efa45460f93a9c70bb9960c4794f9e04d15",
  "source": "InterfaceDelta atlas",
  "license_note": "Use of this record is governed by https://interfacedelta.com/terms.",
  "identity": {
    "origin": "https://sfomo.ai",
    "endpoints": [
      "https://sfomo.ai/mcp"
    ],
    "protocols": [
      "mcp",
      "mcp-server-card",
      "openapi",
      "ard"
    ],
    "registry_names": [
      "ai.sfomo/events"
    ],
    "first_retained_observation": "2026-11-13T13:05:18.364Z",
    "latest_observation": "2026-11-13T13:05:18.364Z"
  },
  "tools": [
    {
      "name": "create_custom_calendar",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "exclude",
        "include_kids",
        "include_seniors",
        "interests",
        "name"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds a self-refreshing calendar link with subscribe options for upcoming Bay Area events matching chosen interests.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "find_performer",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "limit",
        "query"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns upcoming events, venues and genres for a Bay Area band or performer matched by name from public listings.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_city",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Reports how many upcoming local events are listed, their date range, data freshness, source count, and per-category counts.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_event",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.91
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Fetches one upcoming event by its ID, returning its dates, venue, price, original listing link and the sources that list it.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "list_upcoming",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "audience",
        "biz_format",
        "category",
        "changed_since",
        "days",
        "limit",
        "near",
        "neighborhood"
      ],
      "inputs_omitted": 4,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.92
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists upcoming events for the next few days, spread across each day, with optional category, audience and location filters.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "search_events",
      "kind": "mcp.tool",
      "protocol": "mcp",
      "inputs": [
        "audience",
        "biz_format",
        "category",
        "changed_since",
        "city",
        "free",
        "from",
        "limit"
      ],
      "inputs_omitted": 11,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.93
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns upcoming Bay Area events filtered by keywords, date range, price, topic, or location, earliest first.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "getStatus",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    },
    {
      "name": "getChanges",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    },
    {
      "name": "getCoverage",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    },
    {
      "name": "getLaterEvents",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    },
    {
      "name": "getEvents",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    },
    {
      "name": "getLlmsTxt",
      "kind": "openapi.operation",
      "protocol": "openapi",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {},
      "effects": null
    }
  ],
  "capability_count": 12,
  "non_tool_capability_count": 0,
  "tool_count_scope": "MCP tools, OpenAPI operations, WebMCP tools and A2A skills; excludes prompts and resources.",
  "tools_omitted": 0,
  "tools_state": "recorded",
  "changes": [],
  "payment_rails": {
    "protocols": [],
    "http_402_seen": false
  },
  "not_covered": [
    "We don't call tools.",
    "We don't rate or certify.",
    "We don't publish prices.",
    "We cover only what was observed."
  ],
  "evidence": [
    {
      "section": "Identity",
      "classes": [
        "observed",
        "declared"
      ],
      "observed_at": "2026-11-13T13:05:18.364Z"
    },
    {
      "section": "Tools",
      "classes": [
        "declared"
      ],
      "observed_at": "2026-11-13T13:05:18.364Z"
    },
    {
      "section": "Effect readings (AI)",
      "classes": [
        "AI reading"
      ],
      "observed_at": "2026-11-13T13:05:18.364Z"
    },
    {
      "section": "Change history",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-13T13:05:18.364Z",
      "observation_times": []
    },
    {
      "section": "Payment rails",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-13T13:05:18.364Z"
    }
  ]
}
```
