Skip to content

Commit 170c4d4

Browse files
authored
Merge pull request #3600 from continuedev/nate/fixes123
add env option to MCP
2 parents 67f3488 + efd3b7b commit 170c4d4

File tree

6 files changed

+27
-10
lines changed

6 files changed

+27
-10
lines changed

core/context/mcp/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class MCPConnection {
7272
return new StdioClientTransport({
7373
command: options.transport.command,
7474
args: options.transport.args,
75+
env: options.transport.env,
7576
});
7677
case "websocket":
7778
return new WebSocketClientTransport(new URL(options.transport.url));

core/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,7 @@ export interface StdioOptions {
940940
type: "stdio";
941941
command: string;
942942
args: string[];
943+
env?: Record<string, string>;
943944
}
944945

945946
export interface WebSocketOptions {

core/indexing/docs/DocsService.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import TransformersJsEmbeddingsProvider from "../../llm/llms/TransformersJsEmbed
1818
import { FromCoreProtocol, ToCoreProtocol } from "../../protocol";
1919
import { IMessenger } from "../../protocol/messenger";
2020
import { fetchFavicon, getFaviconBase64 } from "../../util/fetchFavicon";
21-
import { IMessenger } from "../../protocol/messenger";
22-
import { GlobalContext } from "../../util/GlobalContext";
2321
import {
2422
editConfigJson,
2523
getDocsSqlitePath,

extensions/vscode/config_schema.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3151,6 +3151,13 @@
31513151
"items": {
31523152
"type": "string"
31533153
}
3154+
},
3155+
"env": {
3156+
"type": "object",
3157+
"additionalProperties": {
3158+
"type": "string"
3159+
},
3160+
"description": "Environment variables to pass to the command"
31543161
}
31553162
},
31563163
"required": ["type", "command", "args"]

gui/src/components/dialogs/AddDocsDialog.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ import {
55
PlusIcon,
66
} from "@heroicons/react/24/outline";
77
import { IndexingStatus, PackageDocsResult, SiteIndexingConfig } from "core";
8+
import preIndexedDocs from "core/indexing/docs/preIndexedDocs";
89
import { usePostHog } from "posthog-js/react";
910
import { useContext, useLayoutEffect, useMemo, useRef, useState } from "react";
1011
import { useDispatch } from "react-redux";
1112
import { Input, SecondaryButton } from "..";
1213
import { IdeMessengerContext } from "../../context/IdeMessenger";
14+
import { useAppSelector } from "../../redux/hooks";
15+
import { updateConfig } from "../../redux/slices/configSlice";
16+
import { updateIndexingStatus } from "../../redux/slices/indexingSlice";
1317
import { setDialogMessage, setShowDialog } from "../../redux/slices/uiSlice";
14-
import { ToolTip } from "../gui/Tooltip";
1518
import FileIcon from "../FileIcon";
19+
import { ToolTip } from "../gui/Tooltip";
1620
import DocsIndexingPeeks from "../indexing/DocsIndexingPeeks";
17-
import preIndexedDocs from "core/indexing/docs/preIndexedDocs";
18-
import { updateIndexingStatus } from "../../redux/slices/indexingSlice";
19-
import { useAppSelector } from "../../redux/hooks";
20-
import { setConfig } from "../../redux/slices/configSlice";
2121

2222
function AddDocsDialog() {
2323
const config = useAppSelector((store) => store.config.config);
@@ -146,7 +146,7 @@ function AddDocsDialog() {
146146

147147
// Optimistic status update
148148
dispatch(
149-
setConfig({
149+
updateConfig({
150150
...config,
151151
docs: [
152152
...(config.docs?.filter(

gui/src/redux/slices/configSlice.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ export const configSlice = createSlice({
5555
state.config = config;
5656
state.defaultModelTitle = defaultModelTitle;
5757
},
58+
updateConfig: (
59+
state,
60+
{ payload: config }: PayloadAction<BrowserSerializedContinueConfig>,
61+
) => {
62+
state.config = config;
63+
},
5864
setConfigError: (
5965
state,
6066
{ payload: error }: PayloadAction<ConfigValidationError[] | undefined>,
@@ -93,8 +99,12 @@ export const configSlice = createSlice({
9399
},
94100
});
95101

96-
export const { setDefaultModel, setConfigResult, setConfigError } =
97-
configSlice.actions;
102+
export const {
103+
setDefaultModel,
104+
updateConfig,
105+
setConfigResult,
106+
setConfigError,
107+
} = configSlice.actions;
98108

99109
export const {
100110
selectDefaultModel,

0 commit comments

Comments
 (0)