@gloriginmind/mcp 0.1.2 → 0.1.4

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,6 +1,6 @@
1
1
  # OriginMind MCP
2
2
 
3
- MCP server for OriginMind dual-auth skill routes. Auth is the same Bootstrap OAuth path as skills (`ORIGINMIND_API_KEY` → `~/.originmind/.env`). No MCP-specific OAuth.
3
+ MCP server for OriginMind dual-auth skill routes. Auth is the same Bootstrap OAuth path as skills (`ORIGINMIND_API_KEY`). No MCP-specific OAuth.
4
4
 
5
5
  ## Prerequisites
6
6
 
@@ -8,32 +8,30 @@ MCP server for OriginMind dual-auth skill routes. Auth is the same Bootstrap OAu
8
8
  . ./skills/create/scripts/setup-oauth.ps1
9
9
  ```
10
10
 
11
- Key lands in `~/.originmind/.env`. Do **not** paste it into `mcp.json`.
11
+ Key lands in `~/.originmind/.env`. Expose it to Cursor via OS/user env or Cursor settings — do **not** paste into committed `mcp.json`.
12
12
 
13
- ## Cursor — preferred (HTTP URL)
14
-
15
- Run the HTTP server once (separate terminal / service):
16
-
17
- ```powershell
18
- npx -y -p @gloriginmind/mcp originmind-mcp-http
19
- # or local: node path/to/skills/mcp/dist/http.js
20
- ```
21
-
22
- Defaults: `http://127.0.0.1:3920/mcp` (`ORIGINMIND_MCP_PORT`, `ORIGINMIND_MCP_HOST`).
23
-
24
- Cursor `mcp.json`:
13
+ ## Cursor — preferred (hosted HTTP)
25
14
 
26
15
  ```json
27
16
  {
28
17
  "mcpServers": {
29
18
  "originmind": {
30
- "url": "http://127.0.0.1:3920/mcp"
19
+ "url": "https://api.originmind.ai/mcp",
20
+ "headers": {
21
+ "X-OriAI-Api-Key": "${env:ORIGINMIND_API_KEY}"
22
+ }
31
23
  }
32
24
  }
33
25
  }
34
26
  ```
35
27
 
36
- The HTTP process reads `ORIGINMIND_API_KEY` from the machine env / `~/.originmind/.env`. Optional override via headers:
28
+ Bearer JWT also works: `"Authorization": "Bearer ${env:SUPABASE_ACCESS_TOKEN}"` (or your session token).
29
+
30
+ Health: `GET https://api.originmind.ai/mcp/health`
31
+
32
+ ## Local fallbacks
33
+
34
+ **Local HTTP** (orchestrator `npm run dev`, or package HTTP entry):
37
35
 
38
36
  ```json
39
37
  {
@@ -48,11 +46,9 @@ The HTTP process reads `ORIGINMIND_API_KEY` from the machine env / `~/.originmin
48
46
  }
49
47
  ```
50
48
 
51
- Hosted production URL (e.g. on `api.originmind.ai`) is not shipped yet local HTTP first.
49
+ Package HTTP server: `npx -y -p @gloriginmind/mcp originmind-mcp-http` (port `ORIGINMIND_MCP_PORT`, default 3920). When using orchestrator locally, MCP is at the same host as the API (e.g. `http://127.0.0.1:<port>/mcp`).
52
50
 
53
- ## Cursor — stdio (alternative)
54
-
55
- Avoids a long-running process; `npx` can be slow on some networks:
51
+ **stdio:**
56
52
 
57
53
  ```json
58
54
  {
@@ -66,24 +62,23 @@ Avoids a long-running process; `npx` can be slow on some networks:
66
62
  }
67
63
  ```
68
64
 
69
- Or `npx -y @gloriginmind/mcp` (pulls latest; first connect may be slow).
65
+ Or `npx -y @gloriginmind/mcp` (first connect may be slow on some networks).
70
66
 
71
67
  ## Transports
72
68
 
73
69
  | Transport | Entry | Use |
74
70
  |-----------|-------|-----|
75
- | **HTTP** | `originmind-mcp-http` / `dist/http.js` | Cursor `url`, LiveKit `MCPServerHTTP` |
71
+ | **Hosted HTTP** | `https://api.originmind.ai/mcp` | Cursor `url` (primary) |
72
+ | **Package HTTP** | `originmind-mcp-http` / `dist/http.js` | Local / LiveKit |
76
73
  | **stdio** | `mcp` / `originmind-mcp` / `dist/stdio.js` | Cursor command |
