#
tokens: 995/50000 6/6 files
lines: off (toggle) GitHub
raw markdown copy
# Directory Structure

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

# Files

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

```
# dependencies
/node_modules
/dist

# testing
/coverage

# misc
.DS_Store
*.pem

# env files (can opt-in for committing if needed)
.env*

# typescript
*.tsbuildinfo
next-env.d.ts
```

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

```markdown
# Korea Tour MCP Server
[![smithery badge](https://smithery.ai/badge/@pjookim/mcp-visit-korea)](https://smithery.ai/server/@pjookim/mcp-visit-korea)
MCP (Model Context Protocol) server providing Korean tourism information.

## Features
- Area code lookup: Query metropolitan cities/provinces and sub-regions
- Tourism information search: Support for region-based, keyword-based, and location-based searches
- Tourism content detail lookup: Provides detailed information about attractions, festivals, accommodations, etc.


### Installing via Smithery

To install mcp-visit-korea for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@pjookim/mcp-visit-korea):

```bash
npx -y @smithery/cli install @pjookim/mcp-visit-korea --client claude
```

```

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

```json
{
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": ".",
    "moduleResolution": "NodeNext",
    "module": "NodeNext"
  },
  "include": [
    "./**/*.ts"
  ]
}

```

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

```dockerfile
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
FROM node:lts-alpine

# Create app directory
WORKDIR /app

# Install app dependencies
COPY package.json package-lock.json* ./
RUN npm install --ignore-scripts

# Copy app source code
COPY . .

# Build the project
RUN npm run build

# Expose any ports if needed (not required for stdio-based MCP)

# Run the MCP server
CMD [ "node", "dist/index.js" ]

```

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

```json
{
  "name": "mcp-ktour",
  "version": "0.1.0",
  "description": "MCP server for Korean tourism information",
  "author": "Pyungjoo Kim",
  "homepage": "https://github.com/pjookim/mcp-visit-korea",
  "bugs": "https://github.com/pjookim/mcp-visit-korea/issues",
  "type": "module",
  "bin": {
    "mcp-server-filesystem": "dist/index.js"
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "build": "tsc && shx chmod +x dist/*.js",
    "prepare": "npm run build",
    "watch": "tsc --watch"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^0.5.0",
    "axios": "^1.8.4",
    "zod": "^3.24.2",
    "zod-to-json-schema": "^3.24.5"
  },
  "devDependencies": {
    "@types/node": "^22",
    "shx": "^0.3.4",
    "typescript": "^5.3.3"
  }
}

```

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

```yaml
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml

startCommand:
  type: stdio
  configSchema:
    # JSON Schema defining the configuration options for the MCP.
    type: object
    properties:
      tourApiKey:
        type: string
        description: API key for TOUR_API. If not provided, calls depending on API key
          may fail.
    default: {}
  commandFunction:
    # A JS function that produces the CLI command based on the given config to start the MCP on stdio.
    |-
    (config) => {
      const env = {};
      if (config.tourApiKey) {
        env.TOUR_API_KEY = config.tourApiKey;
      }
      return {
        command: 'node',
        args: ['dist/index.js'],
        env
      };
    }
  exampleConfig:
    tourApiKey: YOUR_TOUR_API_KEY

```