@rvry/mcp 0.5.0 → 0.6.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/dist/client.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +100 -2
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* RVRY MCP Client -- HTTP client for the RVRY engine /api/v1/think endpoint.
|
|
3
3
|
*/
|
|
4
4
|
/** Valid tool names for the RVRY engine */
|
|
5
|
-
export type RvryTool = 'deepthink' | 'problem_solve';
|
|
5
|
+
export type RvryTool = 'deepthink' | 'problem_solve' | 'think' | 'challenge' | 'meta';
|
|
6
6
|
export interface ScopingQuestion {
|
|
7
7
|
question: string;
|
|
8
8
|
options: Array<{
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Thin client that proxies tool calls to the RVRY engine HTTP API.
|
|
6
6
|
* Auth via RVRY_TOKEN env var (static rvry_ token).
|
|
7
7
|
*
|
|
8
|
-
* Exposes
|
|
8
|
+
* Exposes 5 tools (RVRY_deepthink, RVRY_problem_solve, RVRY_think, RVRY_challenge, RVRY_meta) + backward-compat aliases + 5 MCP Prompts.
|
|
9
9
|
*
|
|
10
10
|
* Also supports `npx @rvry/mcp setup` to install Claude Code commands.
|
|
11
11
|
*/
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Thin client that proxies tool calls to the RVRY engine HTTP API.
|
|
6
6
|
* Auth via RVRY_TOKEN env var (static rvry_ token).
|
|
7
7
|
*
|
|
8
|
-
* Exposes
|
|
8
|
+
* Exposes 5 tools (RVRY_deepthink, RVRY_problem_solve, RVRY_think, RVRY_challenge, RVRY_meta) + backward-compat aliases + 5 MCP Prompts.
|
|
9
9
|
*
|
|
10
10
|
* Also supports `npx @rvry/mcp setup` to install Claude Code commands.
|
|
11
11
|
*/
|
|
@@ -26,9 +26,15 @@ const TOOL_MAP = {
|
|
|
26
26
|
// Primary (rvry_ prefixed)
|
|
27
27
|
RVRY_deepthink: 'deepthink',
|
|
28
28
|
RVRY_problem_solve: 'problem_solve',
|
|
29
|
+
RVRY_think: 'think',
|
|
30
|
+
RVRY_challenge: 'challenge',
|
|
31
|
+
RVRY_meta: 'meta',
|
|
29
32
|
// Backward-compat aliases (unprefixed)
|
|
30
33
|
deepthink: 'deepthink',
|
|
31
34
|
problem_solve: 'problem_solve',
|
|
35
|
+
think: 'think',
|
|
36
|
+
challenge: 'challenge',
|
|
37
|
+
meta: 'meta',
|
|
32
38
|
};
|
|
33
39
|
const TOOL_DEFS = [
|
|
34
40
|
{
|
|
@@ -80,6 +86,80 @@ const TOOL_DEFS = [
|
|
|
80
86
|
required: ['input'],
|
|
81
87
|
},
|
|
82
88
|
},
|
|
89
|
+
{
|
|
90
|
+
name: 'RVRY_think',
|
|
91
|
+
description: 'Structured analysis for questions that need more depth than a quick answer. ' +
|
|
92
|
+
'Runs 2-4 rounds with constraint tracking. ' +
|
|
93
|
+
'Use for questions where you need to examine assumptions and consider alternatives. ' +
|
|
94
|
+
'Call with your question to start, then send your analysis with the returned sessionId to continue.',
|
|
95
|
+
inputSchema: {
|
|
96
|
+
type: 'object',
|
|
97
|
+
properties: {
|
|
98
|
+
input: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: 'The question to analyze (new session) or your analysis findings (continuation).',
|
|
101
|
+
},
|
|
102
|
+
sessionId: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'Session ID for continuing an existing session. Omit to start a new session.',
|
|
105
|
+
},
|
|
106
|
+
skipScoping: {
|
|
107
|
+
type: 'boolean',
|
|
108
|
+
description: 'Skip the scoping questions phase and begin analysis immediately.',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
required: ['input'],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'RVRY_challenge',
|
|
116
|
+
description: 'Adversarial analysis that stress-tests a proposal or idea. ' +
|
|
117
|
+
'Identifies weaknesses, tests assumptions, and surfaces failure modes. ' +
|
|
118
|
+
'Runs 4-6 rounds with strict gates. ' +
|
|
119
|
+
'Use when you need to find what\'s wrong with an idea before committing. ' +
|
|
120
|
+
'Call with your proposal to start, then send your analysis with the returned sessionId to continue.',
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
input: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
description: 'The proposal to challenge (new session) or your analysis findings (continuation).',
|
|
127
|
+
},
|
|
128
|
+
sessionId: {
|
|
129
|
+
type: 'string',
|
|
130
|
+
description: 'Session ID for continuing an existing session. Omit to start a new session.',
|
|
131
|
+
},
|
|
132
|
+
skipScoping: {
|
|
133
|
+
type: 'boolean',
|
|
134
|
+
description: 'Skip the scoping questions phase and begin analysis immediately.',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
required: ['input'],
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'RVRY_meta',
|
|
142
|
+
description: 'Sustained metacognitive observation. ' +
|
|
143
|
+
'Examines reasoning defaults, surfaces trained reflexes, and tracks what shifts under observation. ' +
|
|
144
|
+
'Runs 3 rounds: observe, deepen, synthesize. ' +
|
|
145
|
+
'Use when you want to examine how you\'re thinking, not just what you\'re thinking. ' +
|
|
146
|
+
'Max tier only. ' +
|
|
147
|
+
'Call with your topic to start, then send your reflection with the returned sessionId to continue.',
|
|
148
|
+
inputSchema: {
|
|
149
|
+
type: 'object',
|
|
150
|
+
properties: {
|
|
151
|
+
input: {
|
|
152
|
+
type: 'string',
|
|
153
|
+
description: 'The topic to reflect on (new session) or your reflection (continuation).',
|
|
154
|
+
},
|
|
155
|
+
sessionId: {
|
|
156
|
+
type: 'string',
|
|
157
|
+
description: 'Session ID for continuing an existing session. Omit to start a new session.',
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
required: ['input'],
|
|
161
|
+
},
|
|
162
|
+
},
|
|
83
163
|
];
|
|
84
164
|
/** Strip response fields based on status for context-efficient MCP responses */
|
|
85
165
|
function stripResponse(result, question) {
|
|
@@ -201,6 +281,21 @@ async function main() {
|
|
|
201
281
|
description: 'Structured decision-making for problems with multiple options',
|
|
202
282
|
arguments: [{ name: 'problem', description: 'The problem or decision to analyze', required: true }],
|
|
203
283
|
},
|
|
284
|
+
{
|
|
285
|
+
name: 'RVRY_think',
|
|
286
|
+
description: 'Structured analysis for questions needing more depth',
|
|
287
|
+
arguments: [{ name: 'question', description: 'The question to analyze', required: true }],
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
name: 'RVRY_challenge',
|
|
291
|
+
description: 'Adversarial analysis that stress-tests a proposal',
|
|
292
|
+
arguments: [{ name: 'proposal', description: 'The proposal or idea to challenge', required: true }],
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: 'RVRY_meta',
|
|
296
|
+
description: 'Sustained metacognitive observation (Max tier only)',
|
|
297
|
+
arguments: [{ name: 'topic', description: 'The topic or context to reflect on', required: true }],
|
|
298
|
+
},
|
|
204
299
|
],
|
|
205
300
|
}));
|
|
206
301
|
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
@@ -208,6 +303,9 @@ async function main() {
|
|
|
208
303
|
const promptMap = {
|
|
209
304
|
RVRY_deepthink: `Use the RVRY_deepthink tool to analyze this question in depth: ${args?.question ?? ''}`,
|
|
210
305
|
RVRY_problem_solve: `Use the RVRY_problem_solve tool to work through this decision: ${args?.problem ?? ''}`,
|
|
306
|
+
RVRY_think: `Use the RVRY_think tool to analyze this question: ${args?.question ?? ''}`,
|
|
307
|
+
RVRY_challenge: `Use the RVRY_challenge tool to stress-test this proposal: ${args?.proposal ?? ''}`,
|
|
308
|
+
RVRY_meta: `Use the RVRY_meta tool to reflect on this topic: ${args?.topic ?? ''}`,
|
|
211
309
|
};
|
|
212
310
|
const text = promptMap[name] ?? `Unknown prompt: ${name}`;
|
|
213
311
|
return {
|
|
@@ -221,7 +319,7 @@ async function main() {
|
|
|
221
319
|
});
|
|
222
320
|
const transport = new StdioServerTransport();
|
|
223
321
|
await server.connect(transport);
|
|
224
|
-
console.error('[rvry-mcp] Connected via stdio. Tools: RVRY_deepthink, RVRY_problem_solve');
|
|
322
|
+
console.error('[rvry-mcp] Connected via stdio. Tools: RVRY_deepthink, RVRY_problem_solve, RVRY_think, RVRY_challenge, RVRY_meta');
|
|
225
323
|
}
|
|
226
324
|
// Export internals for testing
|
|
227
325
|
export { TOOL_MAP, TOOL_DEFS, stripResponse, questionCache };
|