hyper-pm-mcp 0.1.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 +57 -0
- package/dist/main.mjs +21251 -0
- package/env.example +4 -0
- package/package.json +42 -0
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# hyper-pm-mcp
|
|
2
|
+
|
|
3
|
+
stdio [Model Context Protocol](https://modelcontextprotocol.io) server that exposes the [`hyper-pm`](../hyper-pm) CLI to MCP hosts (for example Cursor or Claude Desktop).
|
|
4
|
+
|
|
5
|
+
## Publishing to npm
|
|
6
|
+
|
|
7
|
+
Publish **`hyper-pm` first**, then this package. Use **`pnpm publish`** from each app directory (or `--filter`) so pnpm rewrites the `workspace:^` range on `hyper-pm` to a real semver in the published manifest. Plain `npm publish` can leave `workspace:` specifiers intact and produce an uninstallable tarball.
|
|
8
|
+
|
|
9
|
+
## Security
|
|
10
|
+
|
|
11
|
+
The `hyper_pm_run` tool runs **the same hyper-pm process** you would run locally with the given arguments. Only enable this server in MCP configurations you trust.
|
|
12
|
+
|
|
13
|
+
## Build order
|
|
14
|
+
|
|
15
|
+
From the monorepo root:
|
|
16
|
+
|
|
17
|
+
1. Build the CLI bundle: `pnpm --filter hyper-pm build`
|
|
18
|
+
2. Build this server: `pnpm --filter hyper-pm-mcp build`
|
|
19
|
+
|
|
20
|
+
The server resolves the CLI at `hyper-pm/dist/main.cjs` via `require.resolve("hyper-pm")` (published packages use `dist/index.cjs` as the package entry; see `@workspace/hyper-pm-cli-runner`). Ensure `hyper-pm` is built so `dist/main.cjs` exists before starting the MCP server.
|
|
21
|
+
|
|
22
|
+
## Environment
|
|
23
|
+
|
|
24
|
+
Optional variables are documented in [env.example](./env.example) and parsed through `@workspace/env`. Notable:
|
|
25
|
+
|
|
26
|
+
- **`HYPER_PM_CLI_PATH`**: absolute path to `main.cjs` when resolution from the workspace package is not sufficient.
|
|
27
|
+
|
|
28
|
+
## Cursor MCP example
|
|
29
|
+
|
|
30
|
+
After building, point the host at the bundled ESM entry:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"mcpServers": {
|
|
35
|
+
"hyper-pm": {
|
|
36
|
+
"command": "node",
|
|
37
|
+
"args": ["/absolute/path/to/hyper-pm/apps/hyper-pm-mcp/dist/main.mjs"],
|
|
38
|
+
"env": {}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Use the real absolute path to `dist/main.mjs` on your machine (or a `pnpm exec` / wrapper script that runs it).
|
|
45
|
+
|
|
46
|
+
## Tool: `hyper_pm_run`
|
|
47
|
+
|
|
48
|
+
- **`argv`** (required): CLI tokens after global options, e.g. `["epic", "read"]` or `["doctor"]`.
|
|
49
|
+
- Optional fields mirror hyper-pm globals: `cwd`, `repo`, `tempDir`, `actor`, `githubRepo`, `dataBranch`, `remote`, `sync`, `keepWorktree`.
|
|
50
|
+
|
|
51
|
+
`--format json` is always injected. The tool response is JSON text with `exitCode`, `stdout`, `stderr`, `signal`, and `parsedStdout` (when stdout is valid JSON).
|
|
52
|
+
|
|
53
|
+
## Scripts
|
|
54
|
+
|
|
55
|
+
- `pnpm build` — bundle to `dist/main.mjs`
|
|
56
|
+
- `pnpm test` / `pnpm test:coverage`
|
|
57
|
+
- `pnpm check-types` / `pnpm lint`
|