@blekline/mcp-proxy 0.1.0 → 0.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @blekline/mcp-proxy
2
2
 
3
- MCP proxy router that intercepts downstream tool calls, runs Blekline enforcement (mask/block), then forwards approved calls to a downstream MCP server (e.g. Daytona sandbox).
3
+ MCP proxy router that intercepts downstream tool calls, runs Blekline enforcement (mask/block), then forwards approved calls to a downstream MCP server (Daytona, Modal, E2B, Cloudflare, Vercel Sandbox, or mock).
4
4
 
5
5
  ## Flow
6
6
 
@@ -12,7 +12,8 @@ Model → @blekline/mcp-proxy → POST /api/mcp/enforce-tool-call → downstream
12
12
 
13
13
  ```bash
14
14
  BLEKLINE_WORKSPACE_TOKEN=ws_...
15
- BLEKLINE_DOWNSTREAM_MCP_COMMAND=... # optional mock or real Daytona MCP
15
+ BLEKLINE_DOWNSTREAM_MCP_COMMAND=... # optional mock or real downstream MCP
16
+ BLEKLINE_DOWNSTREAM_SERVER=daytona # telemetry: daytona|modal|vercel|cloudflare|e2b|unknown
16
17
  BLEKLINE_CLIENT_SURFACE=cursor
17
18
  ```
18
19
 
@@ -23,4 +24,10 @@ pnpm --filter @blekline/mcp-proxy build
23
24
  pnpm --filter @blekline/mcp-proxy test
24
25
  ```
25
26
 
26
- Smoke test: `pnpm demo:mcp-smoke` from repo root.
27
+ Smoke test: `pnpm demo:mcp-smoke` from repo root. Sandbox providers: `SANDBOX_PROVIDER=daytona pnpm demo:sandbox-smoke`.
28
+
29
+ ## Docs
30
+
31
+ - [MCP proxy](https://app.blekline.com/docs/mcp/proxy)
32
+ - [Sandbox providers](https://app.blekline.com/docs/integrations/sandbox-providers)
33
+ - [Quick start](https://app.blekline.com/docs/introduction/quick-start)
package/dist/mcp-proxy.js CHANGED
@@ -46,7 +46,9 @@ export async function interceptToolCall(ctx, toolName, toolArgs) {
46
46
  riskTier: result.riskTier,
47
47
  action: result.action,
48
48
  mcpToolName: toolName,
49
- downstreamServer: process.env.BLEKLINE_MCP_PROXY_MOCK === "1" ? "mock" : "daytona",
49
+ downstreamServer: process.env.BLEKLINE_MCP_PROXY_MOCK === "1"
50
+ ? "mock"
51
+ : (process.env.BLEKLINE_DOWNSTREAM_SERVER?.trim() || "unknown"),
50
52
  clientSurface: ctx.clientSurface,
51
53
  })
52
54
  .catch(() => { });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blekline/mcp-proxy",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "private": false,
6
6
  "repository": {
@@ -18,8 +18,8 @@
18
18
  "main": "./dist/index.js",
19
19
  "dependencies": {
20
20
  "@modelcontextprotocol/sdk": "^1.12.1",
21
- "@blekline/client": "0.1.0",
22
- "@blekline/contracts": "0.1.0"
21
+ "@blekline/client": "0.2.0",
22
+ "@blekline/contracts": "0.2.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^20",
package/src/mcp-proxy.ts CHANGED
@@ -63,7 +63,10 @@ export async function interceptToolCall(
63
63
  riskTier: result.riskTier,
64
64
  action: result.action,
65
65
  mcpToolName: toolName,
66
- downstreamServer: process.env.BLEKLINE_MCP_PROXY_MOCK === "1" ? "mock" : "daytona",
66
+ downstreamServer:
67
+ process.env.BLEKLINE_MCP_PROXY_MOCK === "1"
68
+ ? "mock"
69
+ : (process.env.BLEKLINE_DOWNSTREAM_SERVER?.trim() || "unknown"),
67
70
  clientSurface: ctx.clientSurface,
68
71
  })
69
72
  .catch(() => {});