@zenrows/mcp 1.0.6 → 1.1.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.
package/dist/http.js CHANGED
@@ -13,12 +13,24 @@ function extractApiKey(req) {
13
13
  }
14
14
  return new URL(req.url).searchParams.get("apikey") ?? undefined;
15
15
  }
16
+ const AUTH_SERVER = process.env.OAUTH_AUTH_SERVER ?? "https://app.zenrows.com";
17
+ app.get("/.well-known/oauth-authorization-server", (c) => c.json({
18
+ issuer: AUTH_SERVER,
19
+ authorization_endpoint: `${AUTH_SERVER}/oauth/mcp/authorize`,
20
+ token_endpoint: `${AUTH_SERVER}/oauth/mcp/token`,
21
+ response_types_supported: ["code"],
22
+ grant_types_supported: ["authorization_code"],
23
+ code_challenge_methods_supported: ["S256"],
24
+ token_endpoint_auth_methods_supported: ["none"],
25
+ }));
16
26
  app.all("/mcp", async (c) => {
17
27
  const apiKey = extractApiKey(c.req.raw);
18
28
  if (!apiKey) {
19
29
  return c.json({
20
30
  error: "Missing API key. Use Authorization: Bearer <key> header or ?apikey=<key> query param.",
21
- }, 401);
31
+ }, 401, {
32
+ "WWW-Authenticate": `Bearer realm="${AUTH_SERVER}", resource_metadata="https://mcp.zenrows.com/.well-known/oauth-authorization-server"`,
33
+ });
22
34
  }
23
35
  const transport = new WebStandardStreamableHTTPServerTransport({
24
36
  sessionIdGenerator: undefined, // stateless — no session tracking between requests
package/dist/server.js CHANGED
@@ -11,6 +11,11 @@ export function createServer(apiKey) {
11
11
  });
12
12
  // ─── scrape ────────────────────────────────────────────────────────────────
13
13
  server.registerTool("scrape", {
14
+ annotations: {
15
+ title: "Scrape Webpage",
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ },
14
19
  description: `Scrape any webpage and return its content using ZenRows.
15
20
 
16
21
  Use this tool to fetch webpage content for analysis. By default it returns clean
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenrows/mcp",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "description": "ZenRows MCP server — Universal Scraper API for AI coding assistants",
5
5
  "type": "module",
6
6
  "bin": {