@transcend-io/mcp-server-assessment 0.3.19 → 0.4.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 +37 -11
- package/dist/cli.mjs +2 -1
- package/dist/cli.mjs.map +1 -1
- package/dist/graphql-DGk8vCRP.mjs +3204 -0
- package/dist/graphql-DGk8vCRP.mjs.map +1 -0
- package/dist/index.d.mts +32 -28
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/package.json +5 -3
- package/dist/graphql-DMh8AG9n.mjs +0 -1117
- package/dist/graphql-DMh8AG9n.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Transcend MCP Server for privacy assessments. Provides tools for creating, manag
|
|
|
6
6
|
|
|
7
7
|
Requires **Node.js ≥ 22.12** (see `engines` in `package.json`).
|
|
8
8
|
|
|
9
|
-
For local runs from this repository, copy [`secret.env.example`](../../../secret.env.example) to **`secret.env`** at the repo root (gitignored) and set
|
|
9
|
+
For local runs from this repository, copy [`secret.env.example`](../../../secret.env.example) to **`secret.env`** at the repo root (gitignored) and set the OAuth environment variables (see **Run from the monorepo**).
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -21,12 +21,31 @@ Or run from a checkout of this repository (see **Run from the monorepo** below).
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
# With
|
|
25
|
-
|
|
24
|
+
# With OAuth env vars in the environment; from the monorepo use secret.env (see Run from the monorepo)
|
|
25
|
+
TRANSCEND_OAUTH_CLIENT_ID=your-client-id \
|
|
26
|
+
TRANSCEND_OAUTH_CLIENT_SECRET=your-client-secret \
|
|
27
|
+
TRANSCEND_OAUTH_REDIRECT_PORT=your-client-redirect-port \
|
|
28
|
+
transcend-mcp-assessment
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
The process speaks MCP over **stdio** and is meant to be launched by an MCP client (for example Cursor or Claude Desktop), not used as an interactive shell.
|
|
29
32
|
|
|
33
|
+
### OAuth client setup
|
|
34
|
+
|
|
35
|
+
OAuth stdio is the recommended path for MCP clients (Cursor, Claude Desktop). Requires **org admin** access to create OAuth clients.
|
|
36
|
+
|
|
37
|
+
1. Navigate to [app.transcend.com/admin/oauth-clients](https://app.transcend.com/admin/oauth-clients) and create an OAuth client.
|
|
38
|
+
2. Copy the **client ID** and **client secret**.
|
|
39
|
+
3. Register `http://127.0.0.1:{port}/callback` — use **`127.0.0.1`, not `localhost`**, and ensure the path is `/callback`. Set `TRANSCEND_OAUTH_REDIRECT_PORT` to the matching port.
|
|
40
|
+
|
|
41
|
+
At startup the server verifies client ID, secret, and redirect URI. On first tool call it opens a browser for login. Tokens are session-only (in-memory).
|
|
42
|
+
|
|
43
|
+
**OAuth scopes:** `ViewAssessments`, `ViewAssignedAssessments`, `ManageAssessments`, `ManageAssignedAssessments`. The signed-in user must hold these permissions. See [`src/scopes.ts`](./src/scopes.ts).
|
|
44
|
+
|
|
45
|
+
Full setup, troubleshooting, and multi-server guidance: [MCP root README](../README.md#oauth-client-setup).
|
|
46
|
+
|
|
47
|
+
> **API key alternative:** set `TRANSCEND_API_KEY` instead of OAuth vars for stdio (OAuth is disabled when both are set).
|
|
48
|
+
|
|
30
49
|
### MCP client configuration
|
|
31
50
|
|
|
32
51
|
`npx` runs the package’s `transcend-mcp-assessment` binary (see `bin` in `package.json`).
|
|
@@ -38,7 +57,9 @@ The process speaks MCP over **stdio** and is meant to be launched by an MCP clie
|
|
|
38
57
|
"command": "npx",
|
|
39
58
|
"args": ["-y", "@transcend-io/mcp-server-assessment"],
|
|
40
59
|
"env": {
|
|
41
|
-
"
|
|
60
|
+
"TRANSCEND_OAUTH_CLIENT_ID": "your-client-id",
|
|
61
|
+
"TRANSCEND_OAUTH_CLIENT_SECRET": "your-client-secret",
|
|
62
|
+
"TRANSCEND_OAUTH_REDIRECT_PORT": "your-client-redirect-port"
|
|
42
63
|
}
|
|
43
64
|
}
|
|
44
65
|
}
|
|
@@ -49,7 +70,7 @@ When developing in this repository, reuse the same variable names from root **`s
|
|
|
49
70
|
|
|
50
71
|
### Run from the monorepo
|
|
51
72
|
|
|
52
|
-
1. **Credentials** — From the repository root, copy [`secret.env.example`](../../../secret.env.example) to **`secret.env`** and set `
|
|
73
|
+
1. **Credentials** — From the repository root, copy [`secret.env.example`](../../../secret.env.example) to **`secret.env`** and set `TRANSCEND_OAUTH_CLIENT_ID`, `TRANSCEND_OAUTH_CLIENT_SECRET`, and `TRANSCEND_OAUTH_REDIRECT_PORT` (and optional URL overrides).
|
|
53
74
|
|
|
54
75
|
2. **Build and run** — `node ./dist/cli.mjs` matches the `transcend-mcp-assessment` `bin` (use `node` because `pnpm exec transcend-mcp-assessment` may not resolve this package’s own binary in a pnpm workspace):
|
|
55
76
|
|
|
@@ -66,12 +87,17 @@ See [CONTRIBUTING.md](../../../CONTRIBUTING.md#mcp-servers) for workspace layout
|
|
|
66
87
|
|
|
67
88
|
### Environment variables
|
|
68
89
|
|
|
69
|
-
| Variable
|
|
70
|
-
|
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
| `
|
|
90
|
+
| Variable | Required (stdio OAuth) | Default | Description |
|
|
91
|
+
| ------------------------------- | ---------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
92
|
+
| `TRANSCEND_OAUTH_CLIENT_ID` | Yes | — | Client ID from [app.transcend.com/admin/oauth-clients](https://app.transcend.com/admin/oauth-clients) |
|
|
93
|
+
| `TRANSCEND_OAUTH_CLIENT_SECRET` | Yes | — | Client secret from the same OAuth clients page |
|
|
94
|
+
| `TRANSCEND_OAUTH_REDIRECT_PORT` | Yes | — | Localhost port for the OAuth callback server; **must match the port in your registered redirect URI** |
|
|
95
|
+
| `TRANSCEND_OAUTH_REDIRECT_HOST` | No | `127.0.0.1` | Loopback host for the OAuth callback (`127.0.0.1` or `::1` for `http://[::1]:{port}/callback`) |
|
|
96
|
+
| `TRANSCEND_OAUTH_ISSUER` | No | auto-detected | OAuth issuer URL; production auto-detects region. Test-only override |
|
|
97
|
+
| `TRANSCEND_API_KEY` | No | — | API key for stdio (alternative to OAuth). Disables OAuth when set alongside client ID |
|
|
98
|
+
| `TRANSCEND_API_URL` | No | `https://api.transcend.io` | GraphQL backend API URL (matches CLI convention) |
|
|
99
|
+
| `SOMBRA_URL` | No | `https://multi-tenant.sombra.transcend.io` | Sombra REST API URL (matches CLI / SDK convention) |
|
|
100
|
+
| `TRANSCEND_DASHBOARD_URL` | No | `https://app.transcend.io` | Override the admin-dashboard base URL used for deep links returned by tool responses. Intended for local development against staging / fake hosts |
|
|
75
101
|
|
|
76
102
|
**Monorepo:** keep these in root **`secret.env`** (from [`secret.env.example`](../../../secret.env.example)); see **Run from the monorepo**.
|
|
77
103
|
|
package/dist/cli.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as getAssessmentTools, t as AssessmentsMixin } from "./graphql-
|
|
2
|
+
import { n as ASSESSMENT_OAUTH_SCOPES, r as getAssessmentTools, t as AssessmentsMixin } from "./graphql-DGk8vCRP.mjs";
|
|
3
3
|
import { TranscendRestClient, createMCPServer } from "@transcend-io/mcp-server-base";
|
|
4
4
|
//#region src/cli.ts
|
|
5
5
|
createMCPServer({
|
|
6
6
|
name: "transcend-mcp-assessment",
|
|
7
7
|
version: "1.0.0",
|
|
8
|
+
oauthScopes: ASSESSMENT_OAUTH_SCOPES,
|
|
8
9
|
getTools: getAssessmentTools,
|
|
9
10
|
createClients: ({ auth, sombraUrl, graphqlUrl, dashboardUrl }) => ({
|
|
10
11
|
rest: new TranscendRestClient(auth, sombraUrl),
|
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { createMCPServer, TranscendRestClient } from '@transcend-io/mcp-server-base';\n\nimport { AssessmentsMixin } from './graphql.js';\nimport { getAssessmentTools } from './tools/index.js';\n\ncreateMCPServer({\n name: 'transcend-mcp-assessment',\n version: '1.0.0',\n getTools: getAssessmentTools,\n createClients: ({ auth, sombraUrl, graphqlUrl, dashboardUrl }) => ({\n rest: new TranscendRestClient(auth, sombraUrl),\n graphql: new AssessmentsMixin(auth, graphqlUrl),\n dashboardUrl,\n }),\n});\n"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"cli.mjs","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { createMCPServer, TranscendRestClient } from '@transcend-io/mcp-server-base';\n\nimport { AssessmentsMixin } from './graphql.js';\nimport { ASSESSMENT_OAUTH_SCOPES } from './scopes.js';\nimport { getAssessmentTools } from './tools/index.js';\n\ncreateMCPServer({\n name: 'transcend-mcp-assessment',\n version: '1.0.0',\n oauthScopes: ASSESSMENT_OAUTH_SCOPES,\n getTools: getAssessmentTools,\n createClients: ({ auth, sombraUrl, graphqlUrl, dashboardUrl }) => ({\n rest: new TranscendRestClient(auth, sombraUrl),\n graphql: new AssessmentsMixin(auth, graphqlUrl),\n dashboardUrl,\n }),\n});\n"],"mappings":";;;;AAOA,gBAAgB;CACd,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;CACV,gBAAgB,EAAE,MAAM,WAAW,YAAY,oBAAoB;EACjE,MAAM,IAAI,oBAAoB,MAAM,UAAU;EAC9C,SAAS,IAAI,iBAAiB,MAAM,WAAW;EAC/C;EACD;CACF,CAAC"}
|