mcp-server-mcpindex 0.3.3 → 0.3.5

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/CHANGELOG.md CHANGED
@@ -4,11 +4,17 @@ All notable changes to `mcp-server-mcpindex` are recorded here.
4
4
 
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.3.5] - 2026-07-12
8
+
9
+ ### Changed
10
+
11
+ - **Honesty copy for the advisory screen vs in-path gate.** `check_tool_trust` tool description now states v1 produces REVIEW/UNVERIFIED only (ALLOW/DENY reserved) and that this package is the directory client — not `mcpindex-gate`. Package description and README integration example match: REVIEW/UNVERIFIED first; ALLOW/DENY kept as reserved contract branches.
12
+
7
13
  ## [0.3.3] - 2026-06-08
8
14
 
9
15
  ### Changed
10
16
 
11
- - **Recommended install now rides `@latest`.** The docs wire `npx -y mcp-server-mcpindex@latest` so the host fetches the newest discovery server on each restart — no manual upgrade step. This server is the *advisory* recommender (`recommend_mcp_for_task` / `check_tool_trust` / `assess_server`), **not** the in-path drift gate, so it carries no version pin (the gate, `mcpindex-preflight`, stays pinned + notify-only on purpose). The startup update notice already prints the exact `npm i -g …@latest` command for anyone who pins.
17
+ - **Recommended install now rides `@latest`.** The docs wire `npx -y mcp-server-mcpindex@latest` so the host fetches the newest discovery server on each restart — no manual upgrade step. This server is the *advisory* recommender (`recommend_mcp_for_task` / `check_tool_trust` / `assess_server`), **not** the in-path drift gate, so it carries no version pin (the gate, `mcpindex-gate`, stays pinned + notify-only on purpose). The startup update notice already prints the exact `npm i -g …@latest` command for anyone who pins.
12
18
 
13
19
  ## [0.3.2] - 2026-06-08
14
20
 
package/README.md CHANGED
@@ -10,6 +10,20 @@ A drop-in MCP server that lets your agent discover, compare, install, and pre-fl
10
10
  npm install -g mcp-server-mcpindex
11
11
  ```
12
12
 
13
+ This is the **directory / advisory** client (recommend, search, trust). It does **not** install the in-path drift gate — that is `curl -fsSL https://mcpindex.ai/install.sh | sh`.
14
+
15
+ ### Claude Code
16
+
17
+ ```bash
18
+ claude mcp add --scope user mcpindex -- npx -y mcp-server-mcpindex@latest
19
+ ```
20
+
21
+ ### Gemini CLI
22
+
23
+ ```bash
24
+ gemini mcp add -s user mcpindex npx -y mcp-server-mcpindex@latest
25
+ ```
26
+
13
27
  ## Use it from Claude Desktop
14
28
 
15
29
  Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
@@ -64,14 +78,14 @@ npx -y mcp-server-mcpindex@latest
64
78
  | --- | --- |
65
79
  | `recommend_mcp_for_task` | Pass a natural-language task. Returns top 3 servers with reasoning, install commands, quality scores. |
66
80
  | `search_mcp_servers` | Keyword + semantic search across the full registry. Optional category filter. |
67
- | `get_install_command` | Get the exact install JSON for a server + a target client (Claude Desktop, Cursor, Cline, Zed). |
81
+ | `get_install_command` | Get the exact install JSON/CLI for a server + client (Claude Desktop, Claude Code, Cursor, Gemini CLI, Cline, Zed). |
68
82
  | `compare_servers` | Side-by-side comparison of 2-5 servers - quality scores, install paths, env vars. |
69
83
  | `check_tool_trust` | Pre-invocation advisory verdict for a specific tool on a server. Fail-CLOSED: returns UNVERIFIED when no verdict on file. |
70
84
  | `assess_server` | Aggregated pre-flight verdict across all tools on a server. Same shape as `check_tool_trust`. |
71
85
 
72
- ## Agent-framework integration: pre-invocation trust gate
86
+ ## Agent-framework integration: advisory pre-invocation screen
73
87
 
74
- `check_tool_trust` is the integration surface that lets agent frameworks (Composio, Mastra, LangChain, DSPy, raw LLM-tool-call loops) ask "is this tool safe to invoke right now?" before dispatching the call.
88
+ `check_tool_trust` is the **directory client** integration surface (not the in-path `mcpindex-gate`). It lets agent frameworks (Composio, Mastra, LangChain, DSPy, raw LLM-tool-call loops) ask for an advisory screen verdict before dispatching a call. At v1 you will see REVIEW or UNVERIFIED — not a safety clearance.
75
89
 
76
90
  ### Verdict contract (v1)