77
74
 
78
- Health: `GET /health`.
79
-
80
75
  ### LiveKit (documented, not wired this pass)
81
76
 
82
77
  ```python
83
78
  from livekit.agents import mcp
84
79
 
85
80
  mcp.MCPServerHTTP(
86
- url=f"http://127.0.0.1:{port}/mcp",
81
+ url="https://api.originmind.ai/mcp",
87
82
  headers={"Authorization": f"Bearer {jwt}"},
88
83
  )
89
84
  ```
@@ -97,6 +92,14 @@ mcp.MCPServerHTTP(
97
92
 
98
93
  Notion tools are **not** exposed (parked).
99
94
 
95
+ ## Package exports
96
+
97
+ ```ts
98
+ import { createServer } from "@gloriginmind/mcp/server";
99
+ ```
100
+
101
+ Used by the orchestrator to host `/mcp`. Server metadata includes OriginMind icons from `https://app.originmind.ai/icon-128.png` (plus 96 / 512).
102
+
100
103
  ## Dev
101
104
 
102
105
  ```bash
package/dist/tools.d.ts CHANGED
@@ -5,6 +5,8 @@ export type ToolAuthContext = {
5
5
  getAuthorizationHeader?: () => string | null | undefined;
6
6
  /** Per-request X-OriAI-Api-Key (HTTP / Cursor headers). */
7
7
  getApiKeyHeader?: () => string | null | undefined;
8
+ /** Override API base URL (orchestrator self-call / local). */
9
+ baseUrl?: string;
8
10
  };
9
11
  /** Zod shapes exported for unit tests. */
10
12
  export declare const toolSchemas: {
package/dist/tools.js CHANGED
@@ -16,7 +16,7 @@ function clientFor(ctx) {
16
16
  });
17
17
  if ("error" in auth)
18
18
  return { error: MISSING_KEY_MESSAGE };
19
- return new OriginMindClient(auth);
19
+ return new OriginMindClient(auth, ctx.baseUrl);
20
20
  }
21
21
  async function runTool(ctx, fn) {
22
22
  const client = clientFor(ctx);
@@ -106,7 +106,26 @@ export const toolSchemas = {
106
106
  export function createServer(authCtx = {}) {
107
107
  const server = new McpServer({
108
108
  name: "originmind",
109
- version: "0.1.0",
109
+ title: "OriginMind",
110
+ version: "0.1.4",
111
+ websiteUrl: "https://app.originmind.ai",
112
+ icons: [
113
+ {
114
+ src: "https://app.originmind.ai/icon-128.png",
115
+ mimeType: "image/png",
116
+ sizes: ["128x128"],
117
+ },
118
+ {
119
+ src: "https://app.originmind.ai/icon-96.png",
120
+ mimeType: "image/png",
121
+ sizes: ["96x96"],
122
+ },
123
+ {
124
+ src: "https://app.originmind.ai/2505_OM_logo_Icon_512.png",
125
+ mimeType: "image/png",
126
+ sizes: ["512x512"],
127
+ },
128
+ ],
110
129
  });
111
130
  server.tool("list_projects", "List OriginMind projects for the authenticated user (GET /api/v1/projects).", toolSchemas.list_projects.shape, async () => runTool(authCtx, (c) => c.get("/api/v1/projects")));
112
131
  server.tool("search_creative_dna", "Search Creative DNA for a project (POST /api/v1/projects/{id}/query).", toolSchemas.search_creative_dna.shape, async (args) => runTool(authCtx, (c) => c.post(`/api/v1/projects/${encodeURIComponent(args.project_id)}/query`, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gloriginmind/mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "OriginMind MCP server — dual-auth skill routes via Bootstrap OAuth API key",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,6 +9,21 @@
9
9
  "originmind-mcp-http": "dist/http.js"
10
10
  },
11
11
  "main": "./dist/stdio.js",
12
+ "exports": {
13
+ ".": "./dist/stdio.js",
14
+ "./server": {
15
+ "types": "./dist/tools.d.ts",
16
+ "import": "./dist/tools.js"
17
+ },
18
+ "./auth": {
19
+ "types": "./dist/auth.d.ts",
20
+ "import": "./dist/auth.js"
21
+ },
22
+ "./client": {
23
+ "types": "./dist/client.d.ts",
24
+ "import": "./dist/client.js"
25
+ }
26
+ },
12
27
  "files": [
13
28
  "dist",
14
29
  "README.md"