{"_id":"@channel.io/be-user-chat-mcp","_rev":"7-ecc5f326dc6b2a3975381915ddb925f6","name":"@channel.io/be-user-chat-mcp","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@channel.io/be-user-chat-mcp","version":"1.0.0","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@1.0.0","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js"},"dist":{"shasum":"5d2ef4d0615aa16e622351ae4d8f82ad8a50137e","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-1.0.0.tgz","fileCount":26,"integrity":"sha512-N/VYqBL1qGb09gGQMIn5JY+I8JewYFQgDHBKLxXaW+g2I1T/Vd1+/gYPJdJXi6zIq9jhZwOcGPs2o7W7jBFF2g==","signatures":[{"sig":"MEUCIQDyCx+l/WvL70TVafXPCU16qL0oJvC7q8hd+FXSlhtrswIgG+qewEhA+0M03d9Uz+Zv6TXSJBFpk+BpuIF8Wld+H5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63184},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-1.0.0.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","format:check":"prettier --check ."},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"_resolved":"/tmp/cb2e106da1066ac4be22ccb9c77b6ccc/channel.io-be-user-chat-mcp-1.0.0.tgz","_integrity":"sha512-N/VYqBL1qGb09gGQMIn5JY+I8JewYFQgDHBKLxXaW+g2I1T/Vd1+/gYPJdJXi6zIq9jhZwOcGPs2o7W7jBFF2g==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","@aws-sdk/util-dynamodb":"^3.585.0","@ch-mcp-tools/mcp-utils":"^0.1.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_1.0.0_1746017570675_0.7703399840256862","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@channel.io/be-user-chat-mcp","version":"1.0.1","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@1.0.1","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js"},"dist":{"shasum":"40adf5e1ea43fe4c5af7decd17c2702076cb1d22","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-1.0.1.tgz","fileCount":26,"integrity":"sha512-QkfC9XF/RKLCTu94onJ/Xb0gNPiTMweimdyaxq/3XSYmLO97DT3aG22dlC2Ko3oCCVckqUJG2Ejy072s2GvTHQ==","signatures":[{"sig":"MEQCIBM6UDUh/7UMT+WNtH7bTklTBfC0B9Yn2365d4lef25UAiAVVJNgADWvOjKg8BIkUcG5k8wDjXEOPrMuABfvG3yryQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63143},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-1.0.1.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","format:check":"prettier --check ."},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"_resolved":"/tmp/7601761e3f5ec1f074c51a49841e468d/channel.io-be-user-chat-mcp-1.0.1.tgz","_integrity":"sha512-QkfC9XF/RKLCTu94onJ/Xb0gNPiTMweimdyaxq/3XSYmLO97DT3aG22dlC2Ko3oCCVckqUJG2Ejy072s2GvTHQ==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","@aws-sdk/util-dynamodb":"^3.585.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_1.0.1_1746019519557_0.4823643261086532","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@channel.io/be-user-chat-mcp","version":"1.1.0","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@1.1.0","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js"},"dist":{"shasum":"c4208b199632b8df9277ad02f4323f630209bf12","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-1.1.0.tgz","fileCount":38,"integrity":"sha512-VhpeRDDfZyaxbsOHLEiZAzbl8hnf0cyyKIwVNeECoE0sTsq7JeBRcIwxW92/HW2drZ4CHBj81z6Q7wwkiZMFNQ==","signatures":[{"sig":"MEYCIQDHPiikFNd23XvdykMPBNCVTpQhnfIdRs2AXFyDeaoq+QIhAK2GYPUSvXrr9k1xL4s7MqMxhDRLcCceMiA/uN8Gmb9k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76494},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-1.1.0.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","format:check":"prettier --check ."},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"_resolved":"/tmp/0d6fd73d88096f1b79ba0ee4e70d0cec/channel.io-be-user-chat-mcp-1.1.0.tgz","_integrity":"sha512-VhpeRDDfZyaxbsOHLEiZAzbl8hnf0cyyKIwVNeECoE0sTsq7JeBRcIwxW92/HW2drZ4CHBj81z6Q7wwkiZMFNQ==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","@aws-sdk/util-dynamodb":"^3.585.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_1.1.0_1746933597483_0.9008612709621391","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@channel.io/be-user-chat-mcp","version":"1.2.0","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@1.2.0","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js"},"dist":{"shasum":"271bb549d7e30d9aeed3459c35e5eecc36767434","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-1.2.0.tgz","fileCount":50,"integrity":"sha512-jzemUivKvOI2sGzX6td6BBJMSSVE4TQ+1OhhM9OgyYcIoCexKmyx6oDs1SP7fdzilgNBzL9AgEx3Os2x+JbUrg==","signatures":[{"sig":"MEQCIBt44aLdb9uRPLL5nSguLCj7BoYJh92CyMRgIItevEB8AiBXHdAjBk72/TeLadMkh9uNgjpFtebztJUD8q7UUoRtbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107994},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-1.2.0.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","format:check":"prettier --check ."},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"_resolved":"/tmp/76321f73c8bbf4c0457f51a3e273d244/channel.io-be-user-chat-mcp-1.2.0.tgz","_integrity":"sha512-jzemUivKvOI2sGzX6td6BBJMSSVE4TQ+1OhhM9OgyYcIoCexKmyx6oDs1SP7fdzilgNBzL9AgEx3Os2x+JbUrg==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","@aws-sdk/util-dynamodb":"^3.585.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_1.2.0_1746976249169_0.4842271445975448","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@channel.io/be-user-chat-mcp","version":"1.2.1","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@1.2.1","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js"},"dist":{"shasum":"628dcbd23688b28e3f76b0b5a21f736b54e27c7a","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-1.2.1.tgz","fileCount":50,"integrity":"sha512-lFLKZZvWk1k2Ap7kBmtok8nJR5xGH/WM0qOUYDZvlkpJ7u6o+n3NHuaKOKCeOqpcm6y2WjnhI+XGqFhUkAlw9g==","signatures":[{"sig":"MEUCIQD5fvb8l1pRS/fA3daynku7OWVybYnmopFhjHk/zbyF1AIgAxgFVmXWVSZzHRq8GYmB+yoUH+efAO6Uy2t6zEXKxRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108230},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-1.2.1.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","format:check":"prettier --check ."},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"_resolved":"/tmp/193ce832ccd81d5ecd579b451347b591/channel.io-be-user-chat-mcp-1.2.1.tgz","_integrity":"sha512-lFLKZZvWk1k2Ap7kBmtok8nJR5xGH/WM0qOUYDZvlkpJ7u6o+n3NHuaKOKCeOqpcm6y2WjnhI+XGqFhUkAlw9g==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","@aws-sdk/util-dynamodb":"^3.585.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_1.2.1_1747225033682_0.5615607071708433","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@channel.io/be-user-chat-mcp","version":"2.0.0","keywords":["backend","userchat","redash","mcp","channel"],"_id":"@channel.io/be-user-chat-mcp@2.0.0","maintainers":[{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"bin":{"be-user-chat-mcp":"dist/index.js","be-user-chat-mcp-server":"dist/server.js"},"dist":{"shasum":"1eca95a67548cd1666bfa44118fa21154b590253","tarball":"https://registry.npmjs.org/@channel.io/be-user-chat-mcp/-/be-user-chat-mcp-2.0.0.tgz","fileCount":54,"integrity":"sha512-wUvJT+u0Sa1hjJB80KAvvBJdcFLo8GJqieoPmkRg1sSIHH53WwqR1FKuWA7ym4/JdxWeXGAQkCNwpRbb7y+t4w==","signatures":[{"sig":"MEYCIQCgXyBynxUjTOJ+RBZDsWz9WIU1fxn15smmDQ8xhzMt5wIhANJvnCnyCdvCKVlFdYZidKHEb54Aajf87LQkjwNm0PIU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132316},"main":"dist/index.js","type":"module","_from":"file:channel.io-be-user-chat-mcp-2.0.0.tgz","types":"./dist/index.d.ts","scripts":{"dev":"tsc -w","lint":"eslint . --ext .js,.jsx,.ts,.tsx","build":"tsc && shx chmod +x dist/index.js && shx chmod +x dist/server.js","start":"node ./dist/index.js","format":"prettier --write .","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","dev:server":"tsc -w && shx chmod +x dist/server.js","format:check":"prettier --check .","start:server":"node ./dist/server.js"},"_npmUser":{"name":"zoyi","actor":{"name":"zoyi","type":"user","email":"eng@channel.io"},"email":"eng@channel.io"},"_resolved":"/tmp/c484b87cde0e993d2394ad9acde9b4f7/channel.io-be-user-chat-mcp-2.0.0.tgz","_integrity":"sha512-wUvJT+u0Sa1hjJB80KAvvBJdcFLo8GJqieoPmkRg1sSIHH53WwqR1FKuWA7ym4/JdxWeXGAQkCNwpRbb7y+t4w==","_npmVersion":"10.2.4","description":"Backend UserChat Model Context Protocol server for Channel.io","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^3.24.2","axios":"^1.6.7","express":"^4.18.2","@aws-sdk/util-dynamodb":"^3.585.0","@aws-sdk/client-dynamodb":"^3.585.0","@modelcontextprotocol/sdk":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"5.0.4","@types/node":"18.17.0","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/be-user-chat-mcp_2.0.0_1750353537124_0.6342620329788111","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-04-30T12:52:50.611Z","modified":"2026-01-26T12:51:45.710Z","1.0.0":"2025-04-30T12:52:50.867Z","1.0.1":"2025-04-30T13:25:19.764Z","1.1.0":"2025-05-11T03:19:57.662Z","1.2.0":"2025-05-11T15:10:49.355Z","1.2.1":"2025-05-14T12:17:13.877Z","2.0.0":"2025-06-19T17:18:57.371Z"},"keywords":["backend","userchat","redash","mcp","channel"],"description":"Backend UserChat Model Context Protocol server for Channel.io","maintainers":[{"email":"polar@channel.io","name":"polarshin"},{"email":"eng@channel.io","name":"zoyi"},{"email":"dongwook627@gmail.com","name":"quino0627"},{"email":"sungik.dev@gmail.com","name":"sungik.dev"}],"readme":"# be-user-chat-mcp\n\n## 개요\n\n`be-user-chat-mcp`는 Channel.io 백엔드 시스템의 다양한 컨텍스트 정보를 조회하기 위한 Model Context Protocol (MCP) 서버입니다. AI 코딩 어시스턴트가 이 서버를 통해 필요한 백엔드 데이터 컨텍스트를 얻어 다양한 개발 작업을 효율적으로 지원할 수 있도록 설계되었습니다. 특정 도메인에 국한되지 않고, 새로운 데이터 소스 및 조회 로직을 쉽게 추가할 수 있는 확장성을 목표로 합니다.\n\n## 사용 방법\n\n1.  **`be-user-chat-mcp` 빌드**\n\n    ```bash\n    cd apps/be-user-chat-mcp && pnpm install && pnpm build\n    ```\n\n2.  **Cursor MCP 서버 추가**\n\n    Cursor Settings > Features > MCP 에서 \"+ Add New MCP Server\"를 클릭하여 MCP 서버를 추가합니다. ([참고 문서](https://docs.cursor.com/context/model-context-protocol))\n\n    - **Name:** `be-user-chat-mcp` (또는 원하는 이름)\n    - **Type:** command\n    - **Command:** `npx`\n    - **Args:** (아래 두 줄을 각각 추가)\n      - `-y`\n      - `@channel.io/be-user-chat-mcp`\n    - **Env:** (필요한 환경 변수를 Key-Value 형태로 추가)\n\n      - `REDASH_URL`: `<<Redash URL>>`\n      - `REDASH_API_KEY`: `<<Redash API 키>>`\n      - `SENTRY_AUTH_TOKEN`: `<<Sentry Auth 토큰 (event:read, org:read, project:read 필요)>>`\n      - `AWS_PROFILE`: `<<aws sso config를 통해 설정한 AWS PROFILE 이름>>`\n      - _(다른 필요한 환경 변수 추가)_\n\n      - `npx`를 사용하면 별도의 전역 설치 없이 패키지를 실행할 수 있습니다.\n      - `<<ch-mcp-tools 루트 경로>>`: 로컬 머신에 클론된 `ch-mcp-tools` 저장소의 **전체 경로**를 정확히 입력합니다. (예: `/Users/username/Documents/Development/ch-mcp-tools`)\n      - **환경 변수 및 AWS 자격 증명:**\n        - `Env` 섹션에는 서버가 백엔드 데이터 소스(Redash, AWS DynamoDB 등)에 접근하는 데 필요한 환경 변수를 설정합니다. 실제 값(키, 토큰 등)은 보안에 유의하여 관리하세요.\n        - 이 서버는 AWS SDK의 기본 자격 증명 제공자 체인(Default Credential Provider Chain)을 사용합니다. 따라서 AWS 자격 증명의 경우, 위 `Env` 섹션에 명시적으로 설정하는 대신 터미널에서 `aws sso login` 명령 (필요시 `--profile {프로필 이름}` 또는 `--sso-session {세션 이름}` 옵션 포함)을 실행하여 유효한 SSO 세션을 시작하는 것만으로도 서버가 자격 증명을 자동으로 인식하여 인증할 수 있습니다.\n        - 시스템 환경 변수나 `.env` 파일 등으로 이미 설정된 변수는 여기서 다시 설정할 필요가 없을 수 있습니다.\n\n3.  **AI 어시스턴트와 상호작용**\n\n    채팅 인터페이스에서 AI 어시스턴트에게 조회하려는 데이터에 필요한 식별자(예: 특정 엔티티 ID)를 제공하여 관련 데이터를 요청합니다.\n\n    **예시 프롬프트:**\n\n    ```\n    특정 ID 'xxxxxxxx'와 관련된 데이터를 조회해줘.\n    ```\n\n    AI 어시스턴트는 등록된 MCP 서버(`be-user-chat-mcp`) 내의 적절한 함수(예: `mcp_be-user-chat-mcp_get_entity_data`)를 호출하여 요청된 정보를 가져와 응답에 활용합니다. 사용 가능한 함수와 필요한 파라미터는 서버 구현 내용을 참고하세요.\n\n    **⚠️ 주의사항:** 이 MCP 서버는 AI 어시스턴트에게 필요한 **컨텍스트를 제공**하기 위한 목적으로 설계되었습니다. AI 어시스턴트가 이 서버를 통해 **직접 데이터베이스 쿼리나 Redash 쿼리 등을 실행하도록 요청해서는 안 됩니다.** 서버는 미리 정의된 로직에 따라 식별자를 기반으로 관련 데이터를 가져오는 역할만 수행해야 합니다.\n\n## 주요 기능 및 특징\n\n- 다양한 백엔드 데이터 소스(예: 데이터베이스, 내부 API, 캐시 등)로부터 컨텍스트 정보 조회\n- 요청된 식별자를 기반으로 관련 데이터 엔티티들을 검색하고 조합하여 제공\n- 필요에 따라 데이터를 가공하여 AI 어시스턴트가 이해하고 활용하기 용이한 형태로 변환\n- 새로운 데이터 조회 로직 및 엔드포인트를 쉽게 추가하고 확장할 수 있는 유연한 구조\n\n이 서버를 통해 AI 어시스턴트는 Channel.io 백엔드의 다양한 도메인 컨텍스트를 이해하고, 이를 바탕으로 보다 정확하고 맥락에 맞는 개발 지원을 제공할 수 있습니다.\n","readmeFilename":"README.md"}