77
91
 
@@ -132,16 +146,9 @@ async function gateToolCall({ serverId, toolName, invoke, askHuman }) {
132
146
  audit.log({ verdict, caveats: verdict.honest_limits });
133
147
 
134
148
  switch (verdict.directive) {
135
- case 'ALLOW':
136
- return invoke();
137
-
138
- case 'DENY':
139
- throw new Error(
140
- `mcpindex denied ${serverId}/${toolName}: ${JSON.stringify(verdict.dimensions)}`,
141
- );
142
-
143
149
  case 'REVIEW':
144
150
  // Fail-CLOSED to human. Do NOT auto-execute on REVIEW.
151
+ // At v1 this is the common screened outcome (semantic-only).
145
152
  return askHuman({ verdict, action: `${serverId}/${toolName}` });
146
153
 
147
154
  case 'UNVERIFIED':
@@ -153,6 +160,17 @@ async function gateToolCall({ serverId, toolName, invoke, askHuman }) {
153
160
  note: 'No trust verdict on file. Human review required before first use.',
154
161
  });
155
162
 
163
+ case 'ALLOW':
164
+ // Reserved in the contract — not produced by the v1 public screen.
165
+ // Keep the branch for future conformance-earned ALLOW; do not expect it today.
166
+ return invoke();
167
+
168
+ case 'DENY':
169
+ // Reserved in the contract — not produced by the v1 public screen.
170
+ throw new Error(
171
+ `mcpindex denied ${serverId}/${toolName}: ${JSON.stringify(verdict.dimensions)}`,
172
+ );
173
+
156
174
  default:
157
175
  // Unknown directive. Fail-CLOSED.
158
176
  return askHuman({ verdict, action: `${serverId}/${toolName}` });
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "mcp-server-mcpindex",
3
- "version": "0.3.3",
4
- "description": "An MCP server for finding MCP servers, plus advisory trust verdicts (check_tool_trust, assess_server) for agent frameworks. Drop-in for Claude Desktop, Cursor, Cline, Zed.",
3
+ "version": "0.3.5",
4
+ "description": "An MCP server for finding MCP servers, plus advisory screen verdicts (check_tool_trust, assess_server). Directory client — not the in-path gate (mcpindex-gate). Drop-in for Claude Desktop, Claude Code, Cursor, Gemini CLI, Cline, Zed.",
5
5
  "keywords": [
6
6
  "mcp",
7
7
  "model-context-protocol",
8
8
  "claude",
9
9
  "cursor",
10
+ "gemini",
10
11
  "agent",
11
12
  "discovery",
12
13
  "trust",
package/src/index.mjs CHANGED
@@ -78,7 +78,7 @@ const TOOLS = [
78
78
  },
79
79
  client: {
80
80
  type: 'string',
81
- enum: ['claude-desktop', 'cursor', 'cline', 'zed'],
81
+ enum: ['claude-desktop', 'claude-code', 'cursor', 'gemini-cli', 'cline', 'zed'],
82
82
  description: 'Target client.',
83
83
  },
84
84
  },
@@ -106,7 +106,7 @@ const TOOLS = [
106
106
  {
107
107
  name: 'check_tool_trust',
108
108
  description:
109
- 'Pre-invocation trust check for a specific tool on an MCP server. Returns an advisory verdict object (directive ALLOW | DENY | REVIEW | UNVERIFIED, dimensions, freshness). v1 advisory; conformance monitored not enforced; verdicts may be UNVERIFIED if not yet probed. Agents SHOULD treat UNVERIFIED as "human review required", never as ALLOW.',
109
+ 'Pre-invocation advisory screen for a specific tool on an MCP server. Returns an advisory verdict object (directive ALLOW | DENY | REVIEW | UNVERIFIED, dimensions, freshness). At v1 the public screen produces REVIEW or UNVERIFIED only ALLOW/DENY are reserved. Not the in-path gate (mcpindex-gate). Agents SHOULD treat UNVERIFIED as "human review required", never as ALLOW.',
110
110
  inputSchema: {
111
111
  type: 'object',
112
112
  properties: {
@@ -50,7 +50,7 @@ export function formatUpdateMessage(current, latest) {
50
50
  `mcp-server-mcpindex ${current} -> ${latest} available. ` +
51
51
  `Update: npm i -g mcp-server-mcpindex@latest ` +
52
52
  `(or npx fetches it on next launch), then restart your MCP host ` +
53
- `(Claude Desktop / Cursor / Cline / Zed) to load it.`
53
+ `(Claude Desktop / Claude Code / Cursor / Gemini CLI / Cline / Zed) to load it.`
54
54
  );
55
55
  }
56
56