@everstateai/mcp 1.2.1 → 1.3.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/README.md CHANGED
@@ -1,16 +1,42 @@
1
- # @everstate/mcp-proxy
1
+ # @everstateai/mcp
2
2
 
3
- Thin MCP proxy for Everstate. All business logic lives in the cloud.
3
+ **Everstate MCP Server** - Persistent memory for AI coding assistants.
4
4
 
5
5
  ## Installation
6
6
 
7
+ ### Option 1: Global Install (Recommended)
8
+
7
9
  ```bash
8
- npm install -g @everstate/mcp-proxy
10
+ npm install -g @everstateai/mcp
9
11
  ```
10
12
 
13
+ ### Option 2: Use npx
14
+
15
+ No installation needed - just reference in your MCP config (see below).
16
+
11
17
  ## Configuration
12
18
 
13
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
19
+ ### Claude Code / VS Code
20
+
21
+ Add to your MCP configuration:
22
+
23
+ **Global** (`~/.claude.json`):
24
+
25
+ ```json
26
+ {
27
+ "mcpServers": {
28
+ "everstate": {
29
+ "command": "npx",
30
+ "args": ["-y", "@everstateai/mcp"],
31
+ "env": {
32
+ "EVERSTATE_API_KEY": "ck_your_api_key_here"
33
+ }
34
+ }
35
+ }
36
+ }
37
+ ```
38
+
39
+ **Or if installed globally:**
14
40
 
