@scrapi.ai/mcp-server 2.0.6 → 2.0.7
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/README.md +1 -1
- package/dist/http.js +42 -2
- package/dist/http.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -722,7 +722,7 @@ Update Claude Desktop to the latest version: Claude menu → "Check for Updates.
|
|
|
722
722
|
|
|
723
723
|
## Support
|
|
724
724
|
|
|
725
|
-
- Email:
|
|
725
|
+
- Email: support@scrapi.ai
|
|
726
726
|
- Issues: [GitHub Issues](https://github.com/bamchi/scrapi-mcp-server/issues)
|
|
727
727
|
|
|
728
728
|
---
|
package/dist/http.js
CHANGED
|
@@ -33,6 +33,32 @@ const loggingMiddleware = (req, _res, next) => {
|
|
|
33
33
|
next();
|
|
34
34
|
};
|
|
35
35
|
MCP_PATHS.forEach((p) => app.use(p, loggingMiddleware));
|
|
36
|
+
// ── MCP Server Card (well-known discovery) ────
|
|
37
|
+
app.get("/.well-known/mcp/server-card.json", (_req, res) => {
|
|
38
|
+
res.json({
|
|
39
|
+
$schema: "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
|
|
40
|
+
version: "1.0",
|
|
41
|
+
serverInfo: {
|
|
42
|
+
name: "scrapi",
|
|
43
|
+
title: "Scrapi - Web Scraping for AI Agents",
|
|
44
|
+
version: "2.0.6",
|
|
45
|
+
},
|
|
46
|
+
description: "Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass. Powered by 8+ years of scraping expertise.",
|
|
47
|
+
transport: {
|
|
48
|
+
type: "streamable-http",
|
|
49
|
+
url: "https://scrapi.ai/mcp",
|
|
50
|
+
},
|
|
51
|
+
capabilities: {
|
|
52
|
+
tools: {},
|
|
53
|
+
},
|
|
54
|
+
authentication: {
|
|
55
|
+
type: "bearer",
|
|
56
|
+
description: "Scrapi API key (get one free at https://scrapi.ai/dashboard)",
|
|
57
|
+
},
|
|
58
|
+
documentationUrl: "https://github.com/bamchi/scrapi-mcp-server",
|
|
59
|
+
iconUrl: "https://scrapi.ai/icon.png",
|
|
60
|
+
});
|
|
61
|
+
});
|
|
36
62
|
// ── Health check ───────────────────────────────
|
|
37
63
|
app.get("/health", (_req, res) => {
|
|
38
64
|
const uptimeMs = Date.now() - stats.startedAt.getTime();
|
|
@@ -47,13 +73,22 @@ app.get("/health", (_req, res) => {
|
|
|
47
73
|
});
|
|
48
74
|
});
|
|
49
75
|
// ── MCP Streamable HTTP handler ───────────────
|
|
76
|
+
// Read-only MCP methods that don't require authentication (allows Smithery scanning)
|
|
77
|
+
const MCP_PUBLIC_METHODS = new Set([
|
|
78
|
+
"initialize",
|
|
79
|
+
"notifications/initialized",
|
|
80
|
+
"tools/list",
|
|
81
|
+
]);
|
|
50
82
|
const handleMcpPost = async (req, res) => {
|
|
51
83
|
// API 키 추출 (Authorization: Bearer hsmcp_xxx)
|
|
52
84
|
const authHeader = req.headers.authorization;
|
|
53
85
|
const apiKey = authHeader?.startsWith("Bearer ")
|
|
54
86
|
? authHeader.slice(7).trim()
|
|
55
87
|
: undefined;
|
|
56
|
-
|
|
88
|
+
const body = req.body;
|
|
89
|
+
const method = body?.method;
|
|
90
|
+
const isPublic = method != null && MCP_PUBLIC_METHODS.has(method);
|
|
91
|
+
if (!apiKey && !isPublic) {
|
|
57
92
|
res.status(401).json({
|
|
58
93
|
jsonrpc: "2.0",
|
|
59
94
|
error: {
|
|
@@ -70,7 +105,12 @@ const handleMcpPost = async (req, res) => {
|
|
|
70
105
|
});
|
|
71
106
|
try {
|
|
72
107
|
await server.connect(transport);
|
|
73
|
-
|
|
108
|
+
if (apiKey) {
|
|
109
|
+
await runWithApiKey(apiKey, () => transport.handleRequest(req, res, req.body));
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
await transport.handleRequest(req, res, req.body);
|
|
113
|
+
}
|
|
74
114
|
res.on("close", () => {
|
|
75
115
|
transport.close();
|
|
76
116
|
server.close();
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrapi.ai/mcp-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "Scrapi MCP Server - Web scraping for AI agents. Bypass anti-bot systems and get clean, LLM-ready content via MCP protocol.",
|
|
5
5
|
"mcpName": "io.github.bamchi/scrapi",
|
|
6
6
|
"type": "module",
|