@isnow890/naver-search-mcp 1.0.47 → 1.0.48
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.
- package/LICENSE +0 -0
- package/README.md +29 -7
- package/dist/data/categories.json +0 -0
- package/dist/src/clients/naver-api-core.client.d.ts +0 -0
- package/dist/src/clients/naver-api-core.client.js +0 -0
- package/dist/src/clients/naver-search.client.d.ts +0 -0
- package/dist/src/clients/naver-search.client.js +0 -0
- package/dist/src/handlers/category.handlers.d.ts +0 -0
- package/dist/src/handlers/category.handlers.js +17 -13
- package/dist/src/handlers/datalab.handlers.d.ts +0 -0
- package/dist/src/handlers/datalab.handlers.js +0 -0
- package/dist/src/handlers/search.handlers.d.ts +0 -0
- package/dist/src/handlers/search.handlers.js +0 -0
- package/dist/src/index.d.ts +0 -0
- package/dist/src/index.js +2 -2
- package/dist/src/schemas/category.schemas.d.ts +0 -0
- package/dist/src/schemas/category.schemas.js +0 -0
- package/dist/src/schemas/datalab.schemas.d.ts +0 -0
- package/dist/src/schemas/datalab.schemas.js +0 -0
- package/dist/src/schemas/search.schemas.d.ts +0 -0
- package/dist/src/schemas/search.schemas.js +0 -0
- package/dist/src/types/datalab.types.d.ts +0 -0
- package/dist/src/types/datalab.types.js +0 -0
- package/dist/src/types/search.types.d.ts +0 -0
- package/dist/src/types/search.types.js +0 -0
- package/dist/src/types/time.types.d.ts +0 -0
- package/dist/src/types/time.types.js +0 -0
- package/dist/src/utils/date.utils.d.ts +0 -0
- package/dist/src/utils/date.utils.js +0 -0
- package/package.json +1 -2
- package/dist/data/README.md +0 -26
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
@@ -3,11 +3,20 @@
|
|
|
3
3
|
[](README-ko.md)
|
|
4
4
|
|
|
5
5
|
[](https://archestra.ai/mcp-catalog/isnow890__naver-search-mcp)
|
|
6
|
-
[](https://smithery.ai/server/@isnow890/naver-search-mcp)
|
|
7
6
|
[](https://mcp.so/server/naver-search-mcp/isnow890)
|
|
8
7
|
|
|
9
8
|
MCP server for Naver Search API and DataLab API integration, enabling comprehensive search across various Naver services and data trend analysis.
|
|
10
9
|
|
|
10
|
+
## Available on ClawHub for OpenClaw
|
|
11
|
+
|
|
12
|
+
You can install this MCP server as an OpenClaw skill from ClawHub:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw skills install naver-search-mcp
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The ClawHub skill uses the published npm package internally and requires `NAVER_CLIENT_ID` and `NAVER_CLIENT_SECRET` in your OpenClaw environment.
|
|
19
|
+
|
|
11
20
|
## Quick Start: Use Without API Key
|
|
12
21
|
|
|
13
22
|
You can use this server immediately without API keys through [Kakao PlayMCP](https://playmcp.kakao.com/mcp/154). Simply visit the link and start using it right away!
|
|
@@ -105,14 +114,22 @@ Add to your Claude Code settings:
|
|
|
105
114
|
}
|
|
106
115
|
```
|
|
107
116
|
|
|
108
|
-
### Method 2:
|
|
117
|
+
### Method 2: ClawHub Installation for OpenClaw
|
|
109
118
|
|
|
110
|
-
Install
|
|
119
|
+
This MCP server can also be used from OpenClaw through the ClawHub skill wrapper. Install it with:
|
|
111
120
|
|
|
112
121
|
```bash
|
|
113
|
-
|
|
122
|
+
openclaw skills install naver-search-mcp
|
|
114
123
|
```
|
|
115
124
|
|
|
125
|
+
The ClawHub skill uses the same published npm package internally:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npx -y @isnow890/naver-search-mcp
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Make sure `NAVER_CLIENT_ID` and `NAVER_CLIENT_SECRET` are configured in your OpenClaw environment before using the skill.
|
|
132
|
+
|
|
116
133
|
### Method 3: Local Installation
|
|
117
134
|
|
|
118
135
|
For local development or custom modifications:
|
|
@@ -234,6 +251,11 @@ MIT License
|
|
|
234
251
|
|
|
235
252
|
## Version History
|
|
236
253
|
|
|
254
|
+
### 1.0.48 (2026-05-12)
|
|
255
|
+
|
|
256
|
+
- Fixed `find_category` data loading when the MCP server is launched by `npx` from a different working directory
|
|
257
|
+
- Category data is now resolved relative to the installed package before falling back to local development paths
|
|
258
|
+
|
|
237
259
|
### 1.0.47 (2025-01-03)
|
|
238
260
|
|
|
239
261
|
- **Added "today" keyword support** for all DataLab date parameters - no need to call separate time tool
|
|
@@ -245,10 +267,10 @@ MIT License
|
|
|
245
267
|
|
|
246
268
|
### 1.0.45 (2025-09-28)
|
|
247
269
|
|
|
248
|
-
- Resolved
|
|
270
|
+
- Resolved platform compatibility issues for hosted MCP installations
|
|
249
271
|
- Replaced the Excel export in category search with JSON for better compatibility
|
|
250
272
|
- Restored the `search_webkr` tool for Korean web search
|
|
251
|
-
-
|
|
273
|
+
- Improved hosted platform installation compatibility
|
|
252
274
|
|
|
253
275
|
### 1.0.44 (2025-08-31)
|
|
254
276
|
|
|
@@ -267,7 +289,7 @@ MIT License
|
|
|
267
289
|
### 1.0.30 (2025-08-04)
|
|
268
290
|
|
|
269
291
|
- MCP SDK upgraded to 1.17.1
|
|
270
|
-
- Fixed compatibility issues with
|
|
292
|
+
- Fixed compatibility issues with hosted MCP platform specification changes
|
|
271
293
|
- Added comprehensive DataLab shopping category code documentation
|
|
272
294
|
|
|
273
295
|
### 1.0.2 (2025-04-26)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// Import JSON data - bundle-safe approach
|
|
2
2
|
import { existsSync, readFileSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
3
|
+
import { dirname, join } from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
4
5
|
// 메모리 누수 방지를 위한 지연 로딩 캐시
|
|
5
6
|
let categoriesCache = null;
|
|
7
|
+
const moduleDir = dirname(fileURLToPath(import.meta.url));
|
|
6
8
|
// Load categories data with fallback paths for different environments
|
|
7
9
|
function getCategoriesData() {
|
|
8
10
|
// 캐시된 데이터가 있으면 반환 (메모리 효율성)
|
|
@@ -10,19 +12,21 @@ function getCategoriesData() {
|
|
|
10
12
|
return categoriesCache;
|
|
11
13
|
}
|
|
12
14
|
try {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
const candidatePaths = [
|
|
16
|
+
// Package-relative path. Works when launched by npx from any cwd.
|
|
17
|
+
join(moduleDir, '..', '..', 'data', 'categories.json'),
|
|
18
|
+
// Local development fallbacks.
|
|
19
|
+
join(process.cwd(), 'dist', 'data', 'categories.json'),
|
|
20
|
+
join(process.cwd(), 'data', 'categories.json'),
|
|
21
|
+
];
|
|
22
|
+
for (const categoryPath of candidatePaths) {
|
|
23
|
+
if (existsSync(categoryPath)) {
|
|
24
|
+
const categoryJson = readFileSync(categoryPath, 'utf8').toString();
|
|
25
|
+
categoriesCache = JSON.parse(categoryJson);
|
|
26
|
+
return categoriesCache;
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
|
-
throw new Error(
|
|
29
|
+
throw new Error(`카테고리 데이터 파일을 찾을 수 없습니다. Tried: ${candidatePaths.join(', ')}`);
|
|
26
30
|
}
|
|
27
31
|
catch (error) {
|
|
28
32
|
console.error('카테고리 데이터 로딩 실패:', error);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/index.d.ts
CHANGED
|
File without changes
|
package/dist/src/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { SearchArgsSchema, NaverLocalSearchParamsSchema, } from "./schemas/searc
|
|
|
9
9
|
import { DatalabSearchSchema, DatalabShoppingSchema, DatalabShoppingDeviceSchema, DatalabShoppingGenderSchema, DatalabShoppingAgeSchema, DatalabShoppingKeywordsSchema, DatalabShoppingKeywordDeviceSchema, DatalabShoppingKeywordGenderSchema, DatalabShoppingKeywordAgeSchema, } from "./schemas/datalab.schemas.js";
|
|
10
10
|
import { FindCategorySchema } from "./schemas/category.schemas.js";
|
|
11
11
|
import { findCategoryHandler, clearCategoriesCache } from "./handlers/category.handlers.js";
|
|
12
|
-
// Configuration schema for
|
|
12
|
+
// Configuration schema for programmatic server creation and stdio startup
|
|
13
13
|
export const configSchema = z.object({
|
|
14
14
|
NAVER_CLIENT_ID: z.string().describe("Naver API Client ID"),
|
|
15
15
|
NAVER_CLIENT_SECRET: z.string().describe("Naver API Client Secret"),
|
|
@@ -275,7 +275,7 @@ export function createNaverSearchServer({ config, }) {
|
|
|
275
275
|
currentConfig = config;
|
|
276
276
|
return server.server;
|
|
277
277
|
}
|
|
278
|
-
// Export
|
|
278
|
+
// Export the server factory for programmatic consumers
|
|
279
279
|
export default createNaverSearchServer;
|
|
280
280
|
function registerShutdownHandlers({ server, transport, }) {
|
|
281
281
|
let shuttingDown = false;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isnow890/naver-search-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.48",
|
|
4
4
|
"description": "Naver Search MCP Server",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"module": "./src/index.ts",
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@modelcontextprotocol/sdk": "1.17.1",
|
|
23
|
-
"@smithery/sdk": "^1.6.6",
|
|
24
23
|
"axios": "^1.6.7",
|
|
25
24
|
"zod": "^3.23.0",
|
|
26
25
|
"zod-to-json-schema": "^3.23.0",
|
package/dist/data/README.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 카테고리 데이터 폴더
|
|
2
|
-
|
|
3
|
-
이 폴더에 `categories.xlsx` 파일을 배치하세요.
|
|
4
|
-
|
|
5
|
-
## 파일 구조
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
data/
|
|
9
|
-
└── categories.xlsx
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Excel 파일 형식
|
|
13
|
-
|
|
14
|
-
| 카테고리번호 | 대분류 | 중분류 | 소분류 | 세분류 |
|
|
15
|
-
|-------------|--------|--------|--------|--------|
|
|
16
|
-
| 50003307 | 가구/인테리어 | DIY자재/용품 | 가구부속품 | 가구다리 |
|
|
17
|
-
|
|
18
|
-
- 첫 번째 행(헤더)은 자동으로 건너뜁니다
|
|
19
|
-
- 카테고리번호는 필수입니다
|
|
20
|
-
- 대분류는 필수, 나머지 분류는 선택사항입니다
|
|
21
|
-
|
|
22
|
-
## 사용법
|
|
23
|
-
|
|
24
|
-
1. `categories.xlsx` 파일을 이 폴더에 배치
|
|
25
|
-
2. MCP 서버 시작시 자동으로 로드됨
|
|
26
|
-
3. 파일 수정시 자동으로 캐시 갱신됨
|