@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 +10 -3
- package/dist/mcp-proxy.js +3 -1
- package/package.json +3 -3
- package/src/mcp-proxy.ts +4 -1
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 (
|
|
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
|
|
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"
|
|
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.
|
|
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.
|
|
22
|
-
"@blekline/contracts": "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:
|
|
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(() => {});
|