airweave-mcp-search 0.6.48 โ†’ 0.6.49

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
@@ -14,23 +14,43 @@ An MCP (Model Context Protocol) server that provides comprehensive search capabi
14
14
  - ๐Ÿงช **Comprehensive Testing**: Full test suite with LLM testing strategy
15
15
  - ๐Ÿ—๏ธ **Simple Architecture**: Clean, maintainable code structure without over-engineering
16
16
 
17
- ## Quick Start
17
+ ## Deployment Modes
18
+
19
+ This MCP server supports two deployment modes:
20
+
21
+ ### 1. Local Mode (Desktop AI Clients)
22
+
23
+ For **Claude Desktop, Cursor, and other desktop AI assistants**:
24
+ - Uses stdio transport (standard input/output)
25
+ - Runs as a subprocess on the user's machine
26
+ - Installed via npm package
27
+
28
+ ### 2. Hosted Mode (Cloud AI Platforms)
29
+
30
+ For **OpenAI AgentBuilder and cloud-based AI platforms**:
31
+ - Uses HTTP/SSE transport (Server-Sent Events)
32
+ - Deployed to Azure Kubernetes Service
33
+ - Accessible via `https://mcp.airweave.ai`
34
+
35
+ See [DEPLOYMENT.md](./DEPLOYMENT.md) for detailed hosting instructions.
36
+
37
+ ## Quick Start (Local Mode)
18
38
 
19
39
  ### Installation from npm
20
40
 
21
- The easiest way to use this server is via npx:
41
+ The easiest way to use this server locally is via npx:
22
42
 
23
43
  ```bash
24
44
  npx airweave-mcp-search
25
45
  ```
26
46
 
27
- ### Installation from GitHub
28
- THIS IS NOT CORRECT, THE MCP IS NOT A SEPARATE REPO YET
29
-
30
- You can also install directly from the GitHub repository:
47
+ ### Installation from Source
31
48
 
32
49
  ```bash
33
- npm install -g https://github.com/your-org/airweave-mcp-search.git
50
+ cd mcp
51
+ npm install
52
+ npm run build
53
+ npm run start
34
54
  ```
35
55
 
36
56
  ## Configuration
@@ -251,27 +271,51 @@ npm install
251
271
  npm run build
252
272
  ```
253
273
 
254
- 4. Run locally:
274
+ 4. Run locally (stdio mode):
255
275
  ```bash
256
276
  AIRWEAVE_API_KEY=your-key AIRWEAVE_COLLECTION=your-collection npm run start
257
277
  ```
258
278
 
279
+ 5. Run locally (HTTP mode):
280
+ ```bash
281
+ AIRWEAVE_API_KEY=your-key AIRWEAVE_COLLECTION=your-collection npm run start:http
282
+ ```
283
+
259
284
  ### Development Workflow
260
285
 
261
286
  ```bash
262
- # Build and run
287
+ # Build and run (stdio mode for desktop clients)
263
288
  npm run dev
264
289
 
290
+ # Build and run (HTTP mode for testing cloud deployment)
291
+ npm run dev:http
292
+
265
293
  # Build only
266
294
  npm run build
267
295
 
268
- # Run built version
296
+ # Run stdio version
269
297
  npm run start
270
298
 
299
+ # Run HTTP version
300
+ npm run start:http
301
+
271
302
  # Run tests
272
303
  npm test
273
304
  ```
274
305
 
306
+ ### Testing HTTP Mode Locally
307
+
308
+ ```bash
309
+ # Start HTTP server
310
+ AIRWEAVE_API_KEY=your-key AIRWEAVE_COLLECTION=your-collection npm run start:http
311
+
312
+ # In another terminal, test health endpoint
313
+ curl http://localhost:8080/health
314
+
315
+ # Test SSE endpoint
316
+ curl http://localhost:8080/sse
317
+ ```
318
+
275
319
  ## Error Handling
276
320
 
277
321
  The server provides detailed error messages for common issues:
@@ -319,6 +363,31 @@ For debugging, you can check the stderr output where the server logs its startup
319
363
  # "Base URL: https://api.airweave.ai"
320
364
  ```
321
365
 
366
+ ## Deployment to Production
367
+
368
+ For hosting the MCP server for cloud-based AI platforms:
369
+
370
+ 1. **See [DEPLOYMENT.md](./DEPLOYMENT.md)** for comprehensive deployment guide
371
+ 2. **Docker**: Uses provided Dockerfile for containerization
372
+ 3. **Kubernetes**: Helm charts available in `/infra-core/helm/airweave/`
373
+ 4. **Hosted URLs**:
374
+ - Development: `https://mcp.dev-airweave.com`
375
+ - Production: `https://mcp.airweave.ai`
376
+
377
+ Quick deployment:
378
+ ```bash
379
+ # Build Docker image
380
+ docker build -t airweavecoreacr.azurecr.io/mcp:v1.0.0 .
381
+
382
+ # Push to Azure Container Registry
383
+ az acr login --name airweavecoreacr
384
+ docker push airweavecoreacr.azurecr.io/mcp:v1.0.0
385
+
386
+ # Deploy with Helm
387
+ cd /infra-core
388
+ ./helm-upgrade.sh prd v1.0.0 airweave true
389
+ ```
390
+
322
391
  ## License
