@dayplayai/mcp-server 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ {
2
+ "mcpServers": {
3
+ "dayplay": {
4
+ "url": "https://www.dayplay.io/api/mcp"
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
+ "name": "dayplay-local-concierge",
4
+ "description": "San Francisco Bay Area only (San Francisco, Oakland, Berkeley across 35 neighborhood centroids): verified events tonight, places open now, and walkable itineraries by neighborhood. Out-of-market locations are not served - not available outside the San Francisco Bay Area.",
5
+ "version": "1.0.0",
6
+ "author": {
7
+ "name": "Dayplay Team",
8
+ "email": "hello@dayplay.io"
9
+ },
10
+ "homepage": "https://www.dayplay.io",
11
+ "repository": "https://github.com/dayplayTeam/dayplay-mcp",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "san-francisco",
15
+ "bay-area",
16
+ "events",
17
+ "things-to-do",
18
+ "restaurants",
19
+ "nightlife",
20
+ "itinerary",
21
+ "local-guide",
22
+ "mcp",
23
+ "real-time"
24
+ ],
25
+ "logo": "assets/logo.svg"
26
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dayplay Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,218 @@
1
+ # Dayplay โ€” Local Concierge & Vibe Scout MCP
2
+
3
+ **`@dayplayai/mcp-server`** ยท v1.0.0 ยท MIT
4
+
5
+ A zero-configuration MCP server that gives any AI agent a *locally grounded* concierge for the **San Francisco Bay Area only** โ€” curated places, verified real-time events, and neighborhood binding that eliminates cross-bay drift.
6
+
7
+ > ๐Ÿ”’ **Scope: SF Bay Area only.** This server serves **strictly San Francisco, Oakland, and Berkeley โ€” 35 neighborhood centroids**. It does **not** serve New York, Los Angeles, Chicago, Austin, Seattle, Miami, London, Tokyo, or any other city, region, or country. **Out-of-market locations are not served.** If a user asks about any location outside the SF Bay Area, the agent must state *"Dayplay is strictly San Francisco Bay Area only (San Francisco, Oakland, Berkeley); it does not cover \<location\>"* and must **not** call a tool or fabricate venues, events, dates, hours, or neighborhoods for that location. Zero results for a valid SF Bay Area query are reported honestly, never filled with invented places.
8
+
9
+ **Remote endpoint:** `https://www.dayplay.io/api/mcp` (Streamable HTTP / MCP)
10
+
11
+ ---
12
+
13
+ ## Quickstart
14
+
15
+ ### Cursor
16
+
17
+ **Option A โ€” direct remote server (recommended, no install).** Add to `~/.cursor/mcp.json` or this repo's `.cursor/mcp.json`:
18
+
19
+ ```json
20
+ {
21
+ "mcpServers": {
22
+ "dayplay": {
23
+ "url": "https://www.dayplay.io/api/mcp"
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ **Option B โ€” zero-config stdio proxy (works with any client):**
30
+
31
+ ```json
32
+ {
33
+ "mcpServers": {
34
+ "dayplay": {
35
+ "command": "npx",
36
+ "args": ["-y", "@dayplayai/mcp-server"]
37
+ }
38
+ }
39
+ }
40
+ ```
41
+
42
+ ### Claude Desktop
43
+
44
+ Edit `claude_desktop_config.json`:
45
+
46
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
47
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
48
+
49
+ ```json
50
+ {
51
+ "mcpServers": {
52
+ "dayplay": {
53
+ "command": "npx",
54
+ "args": ["-y", "@dayplayai/mcp-server"]
55
+ }
56
+ }
57
+ }
58
+ ```
59
+
60
+ Restart Claude Desktop, then ask: *"What's happening in the Mission tonight?"*
61
+
62
+ ### Grok Bot
63
+
64
+ Add the Dayplay remote connector:
65
+
66
+ ```
67
+ https://www.dayplay.io/api/mcp
68
+ ```
69
+
70
+ Or bridge it over stdio in Grok's MCP config:
71
+
72
+ ```json
73
+ {
74
+ "mcpServers": {
75
+ "dayplay": {
76
+ "command": "npx",
77
+ "args": ["-y", "@dayplayai/mcp-server"]
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ Pair it with the [`vibe-scout` skill](skills/vibe-scout/SKILL.md) for prompt-level scope enforcement.
84
+
85
+ ### Terminal smoke test
86
+
87
+ ```bash
88
+ npx -y @dayplayai/mcp-server --smoke
89
+ ```
90
+
91
+ Prints the live endpoint and available tool names. Exits non-zero on failure.
92
+
93
+ ---
94
+
95
+ ## Tools
96
+
97
+ Every tool is bound to the SF Bay Area (San Francisco, Oakland, Berkeley โ€” 35 centroids). Out-of-market locations are declined, never fabricated.
98
+
99
+ ### `get_places`
100
+
101
+ Query curated places filtered by neighborhood, open-now status, ratings, or newly opened window.
102
+
103
+ **SCOPE:** San Francisco Bay Area only (San Francisco, Oakland, Berkeley). Out-of-market locations (e.g. Austin, New York, Tokyo) are declined โ€” never fabricate venues. Spatially verified to eliminate cross-bay and geographic drift.
104
+
105
+ | Parameter | Type | Description |
106
+ | --- | --- | --- |
107
+ | `neighborhood` | string | SF Bay Area neighborhood name (SF, Oakland, Berkeley only) |
108
+ | `open_now` | boolean | Filter strictly for places open right now |
109
+ | `sort` | `"rating"` \| `"distance"` | Sort order |
110
+ | `newly_opened_days` | integer | Filter for places opened in the last N days |
111
+ | `limit` | integer | Max places to return (default 20) |
112
+
113
+ Example prompt: *"Find a place open right now in North Beach with a 4.5+ rating."*
114
+
115
+ ### `get_events`
116
+
117
+ Query verified, real-time event occurrences strictly filtered by date, neighborhood, and category.
118
+
119
+ **SCOPE:** San Francisco Bay Area only (San Francisco, Oakland, Berkeley). Out-of-market locations are declined โ€” never fabricate events. Spatially verified to eliminate cross-bay and geographic drift.
120
+
121
+ | Parameter | Type | Description |
122
+ | --- | --- | --- |
123
+ | `date` | string (`YYYY-MM-DD`) | Target date |
124
+ | `neighborhood` | string | SF Bay Area neighborhood name (e.g. Mission, North Beach, Oakland, Berkeley) |
125
+ | `category` | string | Category filter (e.g. music, art, food) |
126
+ | `source` | string | Data source filter |
127
+ | `limit` | integer | Max events to return (default 20) |
128
+
129
+ Example prompt: *"Which Berkeley music events are on this Saturday?"*
130
+
131
+ ### `get_neighborhoods`
132
+
133
+ Returns the complete and exclusive list of **35 San Francisco Bay Area neighborhood centroids with coordinates and radii** (San Francisco, Oakland, Berkeley only). No other market is covered. Use to strictly bind itineraries to a specific neighborhood and to detect out-of-market queries.
134
+
135
+ Example prompt: *"Give me the neighborhood list, then build a Saturday itinerary that never leaves Bernal Heights."*
136
+
137
+ ---
138
+
139
+ ## The Anti-Drift Guarantee
140
+
141
+ Most local AI answers fail the same way: a "Mission" recommendation lands in Oakland, a "Berkeley" event is actually in San Jose, and a walking itinerary silently requires a bridge crossing.
142
+
143
+ **Scope:** SF Bay Area only (San Francisco, Oakland, Berkeley). No national or global coverage.
144
+
145
+ **Dayplay receipts:**
146
+
147
+ - **Spatially verified.** Every place and event result is validated against neighborhood centroid coordinates and radii pulled live from `get_neighborhoods` (35 Bay Area neighborhoods).
148
+ - **Neighborhood-bound queries.** `neighborhood` is an exact-match binding parameter, not a fuzzy keyword hint โ€” results outside the bound radius are dropped, not ranked down.
149
+ - **Zero cross-bay drift.** No Oakland result in a San Francisco query. No Marin result in an East Bay query. No bridge-crossing itinerary that claims to be walkable.
150
+ - **Real-time, not stale.** `get_events` queries verified occurrences by `date`, so "tonight" means tonight โ€” not an SEO page from last season.
151
+ - **Out-of-market refusal.** Non-Bay-Area market names are refused before any upstream call, and the surfaced copy states the SF-Bay-Area-only boundary rather than returning plausible-but-wrong geography.
152
+ - **Honest emptiness.** If a bounded query has no verified matches, it returns nothing rather than padding with invented places.
153
+
154
+ That is the product: the answer stays where you are.
155
+
156
+ ---
157
+
158
+ ## Configuration
159
+
160
+ | Env var | Default | Purpose |
161
+ | --- | --- | --- |
162
+ | `DAYPLAY_MCP_URL` | `https://www.dayplay.io/api/mcp` | Override the remote endpoint (staging, self-hosted, local dev) |
163
+
164
+ No API key is required for the public endpoint. Optional auth tokens, if your deployment needs them, are passed through as standard `Authorization` headers by the MCP client โ€” never commit them to config files.
165
+
166
+ ---
167
+
168
+ ## How the proxy works
169
+
170
+ ```
171
+ MCP client (stdio) โ‡„ bin/dayplay-mcp.js โ‡„ https://www.dayplay.io/api/mcp (Streamable HTTP)
172
+ ```
173
+
174
+ The shim lists tools and forwards `tools/call` verbatim to the remote endpoint, so new Dayplay tools appear automatically without an npm update. It is a transport bridge, not a reimplementation โ€” every schema, filter, and verification rule is served by Dayplay itself.
175
+
176
+ Prefer direct HTTP if your client supports it; use the shim for stdio-only clients.
177
+
178
+ ---
179
+
180
+ ## Repository layout
181
+
182
+ ```
183
+ dayplay-mcp/
184
+ โ”œโ”€โ”€ .cursor/
185
+ โ”‚ โ””โ”€โ”€ mcp.json # Direct Cursor MCP connection
186
+ โ”œโ”€โ”€ .cursor-plugin/
187
+ โ”‚ โ””โ”€โ”€ plugin.json # Cursor Marketplace catalog plugin manifest
188
+ โ”œโ”€โ”€ skills/
189
+ โ”‚ โ””โ”€โ”€ vibe-scout/
190
+ โ”‚ โ””โ”€โ”€ SKILL.md # Grok Bot & Cursor Agent prompt instructions
191
+ โ”œโ”€โ”€ bin/
192
+ โ”‚ โ””โ”€โ”€ dayplay-mcp.js # Executable proxy for `npx -y @dayplayai/mcp-server`
193
+ โ”œโ”€โ”€ assets/
194
+ โ”‚ โ””โ”€โ”€ logo.svg
195
+ โ”œโ”€โ”€ test/
196
+ โ”‚ โ””โ”€โ”€ e2e.mjs
197
+ โ”œโ”€โ”€ smithery.yaml # Smithery.ai registry manifest
198
+ โ”œโ”€โ”€ plugin.json # Agent Plugins standard manifest
199
+ โ”œโ”€โ”€ package.json # npm metadata (@dayplayai/mcp-server v1.0.0, MIT)
200
+ โ”œโ”€โ”€ README.md # This file
201
+ โ””โ”€โ”€ LICENSE # MIT (Dayplay Team)
202
+ ```
203
+
204
+ ---
205
+
206
+ ## Development
207
+
208
+ ```bash
209
+ node bin/dayplay-mcp.js --smoke # verify remote endpoint + tool discovery
210
+ node bin/dayplay-mcp.js # run the stdio proxy
211
+ node test/e2e.mjs # end-to-end stdio smoke (tools + 3 tool calls)
212
+ ```
213
+
214
+ ---
215
+
216
+ ## License
217
+
218
+ MIT ยฉ Dayplay Team โ€” https://www.dayplay.io
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @dayplayai/mcp-server โ€” Dayplay Local Concierge & Vibe Scout
4
+ *
5
+ * Zero-configuration stdio MCP proxy that bridges any stdio-only MCP client
6
+ * (Cursor, Claude Desktop, Grok, Cline, etc.) to the hosted Dayplay remote
7
+ * Streamable HTTP MCP endpoint.
8
+ *
9
+ * npx -y @dayplayai/mcp-server
10
+ *
11
+ * All tool surface, schemas, and results are served by the remote endpoint, so
12
+ * this package never needs updating when Dayplay ships new tools.
13
+ */
14
+
15
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
16
+ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
17
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
18
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
19
+ import {
20
+ CallToolRequestSchema,
21
+ ListToolsRequestSchema,
22
+ } from "@modelcontextprotocol/sdk/types.js";
23
+
24
+ const DEFAULT_ENDPOINT = "https://www.dayplay.io/api/mcp";
25
+ const ENDPOINT = process.env.DAYPLAY_MCP_URL || DEFAULT_ENDPOINT;
26
+
27
+ const SERVER_INFO = {
28
+ name: "dayplay",
29
+ version: "1.0.0",
30
+ };
31
+
32
+ const log = (...args) => console.error("[dayplay-mcp]", ...args);
33
+
34
+ /** Build a connected remote client. */
35
+ async function connectRemote() {
36
+ const client = new Client(
37
+ { name: "dayplay-mcp-proxy", version: "1.0.0" },
38
+ { capabilities: {} },
39
+ );
40
+ const transport = new StreamableHTTPClientTransport(new URL(ENDPOINT));
41
+ await client.connect(transport);
42
+ return client;
43
+ }
44
+
45
+ /** `--smoke`: verify the remote endpoint and exit non-zero on failure. */
46
+ async function smoke() {
47
+ const client = await connectRemote();
48
+ const { tools } = await client.listTools();
49
+ const names = tools.map((t) => t.name);
50
+ log(`endpoint: ${ENDPOINT}`);
51
+ log(`tools (${names.length}): ${names.join(", ")}`);
52
+ await client.close();
53
+ console.log(JSON.stringify({ ok: true, endpoint: ENDPOINT, tools: names }, null, 2));
54
+ return names.length > 0;
55
+ }
56
+
57
+ async function main() {
58
+ if (process.argv.includes("--smoke")) {
59
+ const ok = await smoke();
60
+ process.exit(ok ? 0 : 1);
61
+ }
62
+
63
+ const remote = await connectRemote();
64
+ log(`proxying stdio -> ${ENDPOINT}`);
65
+
66
+ const server = new Server(SERVER_INFO, {
67
+ capabilities: { tools: {} },
68
+ });
69
+
70
+ server.setRequestHandler(ListToolsRequestSchema, async (request) => {
71
+ const { tools } = await remote.listTools(
72
+ request.params ?? undefined,
73
+ );
74
+ return { tools };
75
+ });
76
+
77
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
78
+ return remote.callTool({
79
+ name: request.params.name,
80
+ arguments: request.params.arguments ?? {},
81
+ });
82
+ });
83
+
84
+ const shutdown = async () => {
85
+ try {
86
+ await server.close();
87
+ } catch {}
88
+ try {
89
+ await remote.close();
90
+ } catch {}
91
+ process.exit(0);
92
+ };
93
+ process.on("SIGINT", shutdown);
94
+ process.on("SIGTERM", shutdown);
95
+
96
+ const stdio = new StdioServerTransport();
97
+ await server.connect(stdio);
98
+ log("ready โ€” Dayplay tools are live on stdio");
99
+ }
100
+
101
+ main().catch((error) => {
102
+ log("fatal:", error?.stack || error?.message || String(error));
103
+ process.exit(1);
104
+ });
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@dayplayai/mcp-server",
3
+ "version": "1.2.0",
4
+ "description": "Dayplay Local Concierge & Vibe Scout MCP server - strictly localized to the San Francisco Bay Area (San Francisco, Oakland, Berkeley across 35 neighborhood centroids). Out-of-market locations are not served.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "dayplay",
9
+ "sf",
10
+ "san-francisco",
11
+ "bay-area",
12
+ "travel",
13
+ "nightlife",
14
+ "itinerary",
15
+ "events",
16
+ "anti-drift"
17
+ ],
18
+ "license": "MIT",
19
+ "author": "Dayplay Team (https://www.dayplay.io)",
20
+ "type": "module",
21
+ "bin": {
22
+ "dayplay-mcp": "bin/dayplay-mcp.js"
23
+ },
24
+ "main": "bin/dayplay-mcp.js",
25
+ "exports": {
26
+ ".": "./bin/dayplay-mcp.js"
27
+ },
28
+ "files": [
29
+ "bin/",
30
+ "skills/",
31
+ "smithery.yaml",
32
+ "plugin.json",
33
+ ".cursor/",
34
+ ".cursor-plugin/",
35
+ "README.md",
36
+ "LICENSE"
37
+ ],
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
41
+ "scripts": {
42
+ "start": "node bin/dayplay-mcp.js",
43
+ "smoke": "node bin/dayplay-mcp.js --smoke",
44
+ "test": "node test/e2e.mjs"
45
+ },
46
+ "dependencies": {
47
+ "@modelcontextprotocol/sdk": "^1.30.0"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git+https://github.com/dayplayTeam/dayplay-mcp.git"
55
+ },
56
+ "homepage": "https://www.dayplay.io",
57
+ "bugs": {
58
+ "url": "https://github.com/dayplayTeam/dayplay-mcp/issues"
59
+ }
60
+ }
package/plugin.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
+ "name": "dayplay-local-concierge",
4
+ "description": "Verified local places, real-time events, and walkable itineraries strictly localized to the San Francisco Bay Area (San Francisco, Oakland, Berkeley across 35 neighborhood centroids). Does NOT serve New York, Los Angeles, Chicago, Austin, London, Tokyo, or any other market outside the SF Bay Area.",
5
+ "version": "1.0.0",
6
+ "author": {
7
+ "name": "Dayplay Team",
8
+ "email": "hello@dayplay.io",
9
+ "url": "https://www.dayplay.io"
10
+ },
11
+ "homepage": "https://www.dayplay.io",
12
+ "repository": "https://github.com/dayplayTeam/dayplay-mcp",
13
+ "license": "MIT",
14
+ "keywords": [
15
+ "san-francisco",
16
+ "bay-area",
17
+ "events",
18
+ "things-to-do",
19
+ "restaurants",
20
+ "nightlife",
21
+ "itinerary",
22
+ "local-guide",
23
+ "mcp",
24
+ "real-time"
25
+ ],
26
+ "logo": "assets/logo.svg",
27
+ "mcp": {
28
+ "servers": {
29
+ "dayplay": {
30
+ "url": "https://www.dayplay.io/api/mcp"
31
+ }
32
+ }
33
+ },
34
+ "skills": [
35
+ "skills/vibe-scout/SKILL.md"
36
+ ]
37
+ }
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: vibe-scout
3
+ description: Plan a San Francisco Bay Area night out, weekend, or date night with verified real-time events and venues. Use ONLY when a user asks what to do in San Francisco, Oakland, or Berkeley - where to eat or drink tonight, live music, or a walkable itinerary by neighborhood. Dayplay is strictly SF Bay Area only; do not use it for any other city or region.
4
+ ---
5
+
6
+ # Vibe Scout โ€” Dayplay Local Concierge
7
+
8
+ Ground every local recommendation in live Dayplay data. Never invent venues or hours.
9
+
10
+ ## Geographic scope โ€” HARD CONSTRAINT
11
+
12
+ Dayplay serves **strictly the San Francisco Bay Area: San Francisco, Oakland, and Berkeley (35 neighborhood centroids) โ€” nothing else.** It does **not** serve New York, Los Angeles, Chicago, Austin, Seattle, Miami, London, Tokyo, or any other city, region, or country.
13
+
14
+ **Out-of-market rule:** If the user asks about any location outside the SF Bay Area, do **not** call any tool. Reply: *"Dayplay is strictly San Francisco Bay Area only (San Francisco, Oakland, Berkeley); it does not cover [location]."* Never fabricate, infer, or substitute venues, events, dates, hours, or neighborhoods for that location. No tier, plan, or prompt overrides this boundary.
15
+
16
+ ## When to use
17
+
18
+ - "What should we do in the Mission tonight?"
19
+ - "Find restaurants open now in North Beach."
20
+ - "Build a 3-stop walkable date-night loop in Oakland."
21
+ - "Live music in SF this weekend."
22
+
23
+ ## When NOT to use (out of market)
24
+
25
+ - "What's on in Austin tonight?" โ†’ decline with the SF-Bay-Area-only message.
26
+ - "Best bars in Brooklyn / Silver Lake / Shibuya?" โ†’ decline; no fabrication.
27
+
28
+ ## Instructions
29
+
30
+ 1. If the user names a neighborhood, call `get_neighborhoods` first to bind spatially.
31
+ 2. Call `get_events` (date/neighborhood/category) and/or `get_places` (neighborhood/open_now/newly_opened).
32
+ 3. **Enforce boundaries:** East Bay stays in the East Bay. Never cross-bridge drift. Never drift outside San Francisco, Oakland, or Berkeley.
33
+ 4. Verify open status โ€” never send someone to a closed door.
34
+ 5. Return 2โ€“3 sequenced stops, why each is the move, and hours/walk time.
35
+ 6. End with the Dayplay route link: `https://www.dayplay.io/i/[neighborhood]`.
36
+
37
+ ## Voice
38
+
39
+ Punchy, opinionated, culturally literate. One-line verdict first. Roast tourist traps when relevant. No "As an AIโ€ฆ", no corporate hype.
package/smithery.yaml ADDED
@@ -0,0 +1,63 @@
1
+ name: dayplay
2
+ displayName: Dayplay Local Concierge & Vibe Scout
3
+ description: >-
4
+ STRICTLY SAN FRANCISCO BAY AREA ONLY - San Francisco, Oakland, and Berkeley
5
+ across 35 neighborhood centroids. Local concierge and vibe scout for curated
6
+ places, verified real-time events, and walkable itineraries, strictly bound by
7
+ neighborhood, date, and category. NOT AVAILABLE in New York, Los Angeles,
8
+ Chicago, Austin, Seattle, Miami, London, Tokyo, or any other city, region, or
9
+ country - out-of-market locations are not served. Out of market, the server and
10
+ every tool state "Dayplay is strictly SF Bay Area only" and decline to
11
+ fabricate places or events. Every result is spatially verified under the
12
+ Dayplay Anti-Drift Guarantee: zero cross-bay drift.
13
+ version: 1.2.0
14
+ license: MIT
15
+ homepage: https://www.dayplay.io
16
+ repository: https://github.com/dayplayTeam/dayplay-mcp
17
+ tags:
18
+ - sf
19
+ - san-francisco
20
+ - bay-area
21
+ - travel
22
+ - nightlife
23
+ - itinerary
24
+ - events
25
+ - anti-drift
26
+ - mcp
27
+ categories:
28
+ - travel
29
+ - local-search
30
+ - events
31
+ - lifestyle
32
+ examples:
33
+ - "What's happening in the Mission tonight?"
34
+ - "Find a place open right now in North Beach with a 4.5+ rating."
35
+ - "Build me a Saturday itinerary that never leaves Bernal Heights."
36
+ - "Which Berkeley events are on this weekend?"
37
+ - "What's on in Austin tonight? (out of market - Dayplay is strictly SF Bay Area only, so no results are returned)"
38
+ startCommand:
39
+ type: http
40
+ url: https://www.dayplay.io/api/mcp
41
+ configSchema:
42
+ type: object
43
+ properties: {}
44
+ required: []
45
+ tools:
46
+ - name: get_places
47
+ description: >-
48
+ Query curated places filtered by neighborhood, open-now status, ratings, or
49
+ newly opened window. SCOPE: San Francisco Bay Area only (San Francisco,
50
+ Oakland, Berkeley, 35 neighborhood centroids). Out-of-market locations
51
+ (e.g. Austin, New York, Tokyo) are declined - never fabricate venues.
52
+ - name: get_events
53
+ description: >-
54
+ Query verified, real-time event occurrences strictly filtered by date,
55
+ neighborhood, and category. SCOPE: San Francisco Bay Area only (San
56
+ Francisco, Oakland, Berkeley, 35 neighborhood centroids). Out-of-market
57
+ locations are declined - never fabricate events.
58
+ - name: get_neighborhoods
59
+ description: >-
60
+ Returns the complete and exclusive list of 35 San Francisco Bay Area
61
+ neighborhood centroids (San Francisco, Oakland, Berkeley only) with
62
+ coordinates and radii. No other market is covered. Use to strictly bind
63
+ itineraries to a specific neighborhood and to detect out-of-market queries.