15
41
  ```json
16
42
  {
@@ -18,7 +44,43 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
18
44
  "everstate": {
19
45
  "command": "everstate-mcp",
20
46
  "env": {
21
- "EVERSTATE_API_KEY": "your_api_key_here"
47
+ "EVERSTATE_API_KEY": "ck_your_api_key_here"
48
+ }
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### Claude Desktop
55
+
56
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
57
+
58
+ ```json
59
+ {
60
+ "mcpServers": {
61
+ "everstate": {
62
+ "command": "npx",
63
+ "args": ["-y", "@everstateai/mcp"],
64
+ "env": {
65
+ "EVERSTATE_API_KEY": "ck_your_api_key_here"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ### Cursor
73
+
74
+ Add to `~/.cursor/mcp.json`:
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "everstate": {
80
+ "command": "npx",
81
+ "args": ["-y", "@everstateai/mcp"],
82
+ "env": {
83
+ "EVERSTATE_API_KEY": "ck_your_api_key_here"
22
84
  }
23
85
  }
24
86
  }
@@ -29,23 +91,87 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
29
91
 
30
92
  | Variable | Required | Description |
31
93
  |----------|----------|-------------|
32
- | `EVERSTATE_API_KEY` | Yes | Your Everstate API key |
33
- | `EVERSTATE_PROJECT_ID` | No | Default project ID for all calls |
94
+ | `EVERSTATE_API_KEY` | Yes | Your Everstate API key (get one at [everstate.ai](https://www.everstate.ai)) |
95
+ | `EVERSTATE_PROJECT_ID` | No | Explicit project ID (auto-detected from `.everstate.json` if not set) |
34
96
  | `EVERSTATE_API_URL` | No | API base URL (default: `https://www.everstate.ai`) |
35
97
  | `EVERSTATE_MODE` | No | Tool mode: `core`, `meta`, or `extended` |
36
98
 
99
+ ## Project Detection
100
+
101
+ The MCP proxy automatically detects your project in this order:
102
+
103
+ 1. **`EVERSTATE_PROJECT_ID` env var** - Explicit configuration wins
104
+ 2. **`.everstate.json` file** - Searches current directory and parents for a config file with `projectId`
105
+ 3. **API fallback** - Fetches your projects and uses the first one
106
+
107
+ For multi-project setups, create a `.everstate.json` in each project:
108
+
109
+ ```json
110
+ {
111
+ "projectId": "proj_abc123...",
112
+ "projectName": "My Project"
113
+ }
114
+ ```
115
+
116
+ ## Quick Setup
117
+
118
+ The easiest way to set up Everstate:
119
+
120
+ ```bash
121
+ npx @everstateai/mcp setup ck_YOUR_API_KEY
122
+ ```
123
+
124
+ This automatically:
125
+ - Configures Claude Code with the MCP server
126
+ - Creates `.everstate.json` in your project
127
+ - Sets up session hooks
128
+ - Stores your API key securely
129
+
130
+ Options:
131
+ ```bash
132
+ npx @everstateai/mcp setup --help # Show all options
133
+ npx @everstateai/mcp setup KEY --project-dir . # Specify project directory
134
+ npx @everstateai/mcp setup KEY --skip-hooks # Skip hook installation
135
+ ```
136
+
37
137
  ## How It Works
38
138
 
39
- This proxy is intentionally minimal (~50 lines). It:
139
+ This proxy is intentionally minimal. It:
140
+
141
+ 1. **On startup**: Auto-detects your project from `.everstate.json` or API
142
+ 2. **On tool list**: Fetches tool definitions from the Everstate API
143
+ 3. **On tool call**: Forwards the call to the Everstate API with your projectId
144
+ 4. **Returns**: Responses to Claude/Cursor/etc.
145
+
146
+ All business logic, tool schemas, and data operations live server-side. Benefits:
147
+
148
+ - **Instant updates** - New features without npm updates
149
+ - **Feature gating** - Tools enabled by your API key tier
150
+ - **Security** - All authentication and metering server-side
151
+
152
+ ## Troubleshooting
153
+
154
+ ### "No such tool available"
155
+
156
+ 1. Restart your AI tool (Claude Code, Cursor, etc.)
157
+ 2. Check your API key is correct
158
+ 3. Verify the MCP config JSON is valid
159
+
160
+ ### Tools fail with "projectId is required"
161
+
162
+ 1. Create `.everstate.json` in your project directory
163
+ 2. Or set `EVERSTATE_PROJECT_ID` in your MCP config
164
+ 3. Or call `sync({ projectId: "proj_..." })` at session start
165
+
166
+ ### Multiple projects
167
+
168
+ Use `.everstate.json` in each project directory. The proxy auto-detects based on your working directory.
40
169
 
41
- 1. Fetches tool definitions from the Everstate API
42
- 2. Forwards tool calls to the Everstate API
43
- 3. Returns responses to Claude
170
+ ## Get an API Key
44
171
 
45
- All business logic, tool schemas, and data operations live server-side. You get:
46
- - Instant updates (no npm updates needed)
47
- - Feature gating by API key tier
48
- - Full security and metering server-side
172
+ 1. Go to [everstate.ai](https://www.everstate.ai)
173
+ 2. Sign up (free)
174
+ 3. Generate an API key from the dashboard
49
175
 
50
176
  ## License
51
177
 
package/dist/index.d.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Everstate MCP Proxy
3
+ * Everstate MCP Package
4
4
  *
5
- * A thin proxy that forwards MCP calls to the Everstate cloud API.
6
- * All business logic, tool definitions, and data operations live server-side.
7
- *
8
- * This file is intentionally minimal (~50 lines of actual logic).
9
- * Users see nothing proprietary - just HTTP forwarding.
5
+ * Two modes:
6
+ * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
7
+ * 2. MCP Server: Runs as stdio MCP server (default)
10
8
  */
11
9
  export {};
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
package/dist/index.js CHANGED
@@ -1,13 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  /**
4
- * Everstate MCP Proxy
4
+ * Everstate MCP Package
5
5
  *
6
- * A thin proxy that forwards MCP calls to the Everstate cloud API.
7
- * All business logic, tool definitions, and data operations live server-side.
8
- *
9
- * This file is intentionally minimal (~50 lines of actual logic).
10
- * Users see nothing proprietary - just HTTP forwarding.
6
+ * Two modes:
7
+ * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
8
+ * 2. MCP Server: Runs as stdio MCP server (default)
11
9
  */
12
10
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
11
  if (k2 === undefined) k2 = k;
@@ -43,147 +41,155 @@ var __importStar = (this && this.__importStar) || (function () {
43
41
  };
44
42
  })();
45
43
  Object.defineProperty(exports, "__esModule", { value: true });
46
- const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
47
- const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
48
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
49
- const API_BASE = process.env.EVERSTATE_API_URL || "https://www.everstate.ai";
50
- const API_KEY = process.env.EVERSTATE_API_KEY;
51
- const INITIAL_PROJECT_ID = process.env.EVERSTATE_PROJECT_ID;
52
- // Session state - persists projectId across tool calls within this proxy instance
53
- let sessionProjectId = INITIAL_PROJECT_ID;
54
- if (!API_KEY) {
55
- console.error("EVERSTATE_API_KEY environment variable is required");
56
- process.exit(1);
57
- }
58
44
  const fs = __importStar(require("fs"));
59
45
  const path = __importStar(require("path"));
60
- // Try to detect project from .everstate.json in current directory or parents
61
- function detectProjectFromConfig() {
62
- let dir = process.cwd();
63
- const root = path.parse(dir).root;
64
- while (dir !== root) {
65
- const configPath = path.join(dir, ".everstate.json");
66
- if (fs.existsSync(configPath)) {
67
- try {
68
- const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
69
- if (config.projectId) {
70
- console.error(`[Everstate] Found project config: ${configPath}`);
71
- return config.projectId;
46
+ // Check if this is a setup command
47
+ const args = process.argv.slice(2);
48
+ if (args[0] === "setup" || args[0] === "--help" || args[0] === "-h") {
49
+ // Dynamic import to avoid loading MCP deps for setup
50
+ import("./setup.js").then(({ runSetup }) => {
51
+ runSetup(args);
52
+ });
53
+ }
54
+ else {
55
+ // Run MCP server
56
+ runMcpServer();
57
+ }
58
+ async function runMcpServer() {
59
+ const { Server } = await import("@modelcontextprotocol/sdk/server/index.js");
60
+ const { StdioServerTransport } = await import("@modelcontextprotocol/sdk/server/stdio.js");
61
+ const { CallToolRequestSchema, ListToolsRequestSchema, } = await import("@modelcontextprotocol/sdk/types.js");
62
+ const API_BASE = process.env.EVERSTATE_API_URL || "https://www.everstate.ai";
63
+ const API_KEY = process.env.EVERSTATE_API_KEY;
64
+ const INITIAL_PROJECT_ID = process.env.EVERSTATE_PROJECT_ID;
65
+ // Session state - persists projectId across tool calls within this proxy instance
66
+ let sessionProjectId = INITIAL_PROJECT_ID;
67
+ if (!API_KEY) {
68
+ console.error("EVERSTATE_API_KEY environment variable is required");
69
+ console.error("");
70
+ console.error("To set up Everstate, run:");
71
+ console.error(" npx @everstateai/mcp setup YOUR_API_KEY");
72
+ console.error("");
73
+ console.error("Get your API key at: https://www.everstate.ai");
74
+ process.exit(1);
75
+ }
76
+ // Try to detect project from .everstate.json in current directory or parents
77
+ function detectProjectFromConfig() {
78
+ let dir = process.cwd();
79
+ const root = path.parse(dir).root;
80
+ while (dir !== root) {
81
+ const configPath = path.join(dir, ".everstate.json");
82
+ if (fs.existsSync(configPath)) {
83
+ try {
84
+ const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
85
+ if (config.projectId) {
86
+ console.error(`[Everstate] Found project config: ${configPath}`);
87
+ return config.projectId;
88
+ }
89
+ }
90
+ catch {
91
+ // Invalid JSON, continue searching
72
92
  }
73
93
  }
74
- catch {
75
- // Invalid JSON, continue searching
76
- }
94
+ dir = path.dirname(dir);
77
95
  }
78
- dir = path.dirname(dir);
79
- }
80
- return null;
81
- }
82
- // Auto-detect default project: 1) env var, 2) .everstate.json, 3) API fallback
83
- async function detectDefaultProject() {
84
- if (sessionProjectId) {
85
- console.error(`[Everstate] Using configured project: ${sessionProjectId}`);
86
- return;
96
+ return null;
87
97
  }
88
- // Try to detect from .everstate.json in project directory
89
- const configProjectId = detectProjectFromConfig();
90
- if (configProjectId) {
91
- sessionProjectId = configProjectId;
92
- console.error(`[Everstate] Using project from .everstate.json: ${sessionProjectId}`);
93
- return;
94
- }
95
- // Fallback: fetch user's projects from API and use first one
96
- try {
97
- const res = await fetch(`${API_BASE}/api/projects`, {
98
- headers: { Authorization: `Bearer ${API_KEY}` },
99
- });
100
- if (res.ok) {
101
- const projects = await res.json();
102
- if (projects.length > 0) {
103
- sessionProjectId = projects[0].id;
104
- console.error(`[Everstate] Auto-detected default project: ${projects[0].name} (${sessionProjectId})`);
105
- }
106
- else {
107
- console.error("[Everstate] Warning: No projects found. Use switch_project or sync to set one.");
98
+ // Auto-detect default project: 1) env var, 2) .everstate.json, 3) API fallback
99
+ async function detectDefaultProject() {
100
+ if (sessionProjectId) {
101
+ console.error(`[Everstate] Using configured project: ${sessionProjectId}`);
102
+ return;
103
+ }
104
+ // Try to detect from .everstate.json in project directory
105
+ const configProjectId = detectProjectFromConfig();
106
+ if (configProjectId) {
107
+ sessionProjectId = configProjectId;
108
+ console.error(`[Everstate] Using project from .everstate.json: ${sessionProjectId}`);
109
+ return;
110
+ }
111
+ // Fallback: fetch user's projects from API and use first one
112
+ try {
113
+ const res = await fetch(`${API_BASE}/api/projects`, {
114
+ headers: { Authorization: `Bearer ${API_KEY}` },
115
+ });
116
+ if (res.ok) {
117
+ const projects = (await res.json());
118
+ if (projects.length > 0) {
119
+ sessionProjectId = projects[0].id;
120
+ console.error(`[Everstate] Auto-detected default project: ${projects[0].name} (${sessionProjectId})`);
121
+ }
122
+ else {
123
+ console.error("[Everstate] Warning: No projects found. Use switch_project or sync to set one.");
124
+ }
108
125
  }
109
126
  }
127
+ catch (error) {
128
+ console.error("[Everstate] Could not auto-detect project:", error);
129
+ }
110
130
  }
111
- catch (error) {
112
- console.error("[Everstate] Could not auto-detect project:", error);
113
- }
114
- }
115
- // Create MCP server
116
- const server = new index_js_1.Server({ name: "everstate", version: "1.0.0" }, { capabilities: { tools: {} } });
117
- // Fetch tool definitions from cloud
118
- server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
119
- const res = await fetch(`${API_BASE}/mcp/tools`, {
120
- method: "POST",
121
- headers: {
122
- Authorization: `Bearer ${API_KEY}`,
123
- "Content-Type": "application/json",
124
- },
125
- body: JSON.stringify({ mode: process.env.EVERSTATE_MODE }),
126
- });
127
- if (!res.ok) {
128
- throw new Error(`Failed to fetch tools: ${res.status} ${res.statusText}`);
129
- }
130
- const data = (await res.json());
131
- return { tools: data.tools };
132
- });
133
- // Forward tool calls to cloud
134
- server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
135
- const { name, arguments: args } = request.params;
136
- // Inject default projectId if not provided and we have one configured
137
- // For meta-tool (everstate), projectId may be in params.projectId
138
- const enrichedArgs = { ...args };
139
- const params = enrichedArgs.params;
140
- const hasProjectIdInParams = params && typeof params === 'object' && 'projectId' in params && params.projectId;
141
- // Use session projectId (may have been set by switch_project or sync)
142
- if (sessionProjectId && !enrichedArgs.projectId && !hasProjectIdInParams) {
143
- enrichedArgs.projectId = sessionProjectId;
144
- }
145
- const res = await fetch(`${API_BASE}/mcp/execute`, {
146
- method: "POST",
147
- headers: {
148
- Authorization: `Bearer ${API_KEY}`,
149
- "Content-Type": "application/json",
150
- },
151
- body: JSON.stringify({ name, arguments: enrichedArgs }),
131
+ // Create MCP server
132
+ const server = new Server({ name: "everstate", version: "1.3.0" }, { capabilities: { tools: {} } });
133
+ // Fetch tool definitions from cloud
134
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
135
+ const res = await fetch(`${API_BASE}/mcp/tools`, {
136
+ method: "POST",
137
+ headers: {
138
+ Authorization: `Bearer ${API_KEY}`,
139
+ "Content-Type": "application/json",
140
+ },
141
+ body: JSON.stringify({ mode: process.env.EVERSTATE_MODE }),
142
+ });
143
+ if (!res.ok) {
144
+ throw new Error(`Failed to fetch tools: ${res.status} ${res.statusText}`);
145
+ }
146
+ const data = (await res.json());
147
+ return { tools: data.tools };
152
148
  });
153
- if (!res.ok) {
154
- return {
155
- content: [{ type: "text", text: `API error: ${res.status} ${res.statusText}` }],
156
- isError: true,
157
- };
158
- }
159
- const result = (await res.json());
160
- // Update session state based on tool results
161
- // switch_project and sync can set the active project
162
- if (name === 'switch_project' || name === 'everstate_switch_project') {
163
- // Extract projectId from result
164
- const data = result.data || result.project;
165
- if (data?.id) {
166
- sessionProjectId = data.id;
149
+ // Forward tool calls to cloud
150
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
151
+ const { name, arguments: args } = request.params;
152
+ // Inject default projectId if not provided and we have one configured
153
+ const enrichedArgs = { ...args };
154
+ const params = enrichedArgs.params;
155
+ const hasProjectIdInParams = params && typeof params === "object" && "projectId" in params && params.projectId;
156
+ // Use session projectId (may have been set by switch_project or sync)
157
+ if (sessionProjectId && !enrichedArgs.projectId && !hasProjectIdInParams) {
158
+ enrichedArgs.projectId = sessionProjectId;
159
+ }
160
+ const res = await fetch(`${API_BASE}/mcp/execute`, {
161
+ method: "POST",
162
+ headers: {
163
+ Authorization: `Bearer ${API_KEY}`,
164
+ "Content-Type": "application/json",
165
+ },
166
+ body: JSON.stringify({ name, arguments: enrichedArgs }),
167
+ });
168
+ if (!res.ok) {
169
+ return {
170
+ content: [{ type: "text", text: `API error: ${res.status} ${res.statusText}` }],
171
+ isError: true,
172
+ };
173
+ }
174
+ const result = (await res.json());
175
+ // Update session state based on tool results
176
+ if (name === "switch_project" || name === "everstate_switch_project") {
177
+ const data = result.data || result.project;
178
+ if (data?.id) {
179
+ sessionProjectId = data.id;
180
+ console.error(`[Everstate] Session project set to: ${sessionProjectId}`);
181
+ }
182
+ }
183
+ else if (name === "sync" && enrichedArgs.projectId) {
184
+ sessionProjectId = enrichedArgs.projectId;
167
185
  console.error(`[Everstate] Session project set to: ${sessionProjectId}`);
168
186
  }
169
- }
170
- else if (name === 'sync' && enrichedArgs.projectId) {
171
- // sync with explicit projectId sets the session project
172
- sessionProjectId = enrichedArgs.projectId;
173
- console.error(`[Everstate] Session project set to: ${sessionProjectId}`);
174
- }
175
- return result;
176
- });
177
- // Start server
178
- async function main() {
187
+ return result;
188
+ });
179
189
  // Auto-detect default project before starting
180
190
  await detectDefaultProject();
181
- const transport = new stdio_js_1.StdioServerTransport();
191
+ const transport = new StdioServerTransport();
182
192
  await server.connect(transport);
183
193
  console.error("Everstate MCP Proxy connected to", API_BASE);
184
194
  }
185
- main().catch((error) => {
186
- console.error("Fatal error:", error);
187
- process.exit(1);
188
- });
189
195
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Everstate Setup Command
4
+ *
5
+ * Usage:
6
+ * npx @everstateai/mcp setup ck_YOUR_API_KEY
7
+ * npx @everstateai/mcp setup ck_YOUR_API_KEY --project-dir /path/to/project
8
+ */
9
+ export declare function runSetup(argv: string[]): Promise<void>;
10
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAmdH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuE5C"}