#
tokens: 1331/50000 6/6 files
lines: on (toggle) GitHub
raw markdown copy reset
# Directory Structure

```
├── .gitignore
├── Dockerfile
├── index.ts
├── package.json
├── README.md
├── smithery.yaml
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------

```
 1 | # dependencies
 2 | /node_modules
 3 | /dist
 4 | 
 5 | # testing
 6 | /coverage
 7 | 
 8 | # misc
 9 | .DS_Store
10 | *.pem
11 | 
12 | # env files (can opt-in for committing if needed)
13 | .env*
14 | 
15 | # typescript
16 | *.tsbuildinfo
17 | next-env.d.ts
```

--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Korea Tour MCP Server
 2 | [![smithery badge](https://smithery.ai/badge/@pjookim/mcp-visit-korea)](https://smithery.ai/server/@pjookim/mcp-visit-korea)
 3 | MCP (Model Context Protocol) server providing Korean tourism information.
 4 | 
 5 | ## Features
 6 | - Area code lookup: Query metropolitan cities/provinces and sub-regions
 7 | - Tourism information search: Support for region-based, keyword-based, and location-based searches
 8 | - Tourism content detail lookup: Provides detailed information about attractions, festivals, accommodations, etc.
 9 | 
10 | 
11 | ### Installing via Smithery
12 | 
13 | To install mcp-visit-korea for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@pjookim/mcp-visit-korea):
14 | 
15 | ```bash
16 | npx -y @smithery/cli install @pjookim/mcp-visit-korea --client claude
17 | ```
18 | 
```

--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "compilerOptions": {
 3 |     "outDir": "./dist",
 4 |     "rootDir": ".",
 5 |     "moduleResolution": "NodeNext",
 6 |     "module": "NodeNext"
 7 |   },
 8 |   "include": [
 9 |     "./**/*.ts"
10 |   ]
11 | }
12 | 
```

--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------

```dockerfile
 1 | # Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
 2 | FROM node:lts-alpine
 3 | 
 4 | # Create app directory
 5 | WORKDIR /app
 6 | 
 7 | # Install app dependencies
 8 | COPY package.json package-lock.json* ./
 9 | RUN npm install --ignore-scripts
10 | 
11 | # Copy app source code
12 | COPY . .
13 | 
14 | # Build the project
15 | RUN npm run build
16 | 
17 | # Expose any ports if needed (not required for stdio-based MCP)
18 | 
19 | # Run the MCP server
20 | CMD [ "node", "dist/index.js" ]
21 | 
```

--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "name": "mcp-ktour",
 3 |   "version": "0.1.0",
 4 |   "description": "MCP server for Korean tourism information",
 5 |   "author": "Pyungjoo Kim",
 6 |   "homepage": "https://github.com/pjookim/mcp-visit-korea",
 7 |   "bugs": "https://github.com/pjookim/mcp-visit-korea/issues",
 8 |   "type": "module",
 9 |   "bin": {
10 |     "mcp-server-filesystem": "dist/index.js"
11 |   },
12 |   "files": [
13 |     "dist"
14 |   ],
15 |   "scripts": {
16 |     "build": "tsc && shx chmod +x dist/*.js",
17 |     "prepare": "npm run build",
18 |     "watch": "tsc --watch"
19 |   },
20 |   "dependencies": {
21 |     "@modelcontextprotocol/sdk": "^0.5.0",
22 |     "axios": "^1.8.4",
23 |     "zod": "^3.24.2",
24 |     "zod-to-json-schema": "^3.24.5"
25 |   },
26 |   "devDependencies": {
27 |     "@types/node": "^22",
28 |     "shx": "^0.3.4",
29 |     "typescript": "^5.3.3"
30 |   }
31 | }
32 | 
```

--------------------------------------------------------------------------------
/smithery.yaml:
--------------------------------------------------------------------------------

```yaml
 1 | # Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
 2 | 
 3 | startCommand:
 4 |   type: stdio
 5 |   configSchema:
 6 |     # JSON Schema defining the configuration options for the MCP.
 7 |     type: object
 8 |     properties:
 9 |       tourApiKey:
10 |         type: string
11 |         description: API key for TOUR_API. If not provided, calls depending on API key
12 |           may fail.
13 |     default: {}
14 |   commandFunction:
15 |     # A JS function that produces the CLI command based on the given config to start the MCP on stdio.
16 |     |-
17 |     (config) => {
18 |       const env = {};
19 |       if (config.tourApiKey) {
20 |         env.TOUR_API_KEY = config.tourApiKey;
21 |       }
22 |       return {
23 |         command: 'node',
24 |         args: ['dist/index.js'],
25 |         env
26 |       };
27 |     }
28 |   exampleConfig:
29 |     tourApiKey: YOUR_TOUR_API_KEY
30 | 
```