ttbkk-mcp-server
Version:
MCP server providing access to Korean tteokbokki restaurant database with search, location-based queries, and brand information
64 lines • 1.87 kB
JavaScript
import { z } from 'zod';
// Hashtag schema
export const HashtagSchema = z.object({
name: z.string(),
created_at: z.string(),
});
// Brand schema (실제 ttbkk-web 구조 기반)
export const BrandSchema = z.object({
id: z.string(),
name: z.string(),
description: z.string().nullable(),
created_at: z.string().nullable(),
updated_at: z.string().nullable(),
created_by: z.string().nullable(),
updated_by: z.string().nullable(),
hashtags: z.array(z.object({
hashtag_id: z.string(),
})).optional(),
place_count: z.array(z.object({
count: z.number(),
})).optional(),
});
// Place schema (실제 ttbkk-web IPlace 기반)
export const PlaceSchema = z.object({
id: z.string(),
name: z.string(),
latitude: z.number(),
longitude: z.number(),
address: z.string().nullable(),
telephone: z.string().nullable(),
description: z.string().nullable(),
created_at: z.string(),
updated_at: z.string(),
created_by: z.string().nullable(),
updated_by: z.string().nullable(),
is_deleted: z.boolean(),
brand: BrandSchema.nullable(),
hashtags: z.array(z.object({
hashtag_id: z.string(),
})).optional(),
});
// 프랜차이즈 타입 (실제 ttbkk-server FranchiseType 기반)
export const FranchiseType = {
TERRYROZE: '태리로제떡볶이',
SINJEON: '신전',
GAMTAN: '감탄',
YUPDDUK: '엽떡',
BAEDDUCK: '배떡',
MYUNGRANG: '명랑',
YOUNGDABANG: '청년다방',
SINCHAM: '신참',
SINBUL: '신불',
EUNGDDUK: '응떡',
JAWSFOOD: '죠스떡볶이',
TTEOKCHAM: '떡참',
SAMCHEOP: '삼첩분식',
DALDDUK: '달토끼의떡볶이흡입구역',
DOOKKI: '두끼',
KANG: '크앙',
ESOTTUK: '이소떡',
ZZING: '찡떡',
BULLS: '불스떡볶이',
};
//# sourceMappingURL=database.js.map