Skip to content

Commit e4d856b

Browse files
authored
feat(mcp-store): marketplace with installed-server rail and per-tool approval (#1747)
1 parent 53cafd0 commit e4d856b

24 files changed

Lines changed: 5172 additions & 2896 deletions

apps/code/src/main/services/agent/auth-adapter.test.ts

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -105,40 +105,6 @@ describe("AgentAuthAdapter", () => {
105105
);
106106
});
107107

108-
it("includes enabled user-installed MCP servers from backend", async () => {
109-
mockFetch.mockResolvedValue({
110-
ok: true,
111-
json: () =>
112-
Promise.resolve({
113-
results: [
114-
{
115-
id: "inst-1",
116-
url: "https://custom-mcp.example.com",
117-
proxy_url: "https://proxy.posthog.com/inst-1/",
118-
name: "custom-server",
119-
display_name: "Custom Server",
120-
auth_type: "none",
121-
is_enabled: true,
122-
pending_oauth: false,
123-
needs_reauth: false,
124-
},
125-
],
126-
}),
127-
});
128-
129-
const servers = await adapter.buildMcpServers(baseCredentials);
130-
131-
expect(servers).toEqual(
132-
expect.arrayContaining([
133-
expect.objectContaining({
134-
name: "custom-server",
135-
url: "https://custom-mcp.example.com",
136-
headers: [],
137-
}),
138-
]),
139-
);
140-
});
141-
142108
it("routes authenticated installed MCP servers through the proxy URL", async () => {
143109
mockFetch.mockResolvedValue({
144110
ok: true,

apps/code/src/main/services/agent/auth-adapter.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,6 @@ export class AgentAuthAdapter {
8383
const name =
8484
installation.name || installation.display_name || installation.url;
8585

86-
if (installation.auth_type === "none") {
87-
servers.push({
88-
name,
89-
type: "http",
90-
url: installation.url,
91-
headers: [],
92-
});
93-
continue;
94-
}
95-
9686
const proxiedUrl = this.mcpProxy.register(
9787
`installation-${installation.id}`,
9888
installation.proxy_url,
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { Schemas } from "./generated";
2+
3+
// typed-openapi omits the `Schemas.` prefix when referencing
4+
// underscore-prefixed schema types from query-parameter positions inside
5+
// the Endpoints namespace. Re-declare them as members of Endpoints so the
6+
// unqualified references in `generated.ts` resolve via declaration merging.
7+
declare module "./generated" {
8+
namespace Endpoints {
9+
type _DateRange = Schemas._DateRange;
10+
type _LogPropertyFilter = Schemas._LogPropertyFilter;
11+
}
12+
}

0 commit comments

Comments
 (0)