323
392
 
324
393
  MIT License - see LICENSE file for details.
@@ -327,5 +396,6 @@ MIT License - see LICENSE file for details.
327
396
 
328
397
  For issues and questions:
329
398
  - Check the [Airweave documentation](https://docs.airweave.ai)
399
+ - See [DEPLOYMENT.md](./DEPLOYMENT.md) for deployment issues
330
400
  - Open an issue on GitHub
331
401
  - Contact your Airweave administrator for API key and access issues
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-http.d.ts","sourceRoot":"","sources":["../src/index-http.ts"],"names":[],"mappings":""}
@@ -0,0 +1,113 @@
1
+ #!/usr/bin/env node
2
+ // HTTP/SSE entry point for the Airweave MCP Search Server
3
+ // This version is designed to be deployed as a service for cloud-based AI assistants
4
+ import express from "express";
5
+ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
6
+ import { createMcpServer, validateHttpEnvironment } from "./server.js";
7
+ // Validate environment variables and get configuration
8
+ // Note: API key comes from client, not server environment
9
+ const config = validateHttpEnvironment();
10
+ // Get port from environment or default to 8080
11
+ const PORT = process.env.PORT || 8080;
12
+ // Create Express app
13
+ const app = express();
14
+ // Health check endpoint
15
+ app.get("/health", (_req, res) => {
16
+ res.json({
17
+ status: "healthy",
18
+ collection: config.collection,
19
+ baseUrl: config.baseUrl,
20
+ timestamp: new Date().toISOString(),
21
+ });
22
+ });
23
+ // Root endpoint with server info
24
+ app.get("/", (_req, res) => {
25
+ res.json({
26
+ name: "Airweave MCP Search Server",
27
+ version: "2.1.0",
28
+ collection: config.collection,
29
+ transport: "SSE",
30
+ endpoints: {
31
+ health: "/health",
32
+ sse: "/sse",
33
+ },
34
+ authentication: {
35
+ required: true,
36
+ methods: [
37
+ "Authorization: Bearer <your-api-key> (recommended for OpenAI Agent Builder)",
38
+ "X-API-Key: <your-api-key>",
39
+ "Query parameter: ?apiKey=your-key",
40
+ "Query parameter: ?api_key=your-key"
41
+ ],
42
+ openai_agent_builder: {
43
+ url: "https://mcp.dev-airweave.com/sse",
44
+ headers: {
45
+ Authorization: "Bearer <your-airweave-api-key>"
46
+ }
47
+ },
48
+ instructions: "Provide your Airweave API key using one of the methods above when connecting to /sse"
49
+ },
50
+ });
51
+ });
52
+ // SSE endpoint for MCP protocol
53
+ app.get("/sse", async (req, res) => {
54
+ console.error(`[${new Date().toISOString()}] New SSE connection from ${req.ip}`);
55
+ // Extract API key from request headers or query parameters
56
+ const apiKey = req.headers['x-api-key'] ||
57
+ req.headers['authorization']?.replace('Bearer ', '') ||
58
+ req.query.apiKey ||
59
+ req.query.api_key;
60
+ if (!apiKey) {
61
+ console.error(`[${new Date().toISOString()}] Missing API key in SSE request`);
62
+ res.status(401).json({
63
+ error: "Authentication required",
64
+ message: "Please provide an API key via X-API-Key header, Authorization header, or apiKey query parameter"
65
+ });
66
+ return;
67
+ }
68
+ // Create full config with client's API key
69
+ const fullConfig = {
70
+ ...config,
71
+ apiKey
72
+ };
73
+ // Create a new MCP server instance for this connection
74
+ const server = createMcpServer(fullConfig);
75
+ // Create SSE transport
76
+ const transport = new SSEServerTransport("/message", res);
77
+ // Connect server to transport
78
+ await server.connect(transport);
79
+ console.error(`[${new Date().toISOString()}] MCP server connected via SSE`);
80
+ // Handle connection close
81
+ req.on("close", () => {
82
+ console.error(`[${new Date().toISOString()}] SSE connection closed`);
83
+ });
84
+ });
85
+ // POST endpoint for client messages (required by SSE transport)
86
+ app.post("/message", express.json(), async (req, res) => {
87
+ // The SSE transport handles this internally
88
+ // This endpoint is registered but the actual handling is done by the transport
89
+ res.status(200).send();
90
+ });
91
+ // Error handling middleware
92
+ app.use((err, _req, res, _next) => {
93
+ console.error("Server error:", err);
94
+ res.status(500).json({ error: "Internal server error" });
95
+ });
96
+ // Start the server
97
+ app.listen(PORT, () => {
98
+ console.error(`Airweave MCP Search Server (HTTP/SSE) started`);
99
+ console.error(`Collection: ${config.collection}`);
100
+ console.error(`Base URL: ${config.baseUrl}`);
101
+ console.error(`Listening on port: ${PORT}`);
102
+ console.error(`SSE endpoint: http://localhost:${PORT}/sse`);
103
+ });
104
+ // Handle graceful shutdown
105
+ process.on("SIGINT", () => {
106
+ console.error("Shutting down Airweave MCP HTTP server...");
107
+ process.exit(0);
108
+ });
109
+ process.on("SIGTERM", () => {
110
+ console.error("Shutting down Airweave MCP HTTP server...");
111
+ process.exit(0);
112
+ });
113
+ //# sourceMappingURL=index-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-http.js","sourceRoot":"","sources":["../src/index-http.ts"],"names":[],"mappings":"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"}
package/build/server.d.ts CHANGED
@@ -2,4 +2,5 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { AirweaveConfig } from "./api/types.js";
3
3
  export declare function createMcpServer(config: AirweaveConfig): McpServer;
4
4
  export declare function validateEnvironment(): AirweaveConfig;
5
+ export declare function validateHttpEnvironment(): Omit<AirweaveConfig, 'apiKey'>;
5
6
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,aAoCrD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAgBpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,aAoCrD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAgBpD;AAGD,wBAAgB,uBAAuB,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAUxE"}
package/build/server.js CHANGED
@@ -39,4 +39,14 @@ export function validateEnvironment() {
39
39
  }
40
40
  return { apiKey, collection, baseUrl };
41
41
  }
