context.dev-mcp 0.3.1 → 1.1.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/docs-search-tool.d.mts +2 -0
- package/docs-search-tool.d.mts.map +1 -1
- package/docs-search-tool.d.ts +2 -0
- package/docs-search-tool.d.ts.map +1 -1
- package/docs-search-tool.js +35 -4
- package/docs-search-tool.js.map +1 -1
- package/docs-search-tool.mjs +34 -4
- package/docs-search-tool.mjs.map +1 -1
- package/http.d.mts.map +1 -1
- package/http.d.ts.map +1 -1
- package/http.js +2 -1
- package/http.js.map +1 -1
- package/http.mjs +2 -1
- package/http.mjs.map +1 -1
- package/instructions.d.mts +4 -1
- package/instructions.d.mts.map +1 -1
- package/instructions.d.ts +4 -1
- package/instructions.d.ts.map +1 -1
- package/instructions.js +23 -4
- package/instructions.js.map +1 -1
- package/instructions.mjs +20 -4
- package/instructions.mjs.map +1 -1
- package/local-docs-search.d.mts +28 -0
- package/local-docs-search.d.mts.map +1 -0
- package/local-docs-search.d.ts +28 -0
- package/local-docs-search.d.ts.map +1 -0
- package/local-docs-search.js +544 -0
- package/local-docs-search.js.map +1 -0
- package/local-docs-search.mjs +504 -0
- package/local-docs-search.mjs.map +1 -0
- package/options.d.mts +3 -0
- package/options.d.mts.map +1 -1
- package/options.d.ts +3 -0
- package/options.d.ts.map +1 -1
- package/options.js +19 -0
- package/options.js.map +1 -1
- package/options.mjs +19 -0
- package/options.mjs.map +1 -1
- package/package.json +15 -4
- package/server.d.mts +4 -1
- package/server.d.mts.map +1 -1
- package/server.d.ts +4 -1
- package/server.d.ts.map +1 -1
- package/server.js +10 -3
- package/server.js.map +1 -1
- package/server.mjs +10 -3
- package/server.mjs.map +1 -1
- package/src/docs-search-tool.ts +56 -10
- package/src/http.ts +2 -1
- package/src/instructions.ts +27 -4
- package/src/local-docs-search.ts +614 -0
- package/src/options.ts +24 -0
- package/src/server.ts +17 -3
- package/src/stdio.ts +4 -1
- package/stdio.d.mts.map +1 -1
- package/stdio.d.ts.map +1 -1
- package/stdio.js +4 -1
- package/stdio.js.map +1 -1
- package/stdio.mjs +4 -1
- package/stdio.mjs.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-docs-search.mjs","sourceRoot":"","sources":["src/local-docs-search.ts"],"names":[],"mappings":"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"}
|
package/options.d.mts
CHANGED
|
@@ -9,10 +9,13 @@ export type McpOptions = {
|
|
|
9
9
|
includeCodeTool?: boolean | undefined;
|
|
10
10
|
includeDocsTools?: boolean | undefined;
|
|
11
11
|
stainlessApiKey?: string | undefined;
|
|
12
|
+
docsSearchMode?: 'stainless-api' | 'local' | undefined;
|
|
13
|
+
docsDir?: string | undefined;
|
|
12
14
|
codeAllowHttpGets?: boolean | undefined;
|
|
13
15
|
codeAllowedMethods?: string[] | undefined;
|
|
14
16
|
codeBlockedMethods?: string[] | undefined;
|
|
15
17
|
codeExecutionMode: McpCodeExecutionMode;
|
|
18
|
+
customInstructionsPath?: string | undefined;
|
|
16
19
|
};
|
|
17
20
|
export type McpCodeExecutionMode = 'stainless-sandbox' | 'local';
|
|
18
21
|
export declare function parseCLIOptions(): CLIOptions;
|
package/options.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.mts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.mts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEjE,wBAAgB,eAAe,IAAI,UAAU,CAmH5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAqBxF"}
|
package/options.d.ts
CHANGED
|
@@ -9,10 +9,13 @@ export type McpOptions = {
|
|
|
9
9
|
includeCodeTool?: boolean | undefined;
|
|
10
10
|
includeDocsTools?: boolean | undefined;
|
|
11
11
|
stainlessApiKey?: string | undefined;
|
|
12
|
+
docsSearchMode?: 'stainless-api' | 'local' | undefined;
|
|
13
|
+
docsDir?: string | undefined;
|
|
12
14
|
codeAllowHttpGets?: boolean | undefined;
|
|
13
15
|
codeAllowedMethods?: string[] | undefined;
|
|
14
16
|
codeBlockedMethods?: string[] | undefined;
|
|
15
17
|
codeExecutionMode: McpCodeExecutionMode;
|
|
18
|
+
customInstructionsPath?: string | undefined;
|
|
16
19
|
};
|
|
17
20
|
export type McpCodeExecutionMode = 'stainless-sandbox' | 'local';
|
|
18
21
|
export declare function parseCLIOptions(): CLIOptions;
|
package/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEjE,wBAAgB,eAAe,IAAI,UAAU,CAmH5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAqBxF"}
|
package/options.js
CHANGED
|
@@ -32,8 +32,22 @@ function parseCLIOptions() {
|
|
|
32
32
|
choices: ['stainless-sandbox', 'local'],
|
|
33
33
|
default: 'stainless-sandbox',
|
|
34
34
|
description: "Where to run code execution in code tool; 'stainless-sandbox' will execute code in Stainless-hosted sandboxes whereas 'local' will execute code locally on the MCP server machine.",
|
|
35
|
+
})
|
|
36
|
+
.option('custom-instructions-path', {
|
|
37
|
+
type: 'string',
|
|
38
|
+
description: 'Path to custom instructions for the MCP server',
|
|
35
39
|
})
|
|
36
40
|
.option('debug', { type: 'boolean', description: 'Enable debug logging' })
|
|
41
|
+
.option('docs-dir', {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'Path to a directory of local documentation files (markdown/JSON) to include in local docs search.',
|
|
44
|
+
})
|
|
45
|
+
.option('docs-search-mode', {
|
|
46
|
+
type: 'string',
|
|
47
|
+
choices: ['stainless-api', 'local'],
|
|
48
|
+
default: 'stainless-api',
|
|
49
|
+
description: "Where to search documentation; 'stainless-api' uses the Stainless-hosted search API whereas 'local' uses an in-memory search index built from embedded SDK method data and optional local docs files.",
|
|
50
|
+
})
|
|
37
51
|
.option('log-format', {
|
|
38
52
|
type: 'string',
|
|
39
53
|
choices: ['json', 'pretty'],
|
|
@@ -86,10 +100,13 @@ function parseCLIOptions() {
|
|
|
86
100
|
...(includeDocsTools !== undefined && { includeDocsTools }),
|
|
87
101
|
debug: !!argv.debug,
|
|
88
102
|
stainlessApiKey: argv.stainlessApiKey,
|
|
103
|
+
docsSearchMode: argv.docsSearchMode,
|
|
104
|
+
docsDir: argv.docsDir,
|
|
89
105
|
codeAllowHttpGets: argv.codeAllowHttpGets,
|
|
90
106
|
codeAllowedMethods: argv.codeAllowedMethods,
|
|
91
107
|
codeBlockedMethods: argv.codeBlockedMethods,
|
|
92
108
|
codeExecutionMode: argv.codeExecutionMode,
|
|
109
|
+
customInstructionsPath: argv.customInstructionsPath,
|
|
93
110
|
transport,
|
|
94
111
|
logFormat,
|
|
95
112
|
port: argv.port,
|
|
@@ -117,6 +134,8 @@ function parseQueryOptions(defaultOptions, query) {
|
|
|
117
134
|
...(codeTool !== undefined && { includeCodeTool: codeTool }),
|
|
118
135
|
...(docsTools !== undefined && { includeDocsTools: docsTools }),
|
|
119
136
|
codeExecutionMode: defaultOptions.codeExecutionMode,
|
|
137
|
+
docsSearchMode: defaultOptions.docsSearchMode,
|
|
138
|
+
docsDir: defaultOptions.docsDir,
|
|
120
139
|
};
|
|
121
140
|
}
|
|
122
141
|
//# sourceMappingURL=options.js.map
|
package/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
|
package/options.mjs
CHANGED
|
@@ -25,8 +25,22 @@ export function parseCLIOptions() {
|
|
|
25
25
|
choices: ['stainless-sandbox', 'local'],
|
|
26
26
|
default: 'stainless-sandbox',
|
|
27
27
|
description: "Where to run code execution in code tool; 'stainless-sandbox' will execute code in Stainless-hosted sandboxes whereas 'local' will execute code locally on the MCP server machine.",
|
|
28
|
+
})
|
|
29
|
+
.option('custom-instructions-path', {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'Path to custom instructions for the MCP server',
|
|
28
32
|
})
|
|
29
33
|
.option('debug', { type: 'boolean', description: 'Enable debug logging' })
|
|
34
|
+
.option('docs-dir', {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'Path to a directory of local documentation files (markdown/JSON) to include in local docs search.',
|
|
37
|
+
})
|
|
38
|
+
.option('docs-search-mode', {
|
|
39
|
+
type: 'string',
|
|
40
|
+
choices: ['stainless-api', 'local'],
|
|
41
|
+
default: 'stainless-api',
|
|
42
|
+
description: "Where to search documentation; 'stainless-api' uses the Stainless-hosted search API whereas 'local' uses an in-memory search index built from embedded SDK method data and optional local docs files.",
|
|
43
|
+
})
|
|
30
44
|
.option('log-format', {
|
|
31
45
|
type: 'string',
|
|
32
46
|
choices: ['json', 'pretty'],
|
|
@@ -79,10 +93,13 @@ export function parseCLIOptions() {
|
|
|
79
93
|
...(includeDocsTools !== undefined && { includeDocsTools }),
|
|
80
94
|
debug: !!argv.debug,
|
|
81
95
|
stainlessApiKey: argv.stainlessApiKey,
|
|
96
|
+
docsSearchMode: argv.docsSearchMode,
|
|
97
|
+
docsDir: argv.docsDir,
|
|
82
98
|
codeAllowHttpGets: argv.codeAllowHttpGets,
|
|
83
99
|
codeAllowedMethods: argv.codeAllowedMethods,
|
|
84
100
|
codeBlockedMethods: argv.codeBlockedMethods,
|
|
85
101
|
codeExecutionMode: argv.codeExecutionMode,
|
|
102
|
+
customInstructionsPath: argv.customInstructionsPath,
|
|
86
103
|
transport,
|
|
87
104
|
logFormat,
|
|
88
105
|
port: argv.port,
|
|
@@ -110,6 +127,8 @@ export function parseQueryOptions(defaultOptions, query) {
|
|
|
110
127
|
...(codeTool !== undefined && { includeCodeTool: codeTool }),
|
|
111
128
|
...(docsTools !== undefined && { includeDocsTools: docsTools }),
|
|
112
129
|
codeExecutionMode: defaultOptions.codeExecutionMode,
|
|
130
|
+
docsSearchMode: defaultOptions.docsSearchMode,
|
|
131
|
+
docsDir: defaultOptions.docsDir,
|
|
113
132
|
};
|
|
114
133
|
}
|
|
115
134
|
//# sourceMappingURL=options.mjs.map
|
package/options.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,MAAM,IAAI;OACZ,KAAK,MAAM,OAAO;OAClB,EAAE,OAAO,EAAE,MAAM,eAAe;OAChC,CAAC,MAAM,KAAK;OACZ,EAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "context.dev-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "The official MCP Server for the Context Dev API",
|
|
5
5
|
"author": "Context Dev <hello@context.dev>",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
"type": "commonjs",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/context-dot-dev/typescript-sdk.git",
|
|
11
|
+
"url": "git+https://github.com/context-dot-dev/context-typescript-sdk.git",
|
|
12
12
|
"directory": "packages/mcp-server"
|
|
13
13
|
},
|
|
14
|
-
"homepage": "https://github.com/context-dot-dev/typescript-sdk/tree/main/packages/mcp-server#readme",
|
|
14
|
+
"homepage": "https://github.com/context-dot-dev/context-typescript-sdk/tree/main/packages/mcp-server#readme",
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
16
|
"packageManager": "yarn@1.22.22",
|
|
17
17
|
"private": false,
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"fix": "eslint --fix ."
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"context.dev": "^
|
|
30
|
+
"context.dev": "^1.1.0",
|
|
31
31
|
"ajv": "^8.18.0",
|
|
32
32
|
"@cloudflare/cabidela": "^0.2.4",
|
|
33
33
|
"@hono/node-server": "^1.19.10",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"cors": "^2.8.5",
|
|
39
39
|
"express": "^5.1.0",
|
|
40
40
|
"fuse.js": "^7.1.0",
|
|
41
|
+
"minisearch": "^7.2.0",
|
|
41
42
|
"jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz",
|
|
42
43
|
"pino": "^10.3.1",
|
|
43
44
|
"pino-http": "^11.0.0",
|
|
@@ -151,6 +152,16 @@
|
|
|
151
152
|
"./instructions.mjs": {
|
|
152
153
|
"default": "./instructions.mjs"
|
|
153
154
|
},
|
|
155
|
+
"./local-docs-search": {
|
|
156
|
+
"import": "./local-docs-search.mjs",
|
|
157
|
+
"require": "./local-docs-search.js"
|
|
158
|
+
},
|
|
159
|
+
"./local-docs-search.js": {
|
|
160
|
+
"default": "./local-docs-search.js"
|
|
161
|
+
},
|
|
162
|
+
"./local-docs-search.mjs": {
|
|
163
|
+
"default": "./local-docs-search.mjs"
|
|
164
|
+
},
|
|
154
165
|
"./logger": {
|
|
155
166
|
"import": "./logger.mjs",
|
|
156
167
|
"require": "./logger.js"
|
package/server.d.mts
CHANGED
|
@@ -3,7 +3,10 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import { ClientOptions } from 'context.dev';
|
|
4
4
|
import { McpOptions } from "./options.mjs";
|
|
5
5
|
import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.mjs";
|
|
6
|
-
export declare const newMcpServer: (stainlessApiKey
|
|
6
|
+
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, }: {
|
|
7
|
+
stainlessApiKey?: string | undefined;
|
|
8
|
+
customInstructionsPath?: string | undefined;
|
|
9
|
+
}) => Promise<McpServer>;
|
|
7
10
|
/**
|
|
8
11
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
9
12
|
* If not provided, the default client, tools and handlers will be used.
|
package/server.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAM5D,EAAE,aAAa,EAAE,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAM5D,EAAE,aAAa,EAAE,MAAM,aAAa;OAOpC,EAAE,UAAU,EAAE;OAEd,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE;AAEtE,eAAO,MAAM,YAAY,GAAU,8CAGhC;IACD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,uBAUE,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzD,iBAwHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAe3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
|
package/server.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import { ClientOptions } from 'context.dev';
|
|
4
4
|
import { McpOptions } from "./options.js";
|
|
5
5
|
import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.js";
|
|
6
|
-
export declare const newMcpServer: (stainlessApiKey
|
|
6
|
+
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, }: {
|
|
7
|
+
stainlessApiKey?: string | undefined;
|
|
8
|
+
customInstructionsPath?: string | undefined;
|
|
9
|
+
}) => Promise<McpServer>;
|
|
7
10
|
/**
|
|
8
11
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
9
12
|
* If not provided, the default client, tools and handlers will be used.
|
package/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAM5D,EAAE,aAAa,EAAE,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAM5D,EAAE,aAAa,EAAE,MAAM,aAAa;OAOpC,EAAE,UAAU,EAAE;OAEd,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE;AAEtE,eAAO,MAAM,YAAY,GAAU,8CAGhC;IACD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,uBAUE,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzD,iBAwHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAe3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
|
package/server.js
CHANGED
|
@@ -13,13 +13,15 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
|
13
13
|
const context_dev_1 = __importDefault(require("context.dev"));
|
|
14
14
|
const code_tool_1 = require("./code-tool.js");
|
|
15
15
|
const docs_search_tool_1 = __importDefault(require("./docs-search-tool.js"));
|
|
16
|
+
const docs_search_tool_2 = require("./docs-search-tool.js");
|
|
17
|
+
const local_docs_search_1 = require("./local-docs-search.js");
|
|
16
18
|
const instructions_1 = require("./instructions.js");
|
|
17
19
|
const methods_1 = require("./methods.js");
|
|
18
|
-
const newMcpServer = async (stainlessApiKey) => new mcp_js_1.McpServer({
|
|
20
|
+
const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, }) => new mcp_js_1.McpServer({
|
|
19
21
|
name: 'context_dev_api',
|
|
20
|
-
version: '
|
|
22
|
+
version: '1.1.0',
|
|
21
23
|
}, {
|
|
22
|
-
instructions: await (0, instructions_1.getInstructions)(stainlessApiKey),
|
|
24
|
+
instructions: await (0, instructions_1.getInstructions)({ stainlessApiKey, customInstructionsPath }),
|
|
23
25
|
capabilities: { tools: {}, logging: {} },
|
|
24
26
|
});
|
|
25
27
|
exports.newMcpServer = newMcpServer;
|
|
@@ -41,6 +43,11 @@ async function initMcpServer(params) {
|
|
|
41
43
|
warn: logAtLevel('warning'),
|
|
42
44
|
error: logAtLevel('error'),
|
|
43
45
|
};
|
|
46
|
+
if (params.mcpOptions?.docsSearchMode === 'local') {
|
|
47
|
+
const docsDir = params.mcpOptions?.docsDir;
|
|
48
|
+
const localSearch = await local_docs_search_1.LocalDocsSearch.create(docsDir ? { docsDir } : undefined);
|
|
49
|
+
(0, docs_search_tool_2.setLocalSearch)(localSearch);
|
|
50
|
+
}
|
|
44
51
|
let _client;
|
|
45
52
|
let _clientError;
|
|
46
53
|
let _logLevel;
|
package/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/server.mjs
CHANGED
|
@@ -4,13 +4,15 @@ import { CallToolRequestSchema, ListToolsRequestSchema, SetLevelRequestSchema, }
|
|
|
4
4
|
import ContextDev from 'context.dev';
|
|
5
5
|
import { codeTool } from "./code-tool.mjs";
|
|
6
6
|
import docsSearchTool from "./docs-search-tool.mjs";
|
|
7
|
+
import { setLocalSearch } from "./docs-search-tool.mjs";
|
|
8
|
+
import { LocalDocsSearch } from "./local-docs-search.mjs";
|
|
7
9
|
import { getInstructions } from "./instructions.mjs";
|
|
8
10
|
import { blockedMethodsForCodeTool } from "./methods.mjs";
|
|
9
|
-
export const newMcpServer = async (stainlessApiKey) => new McpServer({
|
|
11
|
+
export const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, }) => new McpServer({
|
|
10
12
|
name: 'context_dev_api',
|
|
11
|
-
version: '
|
|
13
|
+
version: '1.1.0',
|
|
12
14
|
}, {
|
|
13
|
-
instructions: await getInstructions(stainlessApiKey),
|
|
15
|
+
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
|
|
14
16
|
capabilities: { tools: {}, logging: {} },
|
|
15
17
|
});
|
|
16
18
|
/**
|
|
@@ -31,6 +33,11 @@ export async function initMcpServer(params) {
|
|
|
31
33
|
warn: logAtLevel('warning'),
|
|
32
34
|
error: logAtLevel('error'),
|
|
33
35
|
};
|
|
36
|
+
if (params.mcpOptions?.docsSearchMode === 'local') {
|
|
37
|
+
const docsDir = params.mcpOptions?.docsDir;
|
|
38
|
+
const localSearch = await LocalDocsSearch.create(docsDir ? { docsDir } : undefined);
|
|
39
|
+
setLocalSearch(localSearch);
|
|
40
|
+
}
|
|
34
41
|
let _client;
|
|
35
42
|
let _clientError;
|
|
36
43
|
let _logLevel;
|
package/server.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAG/E,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC;OAEpC,UAAU,MAAM,aAAa;OAC7B,EAAE,QAAQ,EAAE;OACZ,cAAc;OACd,EAAE,eAAe,EAAE;OAEnB,EAAE,yBAAyB,EAAE;AAGpC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/src/docs-search-tool.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
4
4
|
import { Metadata, McpRequestContext, asTextContentResult } from './types';
|
|
5
5
|
import { getLogger } from './logger';
|
|
6
|
+
import type { LocalDocsSearch } from './local-docs-search';
|
|
6
7
|
|
|
7
8
|
export const metadata: Metadata = {
|
|
8
9
|
resource: 'all',
|
|
@@ -43,20 +44,49 @@ export const tool: Tool = {
|
|
|
43
44
|
const docsSearchURL =
|
|
44
45
|
process.env['DOCS_SEARCH_URL'] || 'https://api.stainless.com/api/projects/context.dev/docs/search';
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
let _localSearch: LocalDocsSearch | undefined;
|
|
48
|
+
|
|
49
|
+
export function setLocalSearch(search: LocalDocsSearch): void {
|
|
50
|
+
_localSearch = search;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const SUPPORTED_LANGUAGES = new Set(['http', 'typescript', 'javascript']);
|
|
54
|
+
|
|
55
|
+
async function searchLocal(args: Record<string, unknown>): Promise<unknown> {
|
|
56
|
+
if (!_localSearch) {
|
|
57
|
+
throw new Error('Local search not initialized');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const query = (args['query'] as string) ?? '';
|
|
61
|
+
const language = (args['language'] as string) ?? 'typescript';
|
|
62
|
+
const detail = (args['detail'] as string) ?? 'verbose';
|
|
63
|
+
|
|
64
|
+
if (!SUPPORTED_LANGUAGES.has(language)) {
|
|
65
|
+
throw new Error(
|
|
66
|
+
`Local docs search only supports HTTP, TypeScript, and JavaScript. Got language="${language}". ` +
|
|
67
|
+
`Use --docs-search-mode stainless-api for other languages, or set language to "http", "typescript", or "javascript".`,
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return _localSearch.search({
|
|
72
|
+
query,
|
|
73
|
+
language,
|
|
74
|
+
detail,
|
|
75
|
+
maxResults: 10,
|
|
76
|
+
}).results;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async function searchRemote(
|
|
80
|
+
args: Record<string, unknown>,
|
|
81
|
+
stainlessApiKey: string | undefined,
|
|
82
|
+
): Promise<unknown> {
|
|
53
83
|
const body = args as any;
|
|
54
84
|
const query = new URLSearchParams(body).toString();
|
|
55
85
|
|
|
56
86
|
const startTime = Date.now();
|
|
57
87
|
const result = await fetch(`${docsSearchURL}?${query}`, {
|
|
58
88
|
headers: {
|
|
59
|
-
...(
|
|
89
|
+
...(stainlessApiKey && { Authorization: stainlessApiKey }),
|
|
60
90
|
},
|
|
61
91
|
});
|
|
62
92
|
|
|
@@ -75,7 +105,7 @@ export const handler = async ({
|
|
|
75
105
|
'Got error response from docs search tool',
|
|
76
106
|
);
|
|
77
107
|
|
|
78
|
-
if (result.status === 404 && !
|
|
108
|
+
if (result.status === 404 && !stainlessApiKey) {
|
|
79
109
|
throw new Error(
|
|
80
110
|
'Could not find docs for this project. You may need to provide a Stainless API key via the STAINLESS_API_KEY environment variable, the --stainless-api-key flag, or the x-stainless-api-key HTTP header.',
|
|
81
111
|
);
|
|
@@ -94,7 +124,23 @@ export const handler = async ({
|
|
|
94
124
|
},
|
|
95
125
|
'Got docs search result',
|
|
96
126
|
);
|
|
97
|
-
return
|
|
127
|
+
return resultBody;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export const handler = async ({
|
|
131
|
+
reqContext,
|
|
132
|
+
args,
|
|
133
|
+
}: {
|
|
134
|
+
reqContext: McpRequestContext;
|
|
135
|
+
args: Record<string, unknown> | undefined;
|
|
136
|
+
}) => {
|
|
137
|
+
const body = args ?? {};
|
|
138
|
+
|
|
139
|
+
if (_localSearch) {
|
|
140
|
+
return asTextContentResult(await searchLocal(body));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return asTextContentResult(await searchRemote(body, reqContext.stainlessApiKey));
|
|
98
144
|
};
|
|
99
145
|
|
|
100
146
|
export default { metadata, tool, handler };
|
package/src/http.ts
CHANGED
|
@@ -23,7 +23,8 @@ const newServer = async ({
|
|
|
23
23
|
res: express.Response;
|
|
24
24
|
}): Promise<McpServer | null> => {
|
|
25
25
|
const stainlessApiKey = getStainlessApiKey(req, mcpOptions);
|
|
26
|
-
const
|
|
26
|
+
const customInstructionsPath = mcpOptions.customInstructionsPath;
|
|
27
|
+
const server = await newMcpServer({ stainlessApiKey, customInstructionsPath });
|
|
27
28
|
|
|
28
29
|
const authOptions = parseClientAuthHeaders(req, false);
|
|
29
30
|
|
package/src/instructions.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
+
import fs from 'fs/promises';
|
|
3
4
|
import { readEnv } from './util';
|
|
4
5
|
import { getLogger } from './logger';
|
|
5
6
|
|
|
@@ -12,9 +13,15 @@ interface InstructionsCacheEntry {
|
|
|
12
13
|
|
|
13
14
|
const instructionsCache = new Map<string, InstructionsCacheEntry>();
|
|
14
15
|
|
|
15
|
-
export async function getInstructions(
|
|
16
|
+
export async function getInstructions({
|
|
17
|
+
stainlessApiKey,
|
|
18
|
+
customInstructionsPath,
|
|
19
|
+
}: {
|
|
20
|
+
stainlessApiKey?: string | undefined;
|
|
21
|
+
customInstructionsPath?: string | undefined;
|
|
22
|
+
}): Promise<string> {
|
|
16
23
|
const now = Date.now();
|
|
17
|
-
const cacheKey = stainlessApiKey ?? '';
|
|
24
|
+
const cacheKey = customInstructionsPath ?? stainlessApiKey ?? '';
|
|
18
25
|
const cached = instructionsCache.get(cacheKey);
|
|
19
26
|
|
|
20
27
|
if (cached && now - cached.fetchedAt <= INSTRUCTIONS_CACHE_TTL_MS) {
|
|
@@ -28,12 +35,28 @@ export async function getInstructions(stainlessApiKey: string | undefined): Prom
|
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
let fetchedInstructions: string;
|
|
39
|
+
|
|
40
|
+
if (customInstructionsPath) {
|
|
41
|
+
fetchedInstructions = await fetchLatestInstructionsFromFile(customInstructionsPath);
|
|
42
|
+
} else {
|
|
43
|
+
fetchedInstructions = await fetchLatestInstructionsFromApi(stainlessApiKey);
|
|
44
|
+
}
|
|
45
|
+
|
|
32
46
|
instructionsCache.set(cacheKey, { fetchedInstructions, fetchedAt: now });
|
|
33
47
|
return fetchedInstructions;
|
|
34
48
|
}
|
|
35
49
|
|
|
36
|
-
async function
|
|
50
|
+
async function fetchLatestInstructionsFromFile(path: string): Promise<string> {
|
|
51
|
+
try {
|
|
52
|
+
return await fs.readFile(path, 'utf-8');
|
|
53
|
+
} catch (error) {
|
|
54
|
+
getLogger().error({ error, path }, 'Error fetching instructions from file');
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async function fetchLatestInstructionsFromApi(stainlessApiKey: string | undefined): Promise<string> {
|
|
37
60
|
// Setting the stainless API key is optional, but may be required
|
|
38
61
|
// to authenticate requests to the Stainless API.
|
|
39
62
|
const response = await fetch(
|