converse-mcp-server 2.21.4 → 2.22.1
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/package.json +11 -11
- package/src/providers/anthropic.js +46 -18
- package/src/providers/claude.js +1 -1
- package/src/providers/codex.js +16 -1
- package/src/providers/copilot.js +13 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "converse-mcp-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.22.1",
|
|
4
4
|
"description": "Converse MCP Server - Converse with other LLMs with chat and consensus tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -94,30 +94,30 @@
|
|
|
94
94
|
".env.example"
|
|
95
95
|
],
|
|
96
96
|
"dependencies": {
|
|
97
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.
|
|
97
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.110",
|
|
98
98
|
"@anthropic-ai/sdk": "^0.86.1",
|
|
99
|
-
"@github/copilot-sdk": "^0.2.
|
|
100
|
-
"@google/genai": "^1.
|
|
99
|
+
"@github/copilot-sdk": "^0.2.2",
|
|
100
|
+
"@google/genai": "^1.50.1",
|
|
101
101
|
"@mistralai/mistralai": "^2.2.0",
|
|
102
102
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
103
103
|
"@openai/codex-sdk": "^0.118.0",
|
|
104
|
-
"ai": "^6.0.
|
|
104
|
+
"ai": "^6.0.164",
|
|
105
105
|
"ai-sdk-provider-gemini-cli": "^2.0.1",
|
|
106
106
|
"cors": "^2.8.6",
|
|
107
|
-
"dotenv": "^17.4.
|
|
107
|
+
"dotenv": "^17.4.2",
|
|
108
108
|
"express": "^5.2.1",
|
|
109
|
-
"lru-cache": "^11.3.
|
|
110
|
-
"nanoid": "^5.1.
|
|
109
|
+
"lru-cache": "^11.3.5",
|
|
110
|
+
"nanoid": "^5.1.9",
|
|
111
111
|
"openai": "^6.34.0",
|
|
112
112
|
"p-limit": "^7.3.0",
|
|
113
113
|
"vite": "^8.0.8"
|
|
114
114
|
},
|
|
115
115
|
"devDependencies": {
|
|
116
|
-
"@vitest/coverage-v8": "^4.1.
|
|
116
|
+
"@vitest/coverage-v8": "^4.1.4",
|
|
117
117
|
"cross-env": "^10.1.0",
|
|
118
118
|
"eslint": "^10.2.0",
|
|
119
|
-
"prettier": "^3.8.
|
|
119
|
+
"prettier": "^3.8.3",
|
|
120
120
|
"rimraf": "^6.1.3",
|
|
121
|
-
"vitest": "^4.1.
|
|
121
|
+
"vitest": "^4.1.4"
|
|
122
122
|
}
|
|
123
123
|
}
|
|
@@ -13,6 +13,39 @@ import { ProviderError, ErrorCodes, StopReasons } from './interface.js';
|
|
|
13
13
|
|
|
14
14
|
// Define supported Claude models with their capabilities
|
|
15
15
|
const SUPPORTED_MODELS = {
|
|
16
|
+
'claude-opus-4-7': {
|
|
17
|
+
modelName: 'claude-opus-4-7',
|
|
18
|
+
friendlyName: 'Claude Opus 4.7',
|
|
19
|
+
contextWindow: 200000,
|
|
20
|
+
maxOutputTokens: 128000,
|
|
21
|
+
supportsStreaming: true,
|
|
22
|
+
supportsImages: true,
|
|
23
|
+
supportsTemperature: true,
|
|
24
|
+
supportsWebSearch: false,
|
|
25
|
+
supportsThinking: true,
|
|
26
|
+
supportsAdaptiveThinking: true,
|
|
27
|
+
minThinkingTokens: 1024,
|
|
28
|
+
maxThinkingTokens: 128000,
|
|
29
|
+
timeout: 600000,
|
|
30
|
+
supportsEffort: true,
|
|
31
|
+
effortGA: true,
|
|
32
|
+
supports1MContext: true,
|
|
33
|
+
supportsCompaction: true,
|
|
34
|
+
description:
|
|
35
|
+
'Claude Opus 4.7 - Most capable model for complex reasoning and agentic coding',
|
|
36
|
+
aliases: [
|
|
37
|
+
'claude-opus-4-7',
|
|
38
|
+
'claude-4.7-opus',
|
|
39
|
+
'claude-4-7-opus',
|
|
40
|
+
'opus-4.7',
|
|
41
|
+
'opus-4-7',
|
|
42
|
+
'opus4.7',
|
|
43
|
+
'opus4-7',
|
|
44
|
+
'claude-opus-4.7',
|
|
45
|
+
'opus',
|
|
46
|
+
'claude-opus',
|
|
47
|
+
],
|
|
48
|
+
},
|
|
16
49
|
'claude-opus-4-6': {
|
|
17
50
|
modelName: 'claude-opus-4-6',
|
|
18
51
|
friendlyName: 'Claude Opus 4.6',
|
|
@@ -23,16 +56,16 @@ const SUPPORTED_MODELS = {
|
|
|
23
56
|
supportsTemperature: true,
|
|
24
57
|
supportsWebSearch: false,
|
|
25
58
|
supportsThinking: true,
|
|
26
|
-
supportsAdaptiveThinking: true,
|
|
59
|
+
supportsAdaptiveThinking: true,
|
|
27
60
|
minThinkingTokens: 1024,
|
|
28
61
|
maxThinkingTokens: 128000,
|
|
29
62
|
timeout: 600000,
|
|
30
|
-
supportsEffort: true,
|
|
31
|
-
effortGA: true,
|
|
32
|
-
supports1MContext: true,
|
|
33
|
-
supportsCompaction: true,
|
|
63
|
+
supportsEffort: true,
|
|
64
|
+
effortGA: true,
|
|
65
|
+
supports1MContext: true,
|
|
66
|
+
supportsCompaction: true,
|
|
34
67
|
description:
|
|
35
|
-
'Claude Opus 4.6 -
|
|
68
|
+
'Claude Opus 4.6 - Previous most intelligent model with adaptive thinking and 128K output',
|
|
36
69
|
aliases: [
|
|
37
70
|
'claude-opus-4-6',
|
|
38
71
|
'claude-4.6-opus',
|
|
@@ -42,8 +75,6 @@ const SUPPORTED_MODELS = {
|
|
|
42
75
|
'opus4.6',
|
|
43
76
|
'opus4-6',
|
|
44
77
|
'claude-opus-4.6',
|
|
45
|
-
'opus',
|
|
46
|
-
'claude-opus',
|
|
47
78
|
],
|
|
48
79
|
},
|
|
49
80
|
'claude-opus-4-5-20251101': {
|
|
@@ -212,15 +243,16 @@ const THINKING_BUDGETS = {
|
|
|
212
243
|
};
|
|
213
244
|
|
|
214
245
|
/**
|
|
215
|
-
* Effort parameter mapping for Opus 4.6, Sonnet 4.6, and Opus 4.5
|
|
246
|
+
* Effort parameter mapping for Opus 4.7, Opus 4.6, Sonnet 4.6, and Opus 4.5
|
|
216
247
|
* Maps reasoning_effort values to Anthropic's effort parameter values
|
|
217
248
|
*/
|
|
218
249
|
const EFFORT_MAP = {
|
|
250
|
+
none: 'low',
|
|
219
251
|
minimal: 'low',
|
|
220
|
-
low: '
|
|
221
|
-
medium: '
|
|
222
|
-
high: '
|
|
223
|
-
max: 'max',
|
|
252
|
+
low: 'medium',
|
|
253
|
+
medium: 'high',
|
|
254
|
+
high: 'xhigh',
|
|
255
|
+
max: 'max',
|
|
224
256
|
};
|
|
225
257
|
|
|
226
258
|
/**
|
|
@@ -631,11 +663,7 @@ export const anthropicProvider = {
|
|
|
631
663
|
}
|
|
632
664
|
|
|
633
665
|
// Add effort parameter for models that support it (uses output_config)
|
|
634
|
-
if (
|
|
635
|
-
modelConfig.supportsEffort &&
|
|
636
|
-
reasoning_effort &&
|
|
637
|
-
reasoning_effort !== 'none'
|
|
638
|
-
) {
|
|
666
|
+
if (modelConfig.supportsEffort && reasoning_effort) {
|
|
639
667
|
const effortValue = EFFORT_MAP[reasoning_effort];
|
|
640
668
|
if (effortValue) {
|
|
641
669
|
requestPayload.output_config = {
|
package/src/providers/claude.js
CHANGED
|
@@ -223,7 +223,7 @@ async function* createStreamingGenerator(
|
|
|
223
223
|
// Build query options
|
|
224
224
|
// Use higher maxTurns to allow for file reading operations
|
|
225
225
|
const queryOptions = {
|
|
226
|
-
model: 'claude-opus-4-
|
|
226
|
+
model: 'claude-opus-4-7', // Use Opus 4.7 for best quality
|
|
227
227
|
maxTurns: 20, // Allow multiple turns for file operations
|
|
228
228
|
permissionMode: 'bypassPermissions', // Don't prompt for permissions
|
|
229
229
|
};
|
package/src/providers/codex.js
CHANGED
|
@@ -283,7 +283,22 @@ export const codexProvider = {
|
|
|
283
283
|
const rawWorkingDirectory = config.server?.client_cwd || process.cwd();
|
|
284
284
|
// Normalize Windows extended-length paths (\\?\C:\...) to regular paths
|
|
285
285
|
const workingDirectory = normalizeExtendedPath(rawWorkingDirectory);
|
|
286
|
-
const
|
|
286
|
+
const configuredSandboxMode =
|
|
287
|
+
config.providers?.codexsandboxmode || 'read-only';
|
|
288
|
+
// Auto-elevate read-only sandbox to workspace-write when the prompt opts
|
|
289
|
+
// into image generation via $imagegen — otherwise Codex can't save the
|
|
290
|
+
// generated file. Leave higher modes (workspace-write, danger-full-access)
|
|
291
|
+
// alone so an explicit user choice is never downgraded or escalated.
|
|
292
|
+
const wantsImageGen = /\$imagegen\b/i.test(prompt);
|
|
293
|
+
const sandboxMode =
|
|
294
|
+
wantsImageGen && configuredSandboxMode === 'read-only'
|
|
295
|
+
? 'workspace-write'
|
|
296
|
+
: configuredSandboxMode;
|
|
297
|
+
if (sandboxMode !== configuredSandboxMode) {
|
|
298
|
+
debugLog(
|
|
299
|
+
'[Codex] $imagegen detected — elevating sandboxMode from read-only to workspace-write so the image file can be written',
|
|
300
|
+
);
|
|
301
|
+
}
|
|
287
302
|
const skipGitRepoCheck =
|
|
288
303
|
config.providers?.codexskipgitcheck !== undefined
|
|
289
304
|
? config.providers.codexskipgitcheck
|
package/src/providers/copilot.js
CHANGED
|
@@ -236,6 +236,19 @@ const SUPPORTED_MODELS = {
|
|
|
236
236
|
supportsWebSearch: false,
|
|
237
237
|
timeout: 600000,
|
|
238
238
|
description: 'Anthropic Claude Opus 4.6 via Copilot subscription',
|
|
239
|
+
aliases: [],
|
|
240
|
+
},
|
|
241
|
+
'claude-opus-4.7': {
|
|
242
|
+
modelName: 'claude-opus-4.7',
|
|
243
|
+
friendlyName: 'Claude Opus 4.7 (via Copilot)',
|
|
244
|
+
contextWindow: 200000,
|
|
245
|
+
maxOutputTokens: 32768,
|
|
246
|
+
supportsStreaming: true,
|
|
247
|
+
supportsImages: false,
|
|
248
|
+
supportsTemperature: false,
|
|
249
|
+
supportsWebSearch: false,
|
|
250
|
+
timeout: 600000,
|
|
251
|
+
description: 'Anthropic Claude Opus 4.7 via Copilot subscription',
|
|
239
252
|
aliases: ['opus'],
|
|
240
253
|
},
|
|
241
254
|
|