@rvry/mcp 0.12.2 → 1.0.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/README.md +33 -41
- package/dist/client.d.ts +2 -2
- package/dist/index.d.ts +17 -6
- package/dist/index.js +444 -38
- package/dist/local-writer.d.ts +104 -16
- package/dist/local-writer.js +365 -56
- package/dist/setup.d.ts +25 -0
- package/dist/setup.js +202 -304
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -15,13 +15,13 @@ The wizard will:
|
|
|
15
15
|
2. Auto-detect supported clients on your machine
|
|
16
16
|
3. Configure them automatically
|
|
17
17
|
|
|
18
|
-
Supported clients: **Claude Code**, **Claude Desktop
|
|
18
|
+
Supported clients: **Claude Code**, **Claude Desktop**
|
|
19
19
|
|
|
20
20
|
Restart any running clients after setup, and RVRY is ready.
|
|
21
21
|
|
|
22
22
|
### Manual Configuration
|
|
23
23
|
|
|
24
|
-
For any MCP client that supports **stdio transport
|
|
24
|
+
For Claude Desktop or any other MCP client that supports **stdio transport**, add this to your MCP config:
|
|
25
25
|
|
|
26
26
|
```json
|
|
27
27
|
{
|
|
@@ -37,33 +37,18 @@ For any MCP client that supports **stdio transport** (runs a local process), add
|
|
|
37
37
|
|
|
38
38
|
Get your token at [rvry.ai/dashboard](https://rvry.ai/dashboard) after signing up.
|
|
39
39
|
|
|
40
|
-
### HTTP Transport (Web-Based Clients)
|
|
41
|
-
|
|
42
|
-
For clients that connect via HTTP URL (ChatGPT, Perplexity, etc.):
|
|
43
|
-
|
|
44
|
-
**MCP Server URL:** `https://engine.rvry.ai/mcp`
|
|
45
|
-
|
|
46
|
-
Authentication is handled via OAuth — you'll be prompted to sign in with Google when you first connect. No token configuration needed.
|
|
47
|
-
|
|
48
|
-
### Compatibility
|
|
49
|
-
|
|
50
|
-
RVRY supports both **stdio** and **HTTP** transports:
|
|
51
|
-
|
|
52
|
-
| Transport | Client | Setup |
|
|
53
|
-
|-----------|--------|-------|
|
|
54
|
-
| stdio | Claude Code, Claude Desktop, Cursor, Gemini CLI, Codex, Anti-Gravity | `npx --yes --package @rvry/mcp@latest rvry-mcp setup` |
|
|
55
|
-
| stdio | Any client with `command` + `args` config | Manual JSON config (see above) |
|
|
56
|
-
| HTTP | ChatGPT (custom GPTs), Perplexity, any HTTP MCP client | URL: `https://engine.rvry.ai/mcp` |
|
|
57
|
-
|
|
58
40
|
## Tools
|
|
59
41
|
|
|
60
42
|
| Tool | What it does | Tier |
|
|
61
43
|
|------|-------------|------|
|
|
62
|
-
| **`
|
|
63
|
-
| **`
|
|
64
|
-
| **`
|
|
65
|
-
| **`
|
|
66
|
-
| **`
|
|
44
|
+
| **`rvry`** | Lighter single-session analysis for questions that need structure but not the full deepthink loop. (Renamed from `think` in 1.0.0.) | All |
|
|
45
|
+
| **`deepthink`** | Extended multi-round analysis. Catches assumptions, tests them, and doesn't let your AI wrap up until it's dealt with what it found. | All |
|
|
46
|
+
| **`shimmer`** | Three-round reflective answering: a protected observation round surfaces commitments the answer must honor, then the answer is produced under them, then at most one resolution round. | All |
|
|
47
|
+
| **`problem_solve`** | Structured decision-making. Forces orientation, anticipation, and evaluation before committing to a recommendation. | Pro+ |
|
|
48
|
+
| **`challenge`** | Adversarial stress-testing. Finds weaknesses, tests assumptions, and surfaces failure modes in a proposal before you commit. | Pro+ |
|
|
49
|
+
| **`meta`** | Sustained metacognitive observation. Examines how your AI is thinking, not just what it's thinking. | Max |
|
|
50
|
+
|
|
51
|
+
A `think` tombstone tool remains for backward compatibility — calling it returns a notice pointing at `rvry`. It will be removed at 2.0.0.
|
|
67
52
|
|
|
68
53
|
### Parameters
|
|
69
54
|
|
|
@@ -71,35 +56,42 @@ All tools accept:
|
|
|
71
56
|
|
|
72
57
|
| Parameter | Type | Required | Description |
|
|
73
58
|
|-----------|------|----------|-------------|
|
|
74
|
-
| `input` | string | Yes | Your question (new session) or analysis (continuation) |
|
|
75
|
-
| `sessionId` | string | No | Session ID for continuing an existing session |
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
59
|
+
| `input` | string | Yes | Your question (new session) or analysis findings (continuation). |
|
|
60
|
+
| `sessionId` | string | No | Session ID for continuing an existing session. |
|
|
61
|
+
| `skipScoping` | boolean | No | Skip the scoping questions phase and begin analysis immediately. |
|
|
62
|
+
| `userConstraints` | string[] | No | User-stated directives or requirements to track across rounds. |
|
|
63
|
+
| `requiresCurrentData` | boolean | No | Set to `true` when the question depends on facts, policies, prices, or events that may have changed. Seeds a verification constraint that persists across all rounds. |
|
|
64
|
+
| `record` | boolean | No | When `true` on every call, the local client archives each round's body to `.rvry/<op>/<slug>/round-N-<mode>.md`. Passed from slash commands via the `--record` flag. |
|
|
65
|
+
| `harvest` | object | No | Final-call-only. The client includes its synthesis (`title`, `summary`, `keyFindings`, `shimmer`, `openQuestions`, `followUps`, plus operation-specific fields) so it can be persisted to the local session file. |
|
|
66
|
+
| `rounds` | array | No | Final-call-only, present only when `--record` was set. Array of `{round, mode, body}` for each analytical round. |
|
|
78
67
|
|
|
79
68
|
**When to use `requiresCurrentData`:** Any question about regulations, pricing, legal rulings, market conditions, API specifications, or current events. The engine will require the model to explicitly classify every cited fact as either verified-current or training-data-dependent before concluding.
|
|
80
69
|
|
|
81
|
-
**
|
|
70
|
+
**SHIMMER display:** SHIMMER is always round 1. The model displays `RVRY SHIMMER` with the revery definition before its self-observation — this is the priming phase, where the model observes its own processing before structured analysis begins.
|
|
82
71
|
|
|
83
|
-
**
|
|
72
|
+
**Client-owned harvest (Path B):** On the call that completes the session, the client constructs and passes a `harvest` object describing the final synthesis; the local writer renders `.rvry/<op>/<slug>/harvest.md` from it. With `--record`, each round is also written as `round-N-<mode>.md` in that folder.
|
|
84
73
|
|
|
85
74
|
## Slash Commands (Claude Code)
|
|
86
75
|
|
|
87
|
-
When you run `npx --yes --package @rvry/mcp@latest rvry-mcp setup` and select Claude Code, the wizard installs
|
|
76
|
+
When you run `npx --yes --package @rvry/mcp@latest rvry-mcp setup` and select Claude Code, the wizard installs these slash commands:
|
|
88
77
|
|
|
89
78
|
| Command | Tool | What it does |
|
|
90
79
|
|---------|------|-------------|
|
|
91
|
-
| `/
|
|
92
|
-
| `/
|
|
93
|
-
| `/
|
|
94
|
-
| `/
|
|
80
|
+
| `/rvry` | rvry | Structured single-session analysis with a Difficulty Gate |
|
|
81
|
+
| `/deepthink` | deepthink | Deep multi-round analysis |
|
|
82
|
+
| `/shimmer` | shimmer | Reflective answering under surfaced commitments |
|
|
83
|
+
| `/problem-solve` | problem_solve | Structured decision-making |
|
|
84
|
+
| `/challenge` | challenge | Adversarial stress-testing |
|
|
85
|
+
| `/meta` | meta | Metacognitive observation |
|
|
86
|
+
| `/think` | rvry | Deprecated alias for `/rvry` (removed next major) |
|
|
95
87
|
|
|
96
88
|
Usage: type `/deepthink [your question]` in Claude Code. Each command routes to the corresponding RVRY MCP tool and includes rendering instructions so analysis appears as visible markdown rather than hidden in tool calls.
|
|
97
89
|
|
|
98
|
-
|
|
90
|
+
**`--record` flag:** Append `--record` to any command (e.g. `/deepthink --record [question]`) to archive per-round bodies under `.rvry/<op>/<slug>/round-N-<mode>.md` alongside the harvest file.
|
|
99
91
|
|
|
100
|
-
|
|
92
|
+
**Updating commands:** Re-running setup refreshes the RVRY-owned command files. Any pre-existing file is backed up to `<name>.md.bak` before it is overwritten.
|
|
101
93
|
|
|
102
|
-
Commands are installed to `~/.claude/commands/`.
|
|
94
|
+
Commands are installed to `~/.claude/commands/`.
|
|
103
95
|
|
|
104
96
|
## How it Works
|
|
105
97
|
|
|
@@ -115,8 +107,8 @@ On hard questions, a smaller model with RVRY outperforms a bigger model without
|
|
|
115
107
|
|
|
116
108
|
| Plan | Sessions | Tools | Price |
|
|
117
109
|
|------|----------|-------|-------|
|
|
118
|
-
| Free | 5/month | deepthink | $0 |
|
|
119
|
-
| Pro | 21/month | deepthink, problem_solve, challenge | $20/mo |
|
|
110
|
+
| Free | 5/month | deepthink, think | $0 |
|
|
111
|
+
| Pro | 21/month | deepthink, think, problem_solve, challenge | $20/mo |
|
|
120
112
|
| Max | Unlimited | All tools including meta | $99/mo |
|
|
121
113
|
|
|
122
114
|
Sign up at [rvry.ai](https://rvry.ai).
|
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' | 'think' | 'challenge' | 'meta';
|
|
5
|
+
export type RvryTool = 'deepthink' | 'problem_solve' | 'think' | 'challenge' | 'meta' | 'shimmer';
|
|
6
6
|
export interface ScopingQuestion {
|
|
7
7
|
question: string;
|
|
8
8
|
options: Array<{
|
|
@@ -13,7 +13,7 @@ export interface ScopingQuestion {
|
|
|
13
13
|
}
|
|
14
14
|
export interface ThinkResponse {
|
|
15
15
|
sessionId: string;
|
|
16
|
-
status: 'scoping' | 'orient' | 'active' | 'complete';
|
|
16
|
+
status: 'scoping' | 'shimmer' | 'orient' | 'active' | 'complete';
|
|
17
17
|
round: number;
|
|
18
18
|
prompt: string;
|
|
19
19
|
instruction: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
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 6 tools (rvry, deepthink, problem_solve, challenge, meta, shimmer)
|
|
9
|
+
* + RVRY_* backward-compat aliases + a `think` tombstone (renamed to rvry,
|
|
10
|
+
* removed at 2.0.0) + MCP Prompts.
|
|
9
11
|
*
|
|
10
12
|
* Also supports `npx --yes --package @rvry/mcp@latest rvry-mcp setup` to install Claude Code commands.
|
|
11
13
|
*/
|
|
@@ -14,11 +16,20 @@ import { type RvryTool, type ThinkResponse } from './client.js';
|
|
|
14
16
|
/** Cache original question per session for response enrichment */
|
|
15
17
|
declare const questionCache: Map<string, string>;
|
|
16
18
|
/**
|
|
17
|
-
* Map tool name to RvryTool.
|
|
18
|
-
*
|
|
19
|
+
* Map tool name to RvryTool (the engine wire name).
|
|
20
|
+
* `rvry` maps to the engine's think operation. `think`/`RVRY_think` are
|
|
21
|
+
* tombstones handled before this map is consulted.
|
|
19
22
|
*/
|
|
20
23
|
declare const TOOL_MAP: Record<string, RvryTool>;
|
|
24
|
+
/** Non-error tombstone notice for the renamed think tool. Removed at 2.0.0. */
|
|
25
|
+
declare const THINK_TOMBSTONE_NOTICE = "The think tool has been renamed to rvry. Call the rvry tool with the same arguments (input, sessionId, ...).";
|
|
21
26
|
declare const TOOL_DEFS: Tool[];
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Strip response fields based on status for context-efficient MCP responses.
|
|
29
|
+
*
|
|
30
|
+
* `toolName` is the public MCP tool name of the call in scope. The 'shimmer'
|
|
31
|
+
* status passthrough applies ONLY when the called tool is shimmer (R-6):
|
|
32
|
+
* legacy ops keep dropping prompt/instruction on their priming round.
|
|
33
|
+
*/
|
|
34
|
+
declare function stripResponse(result: ThinkResponse, question: string, toolName?: string): Record<string, unknown>;
|
|
35
|
+
export { TOOL_MAP, TOOL_DEFS, stripResponse, questionCache, THINK_TOMBSTONE_NOTICE };
|