@ascenda-one/agent-mcp 0.1.3 → 0.1.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/README.md +50 -19
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,44 +28,75 @@ Agent (Claude Code / Cursor / other MCP host)
|
|
|
28
28
|
|
|
29
29
|
Reuses the same pairing model as the hooks and IDE extensions — same `toolInstallationId` + `eventWriteToken`, same token file convention — but **does not mint its own tool type**. See `src/config.ts`: this process is host-agnostic (the same binary runs under Claude Code or Cursor), so it refuses to guess a prefix the way `ascenda-claude-hook`/`ascenda-codex-hook` do. Passing an id that already contains `:` (i.e. the exact value your existing pairing shows) reuses that pairing's token file; a bare id is rejected rather than silently minting a second, unpaired tool identity.
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Install
|
|
32
32
|
|
|
33
|
-
###
|
|
34
|
-
|
|
35
|
-
- Node.js **20+**
|
|
36
|
-
- A paired Ascenda `toolInstallationId` + `eventWriteToken` — pair first via the Claude Code hooks, Cursor extension, or [pairing-sim `e2e`](../ascenda-pairing-sim/), then reuse that pairing here.
|
|
37
|
-
- The paired lease must include the `semantic_work_signals` consent scope. `ide_telemetry` alone does not cover these six event types (see the Tool Pairing API Reference).
|
|
33
|
+
### Recommended: the Claude Code plugin
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
This server ships inside the Ascenda plugin, already configured — no `.mcp.json`
|
|
36
|
+
to write:
|
|
40
37
|
|
|
41
38
|
```bash
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
npm run build:shared
|
|
45
|
-
cd ascenda-agent-mcp
|
|
46
|
-
npm run build
|
|
39
|
+
claude plugin marketplace add ascendaone-com/ai-engineer-tools
|
|
40
|
+
claude plugin install ascenda@ascenda-one
|
|
47
41
|
```
|
|
48
42
|
|
|
49
|
-
|
|
43
|
+
The plugin also brings the skill that decides *when* to call this tool, which
|
|
44
|
+
is the half that makes it useful — see [What calls this tool](#what-calls-this-tool).
|
|
45
|
+
|
|
46
|
+
### Alternative: configure the MCP server yourself
|
|
50
47
|
|
|
51
|
-
|
|
48
|
+
For Cursor, or Claude Code without the plugin, add to your MCP config — see
|
|
49
|
+
[`examples/mcp.json`](./examples/mcp.json):
|
|
52
50
|
|
|
53
51
|
```json
|
|
54
52
|
{
|
|
55
53
|
"mcpServers": {
|
|
56
54
|
"ascenda-agent": {
|
|
57
|
-
"command": "
|
|
58
|
-
"args": ["
|
|
55
|
+
"command": "npx",
|
|
56
|
+
"args": ["-y", "@ascenda-one/agent-mcp"],
|
|
59
57
|
"env": {
|
|
60
|
-
"ASCENDA_TOOL_INSTALLATION_ID": "claude_code:abc123"
|
|
61
|
-
"ASCENDA_API_BASE_URL": "https://api.ascenda.one"
|
|
58
|
+
"ASCENDA_TOOL_INSTALLATION_ID": "claude_code:abc123"
|
|
62
59
|
}
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
63
|
```
|
|
67
64
|
|
|
68
|
-
|
|
65
|
+
`ASCENDA_API_BASE_URL` is optional — it defaults to `https://api.ascenda.one`.
|
|
66
|
+
Set it only to point at a development backend.
|
|
67
|
+
|
|
68
|
+
### Prerequisites
|
|
69
|
+
|
|
70
|
+
- Node.js **20+**
|
|
71
|
+
- A paired Ascenda `toolInstallationId` + `eventWriteToken` — pair first via the
|
|
72
|
+
Claude Code hooks, the VS Code/Cursor extension, or
|
|
73
|
+
[pairing-sim `e2e`](../ascenda-pairing-sim/), then reuse that pairing here.
|
|
74
|
+
- The paired lease must include the `semantic_work_signals` consent scope.
|
|
75
|
+
`ide_telemetry` alone does not cover these six event types (see the Tool
|
|
76
|
+
Pairing API Reference).
|
|
77
|
+
|
|
78
|
+
Use the **exact** `toolInstallationId` your existing pairing already shows — it
|
|
79
|
+
contains a `:`. A bare id is rejected rather than guessed, because minting a
|
|
80
|
+
prefix here would pair this process as a *third* tool even when the same
|
|
81
|
+
machine already paired through a hook or the extension. `ASCENDA_EVENT_WRITE_TOKEN`
|
|
82
|
+
is read from the token file that pairing already wrote (`~/.ascenda/tokens/…`);
|
|
83
|
+
set it directly only if you have no prior pairing to reuse.
|
|
84
|
+
|
|
85
|
+
## Build from source
|
|
86
|
+
|
|
87
|
+
Not needed to use this — both routes above run the published package. It is
|
|
88
|
+
here so you can verify what executes.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# from the repo root
|
|
92
|
+
npm install
|
|
93
|
+
npm run build:shared
|
|
94
|
+
cd ascenda-agent-mcp
|
|
95
|
+
npm run build
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Then point your MCP config at the build instead of npm:
|
|
99
|
+
`"command": "node", "args": ["/absolute/path/to/ascenda-agent-mcp/dist/cli.js"]`.
|
|
69
100
|
|
|
70
101
|
## What calls this tool
|
|
71
102
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"publishConfig": { "access": "public" },
|
|
3
3
|
"name": "@ascenda-one/agent-mcp",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5",
|
|
5
5
|
"description": "MCP server exposing ascenda_emit_work_signal — the one submission interface for agent-observed (semantic) work-friction signals.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|