Koskamo

Buffet MCP

A read-only remote MCP server providing AI assistants with access to Buffet's curated weekly lineup of real-life events and hangouts in Los Angeles. It allows agents to search for events, get details, and explain how the app works without requiring user authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Buffet MCP logo, by Buffet Co, Inc.Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Buffet Co, Inc.
MCP endpoint (Streamable HTTP)
https://mcp.joinbuffet.com/mcp
Vendor documentation

What you can do with it

  • What's going on in LA this weekend?
  • Free live music tonight in Silver Lake?
  • Full details for one pick by id
  • What Buffet is: Get a Plate, the table that forms at three

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
buffet-mcp-server 1.0.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
1 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Buffet is an iOS app for meeting people in real life (not a food or restaurant app). Each week it publishes a short curated lineup of real events and hangouts in its live cities (Los Angeles today). Use buffet_get_weekly_lineup for 'what's going on this week / this weekend', buffet_search_events to filter by day, neighborhood, price or interest, buffet_get_event for one pick, and buffet_how_it_works for product questions. Times are Pacific. People join a pick by getting a plate in the app; app_url on every event is the right link to share.

Tools

5 advertised

buffet_get_weekly_lineup — This week's lineup
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get Buffet's curated lineup of real-life events and hangouts for a week in a city (Los Angeles today). Use this for "what's going on in LA this week / this weekend", "things to do in Los Angeles", or "where can I meet people this weekend". Lineups run Monday to Sunday and the picks are mostly Thursday to Sunday evenings: free concerts, festivals, art walks, happy hours, a restaurant hangout. Each pick is somewhere a person can join a table of up to six strangers through the Buffet app. Returns the picks in date order with venue, neighborhood, time (Pacific), price tier, tags, a short description, the organiser's page when there is one, and app_url (the link to join). Use buffet_search_events instead to filter by day, neighborhood, price or interest.

