Skip to content
Merged

Sr 7 #76

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/multicorn-ops-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
persona-review:
runs-on: ubuntu-latest
timeout-minutes: 15
continue-on-error: true
steps:
- uses: actions/checkout@v4

Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- Desktop Extension loads hosted proxy configs from the Shield API and forwards `tools/list` and `tools/call` over HTTP to those URLs. Child MCP processes are no longer spawned, which avoids sandbox limits in Claude Desktop.
- Extension permissions and audit logging for wrapped tools run on the hosted proxy; the extension focuses on discovery, routing, and consent UX.

### Added

- Optional extension setting `base_url` (env `MULTICORN_BASE_URL`) for enterprise or self-hosted Shield API endpoints. When empty, the extension uses `https://api.multicorn.ai`.

## [0.2.2] - Unreleased

### Added
Expand Down
1 change: 1 addition & 0 deletions bin/multicorn-proxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ async function main(): Promise<void> {
baseUrl: finalBaseUrl,
dashboardUrl: finalDashboardUrl,
logger,
platform: "other-mcp",
});

async function shutdown(): Promise<void> {
Expand Down
8 changes: 7 additions & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"args": ["${__dirname}/server/index.js"],
"env": {
"MULTICORN_API_KEY": "${user_config.api_key}",
"MULTICORN_BASE_URL": "https://api.multicorn.ai",
"MULTICORN_BASE_URL": "${user_config.base_url}",
"MULTICORN_SHIELD_EXTENSION": "1"
}
}
Expand All @@ -39,6 +39,12 @@
"description": "Your Multicorn Shield API key. Create one at https://app.multicorn.ai/settings/api-keys",
"sensitive": true,
"required": true
},
"base_url": {
"type": "string",
"title": "API base URL (optional)",
"description": "Defaults to https://api.multicorn.ai when empty. Use this to point at a self-hosted Shield API.",
"required": false
}
},
"compatibility": {
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,9 @@
"flatted": ">=3.4.2",
"minimatch": ">=10.2.3",
"rollup": ">=4.59.0",
"picomatch": ">=4.0.4"
"picomatch": ">=4.0.4",
"path-to-regexp": ">=8.4.0",
"node-forge": ">=1.4.0"
}
}
}
1 change: 1 addition & 0 deletions plugins/multicorn-shield/hooks/scripts/post-tool-use.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ async function main() {
actionType,
status: "approved",
metadata,
platform: "claude-code",
};

try {
Expand Down
2 changes: 2 additions & 0 deletions plugins/multicorn-shield/hooks/scripts/pre-tool-use.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ function consentUrl(apiBaseUrl, agentName, service, actionType) {
const params = new URLSearchParams();
params.set("agent", agentName);
params.set("scopes", `${service}:${actionType}`);
params.set("platform", "claude-code");
return `${origin}/consent?${params.toString()}`;
}

Expand Down Expand Up @@ -499,6 +500,7 @@ async function main() {
actionType,
status: "pending",
metadata,
platform: "claude-code",
};

if (process.env.MULTICORN_SHIELD_PRE_HOOK_TEST_THROW === "1") {
Expand Down
18 changes: 10 additions & 8 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 0 additions & 37 deletions src/extension/__tests__/child-manager.test.ts

This file was deleted.

Loading
Loading