42
+ // Validate environment for HTTP/SSE server (API key comes from client, not environment)
43
+ export function validateHttpEnvironment() {
44
+ const collection = process.env.AIRWEAVE_COLLECTION;
45
+ const baseUrl = process.env.AIRWEAVE_BASE_URL || DEFAULT_BASE_URL;
46
+ if (!collection) {
47
+ console.error(ERROR_MESSAGES.MISSING_COLLECTION);
48
+ process.exit(1);
49
+ }
50
+ return { collection, baseUrl };
51
+ }
42
52
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,UAAU,eAAe,CAAC,MAAsB;IAClD,6BAA6B;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO,EAAE,kDAAkD;QACpE,YAAY,EAAE;YACV,KAAK,EAAE,EAAE;SACZ;KACJ,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/C,6BAA6B;IAC7B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAElD,eAAe;IACf,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhG,iBAAiB;IACjB,MAAM,CAAC,IAAI,CACP,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACrB,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACrB,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;IAElE,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,UAAU,eAAe,CAAC,MAAsB;IAClD,6BAA6B;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO,EAAE,kDAAkD;QACpE,YAAY,EAAE;YACV,KAAK,EAAE,EAAE;SACZ;KACJ,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/C,6BAA6B;IAC7B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAElD,eAAe;IACf,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhG,iBAAiB;IACjB,MAAM,CAAC,IAAI,CACP,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACrB,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACrB,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;IAElE,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,uBAAuB;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;IAElE,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "airweave-mcp-search",
3
- "version": "0.6.48",
3
+ "version": "0.6.49",
4
4
  "description": "MCP server for searching Airweave collections",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
@@ -10,7 +10,9 @@
10
10
  "scripts": {
11
11
  "build": "tsc && chmod 755 build/index.js",
12
12
  "start": "node build/index.js",
13
+ "start:http": "node build/index-http.js",
13
14
  "dev": "npm run build && npm run start",
15
+ "dev:http": "npm run build && npm run start:http",
14
16
  "test": "vitest run",
15
17
  "test:watch": "vitest",
16
18
  "test:coverage": "vitest run --coverage",
@@ -46,9 +48,11 @@
46
48
  "dependencies": {
47
49
  "@airweave/sdk": "^0.5.4",
48
50
  "@modelcontextprotocol/sdk": "^1.12.0",
51
+ "express": "^4.18.2",
49
52
  "zod": "^3.23.8"
50
53
  },
51
54
  "devDependencies": {
55
+ "@types/express": "^4.17.21",
52
56
  "@types/node": "^22.10.7",
53
57
  "@vitest/coverage-v8": "^2.0.0",
54
58
  "typescript": "^5.7.3",