apick-mcp 3.0.0 → 3.2.0

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.
Files changed (5) hide show
  1. package/CHANGELOG.md +68 -62
  2. package/README.md +404 -383
  3. package/TOOLS.md +2015 -1840
  4. package/package.json +89 -89
  5. package/src/index.js +92 -92
package/package.json CHANGED
@@ -1,89 +1,89 @@
1
- {
2
- "name": "apick-mcp",
3
- "version": "3.0.0",
4
- "description": "APICK MCP — 88 Korean data, AI, and image tools for AI agents. 사업자조회·신분증·OCR·배송조회·이미지 생성·편집·파일변환·검색·LLM.",
5
- "type": "module",
6
- "license": "MIT",
7
- "author": "APICK",
8
- "homepage": "https://apick.app/dev_guide/mcp",
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/lead788/apick-mcp.git"
12
- },
13
- "bugs": {
14
- "url": "https://github.com/lead788/apick-mcp/issues"
15
- },
16
- "mcpName": "app.apick/all",
17
- "bin": {
18
- "apick-mcp": "src/index.js"
19
- },
20
- "exports": {
21
- ".": "./src/bridge.js"
22
- },
23
- "files": [
24
- "src",
25
- "README.md",
26
- "TOOLS.md",
27
- "CHANGELOG.md",
28
- "LICENSE"
29
- ],
30
- "engines": {
31
- "node": ">=18"
32
- },
33
- "scripts": {
34
- "test": "node --test"
35
- },
36
- "keywords": [
37
- "mcp",
38
- "modelcontextprotocol",
39
- "model-context-protocol",
40
- "mcp-server",
41
- "mcp-tools",
42
- "claude",
43
- "claude-code",
44
- "claude-desktop",
45
- "cursor",
46
- "cline",
47
- "windsurf",
48
- "ai-agent",
49
- "llm",
50
- "apick",
51
- "korea",
52
- "korean",
53
- "korea-api",
54
- "business-registry",
55
- "business-registration-number",
56
- "identity-verification",
57
- "kyc",
58
- "kyb",
59
- "id-card-verification",
60
- "pii-masking",
61
- "ocr",
62
- "korean-ocr",
63
- "parcel-tracking",
64
- "delivery-tracking",
65
- "shipment-tracking",
66
- "bank-account-verification",
67
- "account-holder-lookup",
68
- "real-estate-price",
69
- "address-search",
70
- "holiday-api",
71
- "whois",
72
- "dns-lookup",
73
- "ip-geolocation",
74
- "web-scraping",
75
- "screenshot-api",
76
- "google-search",
77
- "pdf-conversion",
78
- "docx",
79
- "excel",
80
- "watermark",
81
- "speech-to-text",
82
- "face-detection",
83
- "face-blur",
84
- "nsfw-detection",
85
- "image-similarity",
86
- "image-generation",
87
- "image-editing"
88
- ]
89
- }
1
+ {
2
+ "name": "apick-mcp",
3
+ "version": "3.2.0",
4
+ "description": "APICK MCP — 97 Korean data, AI, image & video tools for AI agents. 사업자조회·신분증·OCR·배송조회·이미지 생성·편집·영상 생성·파일변환·검색·LLM.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "APICK",
8
+ "homepage": "https://apick.app/dev_guide/mcp",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/lead788/apick-mcp.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/lead788/apick-mcp/issues"
15
+ },
16
+ "mcpName": "app.apick/all",
17
+ "bin": {
18
+ "apick-mcp": "src/index.js"
19
+ },
20
+ "exports": {
21
+ ".": "./src/bridge.js"
22
+ },
23
+ "files": [
24
+ "src",
25
+ "README.md",
26
+ "TOOLS.md",
27
+ "CHANGELOG.md",
28
+ "LICENSE"
29
+ ],
30
+ "engines": {
31
+ "node": ">=18"
32
+ },
33
+ "scripts": {
34
+ "test": "node --test"
35
+ },
36
+ "keywords": [
37
+ "mcp",
38
+ "modelcontextprotocol",
39
+ "model-context-protocol",
40
+ "mcp-server",
41
+ "mcp-tools",
42
+ "claude",
43
+ "claude-code",
44
+ "claude-desktop",
45
+ "cursor",
46
+ "cline",
47
+ "windsurf",
48
+ "ai-agent",
49
+ "llm",
50
+ "apick",
51
+ "korea",
52
+ "korean",
53
+ "korea-api",
54
+ "business-registry",
55
+ "business-registration-number",
56
+ "identity-verification",
57
+ "kyc",
58
+ "kyb",
59
+ "id-card-verification",
60
+ "pii-masking",
61
+ "ocr",
62
+ "korean-ocr",
63
+ "parcel-tracking",
64
+ "delivery-tracking",
65
+ "shipment-tracking",
66
+ "bank-account-verification",
67
+ "account-holder-lookup",
68
+ "real-estate-price",
69
+ "address-search",
70
+ "holiday-api",
71
+ "whois",
72
+ "dns-lookup",
73
+ "ip-geolocation",
74
+ "web-scraping",
75
+ "screenshot-api",
76
+ "google-search",
77
+ "pdf-conversion",
78
+ "docx",
79
+ "excel",
80
+ "watermark",
81
+ "speech-to-text",
82
+ "face-detection",
83
+ "face-blur",
84
+ "nsfw-detection",
85
+ "image-similarity",
86
+ "image-generation",
87
+ "image-editing"
88
+ ]
89
+ }
package/src/index.js CHANGED
@@ -1,92 +1,92 @@
1
- #!/usr/bin/env node
2
- // apick-mcp - run the APICK MCP server over stdio.
3
- //
4
- // Usage:
5
- // apick-mcp [--server <name>]
6
- //
7
- // Environment:
8
- // APICK_API_KEY APICK license key. Optional: tools/list works without one,
9
- // tools/call needs it.
10
- // APICK_MCP_SERVER Which server to expose (default: all).
11
- // APICK_MCP_URL Base URL override (default: https://apick.app/mcp).
12
-
13
- import { readFileSync } from 'node:fs';
14
- import { fileURLToPath } from 'node:url';
15
- import { createBridge, DEFAULT_ENDPOINT, SERVERS } from './bridge.js';
16
-
17
- const HELP = `apick-mcp - APICK MCP server over stdio
18
-
19
- apick-mcp [--server <name>]
20
-
21
- Options
22
- --server, -s <name> ${SERVERS.join(', ')} (default: all)
23
- --version, -v print version
24
- --help, -h print this message
25
-
26
- Environment
27
- APICK_API_KEY APICK license key (get one at https://apick.app)
28
- APICK_MCP_SERVER same as --server
29
- APICK_MCP_URL base URL override (default: ${DEFAULT_ENDPOINT})
30
-
31
- Clients that support remote MCP can skip this bridge and connect straight to
32
- ${DEFAULT_ENDPOINT}/all with an Authorization: Bearer header.
33
- Docs: https://apick.app/dev_guide/mcp
34
- `;
35
-
36
- function parseArgs(argv) {
37
- const args = { server: process.env.APICK_MCP_SERVER || 'all' };
38
- for (let i = 0; i < argv.length; i++) {
39
- const arg = argv[i];
40
- if (arg === '--help' || arg === '-h') args.help = true;
41
- else if (arg === '--version' || arg === '-v') args.version = true;
42
- else if (arg === '--server' || arg === '-s') args.server = argv[++i];
43
- else if (arg.startsWith('--server=')) args.server = arg.slice('--server='.length);
44
- else args.unknown = arg;
45
- }
46
- return args;
47
- }
48
-
49
- async function main() {
50
- const args = parseArgs(process.argv.slice(2));
51
-
52
- if (args.help) {
53
- process.stdout.write(HELP);
54
- return;
55
- }
56
- if (args.version) {
57
- const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url));
58
- process.stdout.write(JSON.parse(readFileSync(pkgPath, 'utf8')).version + '\n');
59
- return;
60
- }
61
- if (args.unknown) {
62
- process.stderr.write('apick-mcp: unknown argument ' + args.unknown + '\n\n' + HELP);
63
- process.exitCode = 2;
64
- return;
65
- }
66
- if (!SERVERS.includes(args.server)) {
67
- process.stderr.write(
68
- 'apick-mcp: unknown server "' + args.server + '". Available: ' + SERVERS.join(', ') + '\n'
69
- );
70
- process.exitCode = 2;
71
- return;
72
- }
73
-
74
- const bridge = createBridge({
75
- server: args.server,
76
- apiKey: process.env.APICK_API_KEY,
77
- endpoint: process.env.APICK_MCP_URL
78
- });
79
-
80
- if (!process.env.APICK_API_KEY) {
81
- process.stderr.write(
82
- 'apick-mcp: no APICK_API_KEY set - tool discovery works, tool calls will ask you to sign in at https://apick.app\n'
83
- );
84
- }
85
-
86
- await bridge.attach(process.stdin);
87
- }
88
-
89
- main().catch((err) => {
90
- process.stderr.write('apick-mcp: ' + err.message + '\n');
91
- process.exitCode = 1;
92
- });
1
+ #!/usr/bin/env node
2
+ // apick-mcp - run the APICK MCP server over stdio.
3
+ //
4
+ // Usage:
5
+ // apick-mcp [--server <name>]
6
+ //
7
+ // Environment:
8
+ // APICK_API_KEY APICK license key. Optional: tools/list works without one,
9
+ // tools/call needs it.
10
+ // APICK_MCP_SERVER Which server to expose (default: all).
11
+ // APICK_MCP_URL Base URL override (default: https://apick.app/mcp).
12
+
13
+ import { readFileSync } from 'node:fs';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { createBridge, DEFAULT_ENDPOINT, SERVERS } from './bridge.js';
16
+
17
+ const HELP = `apick-mcp - APICK MCP server over stdio
18
+
19
+ apick-mcp [--server <name>]
20
+
21
+ Options
22
+ --server, -s <name> ${SERVERS.join(', ')} (default: all)
23
+ --version, -v print version
24
+ --help, -h print this message
25
+
26
+ Environment
27
+ APICK_API_KEY APICK license key (get one at https://apick.app)
28
+ APICK_MCP_SERVER same as --server
29
+ APICK_MCP_URL base URL override (default: ${DEFAULT_ENDPOINT})
30
+
31
+ Clients that support remote MCP can skip this bridge and connect straight to
32
+ ${DEFAULT_ENDPOINT}/all with an Authorization: Bearer header.
33
+ Docs: https://apick.app/dev_guide/mcp
34
+ `;
35
+
36
+ function parseArgs(argv) {
37
+ const args = { server: process.env.APICK_MCP_SERVER || 'all' };
38
+ for (let i = 0; i < argv.length; i++) {
39
+ const arg = argv[i];
40
+ if (arg === '--help' || arg === '-h') args.help = true;
41
+ else if (arg === '--version' || arg === '-v') args.version = true;
42
+ else if (arg === '--server' || arg === '-s') args.server = argv[++i];
43
+ else if (arg.startsWith('--server=')) args.server = arg.slice('--server='.length);
44
+ else args.unknown = arg;
45
+ }
46
+ return args;
47
+ }
48
+
49
+ async function main() {
50
+ const args = parseArgs(process.argv.slice(2));
51
+
52
+ if (args.help) {
53
+ process.stdout.write(HELP);
54
+ return;
55
+ }
56
+ if (args.version) {
57
+ const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url));
58
+ process.stdout.write(JSON.parse(readFileSync(pkgPath, 'utf8')).version + '\n');
59
+ return;
60
+ }
61
+ if (args.unknown) {
62
+ process.stderr.write('apick-mcp: unknown argument ' + args.unknown + '\n\n' + HELP);
63
+ process.exitCode = 2;
64
+ return;
65
+ }
66
+ if (!SERVERS.includes(args.server)) {
67
+ process.stderr.write(
68
+ 'apick-mcp: unknown server "' + args.server + '". Available: ' + SERVERS.join(', ') + '\n'
69
+ );
70
+ process.exitCode = 2;
71
+ return;
72
+ }
73
+
74
+ const bridge = createBridge({
75
+ server: args.server,
76
+ apiKey: process.env.APICK_API_KEY,
77
+ endpoint: process.env.APICK_MCP_URL
78
+ });
79
+
80
+ if (!process.env.APICK_API_KEY) {
81
+ process.stderr.write(
82
+ 'apick-mcp: no APICK_API_KEY set - tool discovery works, tool calls will ask you to sign in at https://apick.app\n'
83
+ );
84
+ }
85
+
86
+ await bridge.attach(process.stdin);
87
+ }
88
+
89
+ main().catch((err) => {
90
+ process.stderr.write('apick-mcp: ' + err.message + '\n');
91
+ process.exitCode = 1;
92
+ });