buffet_get_weekly_lineup input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "city": {
      "type": "string",
      "default": "Los Angeles",
      "maxLength": 80,
      "description": "City name, e.g. \"Los Angeles\" or \"LA\""
    },
    "week": {
      "type": "string",
      "default": "this",
      "description": "\"this\" (default), \"next\", or a lineup week id like \"2026-W43\" (weeks run Monday to Sunday)"
    },
    "response_format": {
      "enum": [
        "markdown",
        "json"
      ],
      "type": "string",
      "default": "markdown",
      "description": "'markdown' for readable text, 'json' for structured data"
    }
  },
  "additionalProperties": false
}
buffet_get_weekly_lineup annotations
{
  "title": "This week's lineup",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
buffet_search_events — Search picks
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Buffet's upcoming curated picks by time window, neighborhood, price, category or free text. Use this for specific asks: "free things to do in LA tonight", "live music this weekend in Silver Lake", "cheap happy hours on Friday", "something outdoors on Saturday". For the whole week's list with no filters, buffet_get_weekly_lineup is simpler. Filters combine with AND. Text search matches title, venue, neighborhood, tags and description. Returns one page in date order; when more matches exist the result gives next_offset.

buffet_search_events input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "city": {
      "type": "string",
      "default": "Los Angeles",
      "maxLength": 80,
      "description": "City name, e.g. \"Los Angeles\""
    },
    "when": {
      "enum": [
        "today",
        "tonight",
        "tomorrow",
        "this_weekend",
        "this_week",
        "next_week",
        "upcoming"
      ],
      "type": "string",
      "default": "upcoming",
      "description": "Relative window in Pacific time: today, tonight, tomorrow, this_weekend (Fri-Sun), this_week, next_week, or upcoming (everything listed)"
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum picks to return"
    },
    "price": {
      "enum": [
        "Free",
        "$",
        "$$",
        "$$$"
      ],
      "type": "string",
      "description": "Exact price tier: \"Free\", \"$\", \"$$\" or \"$$$\""
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Free text, e.g. \"jazz\", \"oktoberfest\", \"sushi\", \"outdoor movie\""
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Picks to skip, for pagination"
    },
    "date_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Latest date, YYYY-MM-DD (Pacific). Overrides `when`."
    },
    "category": {
      "enum": [
        "event",
        "activity",
        "restaurant"
      ],
      "type": "string",
      "description": "event (concerts, festivals, screenings), activity (festivals, markets, things to do), restaurant (a hangout at a bar or restaurant)"
    },
    "date_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Earliest date, YYYY-MM-DD (Pacific). Overrides `when`."
    },
    "free_only": {
      "type": "boolean",
      "default": false,
      "description": "Only free picks"
    },
    "neighborhood": {
      "type": "string",
      "maxLength": 80,
      "description": "Neighborhood or area, e.g. \"Silver Lake\", \"Downtown\", \"Santa Monica\", \"Westwood\""
    },
    "response_format": {
      "enum": [
        "markdown",
        "json"
      ],
      "type": "string",
      "default": "markdown",
      "description": "'markdown' for readable text, 'json' for structured data"
    }
  },
  "additionalProperties": false
}
buffet_search_events annotations
{
  "title": "Search picks",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
buffet_get_event — Pick details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get full details for one Buffet pick by its event id (ids come from buffet_get_weekly_lineup and buffet_search_events). Returns structured JSON: venue, address, coordinates, start time (Pacific), price, tags, description, organiser page and the app_url to join.

buffet_get_event input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "event_id"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Event id, e.g. \"x5yJfmL8xqISyf8B3jIt\""
    }
  },
  "additionalProperties": false
}
buffet_get_event output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id",
    "title",
    "kind",
    "category",
    "city",
    "neighborhood",
    "venue",
    "starts_at",
    "date",
    "day_label",
    "time_label",
    "week_id",
    "price",
    "is_free",
    "tags",
    "description",
    "table",
    "app_url"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "date": {
      "type": "string"
    },
    "kind": {
      "enum": [
        "event",
        "hangout"
      ],
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "price": {
      "enum": [
        "Free",
        "$",
        "$$",
        "$$$"
      ],
      "type": "string"
    },
    "table": {
      "type": "object",
      "required": [
        "max_per_group",
        "spots_total",
        "spots_taken"
      ],
      "properties": {
        "spots_taken": {
          "type": "number"
        },
        "spots_total": {
          "type": "number"
        },
        "max_per_group": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "title": {
      "type": "string"
    },
    "venue": {
      "type": "object",
      "required": [
        "name",
        "address"
      ],
      "properties": {
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "address": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "app_url": {
      "type": "string"
    },
    "is_free": {
      "type": "boolean"
    },
    "week_id": {
      "type": "string"
    },
    "category": {
      "enum": [
        "event",
        "activity",
        "restaurant"
      ],
      "type": "string"
    },
    "day_label": {
      "type": "string"
    },
    "starts_at": {
      "type": "string"
    },
    "time_label": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "external_url": {
      "type": "string"
    },
    "neighborhood": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
buffet_get_event annotations
{
  "title": "Pick details",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
buffet_how_it_works — How Buffet works
Advertised by the server during the last successful anonymous check.
Advertised read-only

Explain what Buffet is and how it works: the weekly curated lineup, Get a Plate, the table that forms at three and caps at six, 1:1 invites, the Afterparty, the Monday ballot, platform (iOS), price (free), developer, how venues and organisers get listed, and the privacy, terms and contact pages. Use for any question about the product itself. Takes no arguments.

buffet_how_it_works input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {},
  "additionalProperties": false
}
buffet_how_it_works annotations
{
  "title": "How Buffet works",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
buffet_get_app_link — Get the app
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the link to download Buffet (iOS, free) and, when an event id is given, the link for that pick. Use when the person wants to join a pick, get a plate, or install the app. The link goes to joinbuffet.com/get/, which forwards to the App Store and records which assistant sent them.

buffet_get_app_link input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "event_id": {
      "type": "string",
      "maxLength": 64,
      "description": "Optional event id to attribute the link to"
    },
    "assistant": {
      "enum": [
        "claude",
        "chatgpt",
        "assistant"
      ],
      "type": "string",
      "description": "Which assistant is asking: claude or chatgpt. Omit if unsure."
    }
  },
  "additionalProperties": false
}
buffet_get_app_link annotations
{
  "title": "Get the app",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

1 advertised

buffet_whats_on_this_weekend — What's on this weekend

Advertised by the server during the last successful anonymous check.

Summarise Buffet's picks for the coming weekend in a city, grouped by night, and say how to join.

city
City, default "Los Angeles"

Resources

2 advertised

buffet-about — About Buffet

Advertised by the server during the last successful anonymous check.

What Buffet is, how it works, and the official links (the same facts as joinbuffet.com/llms.txt).

buffet-about URI
buffet://about

MIME type: text/markdown

buffet-lineup-current — This week's Buffet lineup (JSON)

Advertised by the server during the last successful anonymous check.

Every upcoming pick in the current lineup week, as JSON. Refreshed at most every 15 minutes.

buffet-lineup-current URI
buffet://lineup/current

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1073 ms
95th percentile latency
1073 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1073 ms · metadata changed · 5 tool(s), 2 resource(s), 0 resource template(s), 1 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http buffet-mcp https://mcp.joinbuffet.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add buffet-mcp --url https://mcp.joinbuffet.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable buffet-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "buffet-mcp": {
      "url": "https://mcp.joinbuffet.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "buffet-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.joinbuffet.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start buffet-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "buffet-mcp": {
      "type": "http",
      "url": "https://mcp.joinbuffet.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http buffet-mcp https://mcp.joinbuffet.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "buffet-mcp": {
      "url": "https://mcp.joinbuffet.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "buffet-mcp": {
      "serverUrl": "https://mcp.joinbuffet.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Buffet MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Buffet MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing