@agimon-ai/doompi-mcp 0.0.1-alpha.21 → 0.0.1-alpha.22

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.
Files changed (2) hide show
  1. package/README.md +74 -23
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,41 +1,92 @@
1
1
  # @agimon-ai/doompi-mcp
2
2
 
3
- **A session should not start a server it cannot use.**
3
+ Domain-aware MCP selection for DoomPi and a standalone MCP adapter for Pi.
4
4
 
5
- This is Doompi's MCP gate. It reads repository and plugin MCP config, applies the selected
6
- domains' allowlist, and removes disallowed servers before any stdio process is spawned. A
7
- filtered server is absent, not merely hidden from the model.
5
+ The package removes disallowed servers before any stdio process is spawned. A filtered server is absent rather than merely hidden from the model.
8
6
 
9
- Direct servers come from `.mcp.json`. Proxy upstreams come from `mcp-config.yaml`. Doompi
10
- can filter both, emit the resolved config for Pi, and rebuild it when domains change.
11
- Outside Doompi, the adapter still works as a plain Pi extension and uses the repository's
12
- `.mcp.json` without a domain allowlist.
7
+ > **Alpha:** configuration and adapter contracts may change between releases.
13
8
 
14
- This is part of [Doompi](https://www.npmjs.com/package/@agimon-ai/doompi). Most users get
15
- it with the distribution.
9
+ ## Requirements
10
+
11
+ - Node.js 22.19.0 or newer
12
+ - Pi 0.84.2 and Pi TUI 0.84.2
16
13
 
17
14
  ## Install
18
15
 
16
+ DoomPi loads the Doom adapter as core; domain selection controls access. For plain Pi:
17
+
19
18
  ```bash
20
- npm install @agimon-ai/doompi-mcp
19
+ pi install npm:@agimon-ai/doompi-mcp
21
20
  ```
22
21
 
23
- ## How it loads
22
+ | Entry | Purpose |
23
+ | --------------------------------------- | -------------------------------------------------------- |
24
+ | `@agimon-ai/doompi-mcp/extensions/doom` | DoomPi adapter and domain boundary |
25
+ | `@agimon-ai/doompi-mcp/extensions/pi` | Standalone Pi adapter using repository MCP configuration |
26
+ | `@agimon-ai/doompi-mcp` | Library API |
27
+
28
+ ## Configure direct servers
29
+
30
+ Repository `.mcp.json` entries describe direct MCP servers:
31
+
32
+ ```json
33
+ {
34
+ "mcpServers": {
35
+ "filesystem": {
36
+ "command": "npx",
37
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
38
+ }
39
+ }
40
+ }
41
+ ```
24
42
 
25
- Doompi loads the adapter as core; server access is what the domain selection makes
26
- optional. The package does not belong in `.doom/modes.yaml`.
43
+ Proxy upstreams are read from `mcp-config.yaml`. Domains can select direct `servers` and proxy upstreams separately:
27
44
 
28
- The bare package name follows its Pi manifest and selects the Doom adapter. Use
29
- `/extensions/pi` for a standalone Pi session or `/extensions/doom` when selecting the Doom
30
- integration explicitly.
45
+ ```yaml
46
+ domains:
47
+ development:
48
+ description: Repository development tools.
49
+ mcp:
50
+ servers: [filesystem]
51
+ proxy: [github]
52
+ ```
53
+
54
+ An absent or empty allowlist retains configured entries. Use `--no-mcp` when no MCP server should load. In plain-Pi mode, no DoomPi domain allowlist is applied.
55
+
56
+ ## Commands
57
+
58
+ ```text
59
+ /mcp
60
+ /mcp status
61
+ /mcp auth <server>
62
+ /mcp reload
63
+ ```
31
64
 
32
- ## Entry points
65
+ The interactive status and authentication surfaces require a TUI. Resolved configuration and catalog APIs remain usable by headless hosts.
33
66
 
34
- | Import | Purpose |
35
- | --------------------------------------- | --------------------- |
36
- | `@agimon-ai/doompi-mcp` | Library API |
37
- | `@agimon-ai/doompi-mcp/extensions/pi` | Standalone Pi adapter |
38
- | `@agimon-ai/doompi-mcp/extensions/doom` | Doompi adapter |
67
+ ## Credentials and trust
68
+
69
+ Allowed stdio entries execute their configured commands with the Pi process environment and operating-system privileges. Review configuration as executable code.
70
+
71
+ OAuth credentials use the operating-system keyring when available. The private-file fallback is stored under `~/.mcp-proxy/oauth` with owner-only permissions. Treat both the configuration and credential store as sensitive.
72
+
73
+ ## Public API
74
+
75
+ ```ts
76
+ import { buildMcpConfigGroups, readCachedCatalog, registerMcpExtension, toPiToolName } from '@agimon-ai/doompi-mcp';
77
+ import type { McpAllowlist, McpSessionConfig } from '@agimon-ai/doompi-mcp';
78
+ ```
79
+
80
+ `--emit-mcp` on the DoomPi CLI can emit the resolved MCP configuration without launching a model.
81
+
82
+ ## Development
83
+
84
+ ```bash
85
+ pnpm build
86
+ pnpm typecheck
87
+ pnpm test
88
+ pnpm lint
89
+ ```
39
90
 
40
91
  ## License
41
92
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-mcp",
3
- "version": "0.0.1-alpha.21",
3
+ "version": "0.0.1-alpha.22",
4
4
  "description": "MCP server tools for Doompi",
5
5
  "keywords": [
6
6
  "ai",
@@ -47,9 +47,9 @@
47
47
  "open": "8.4.2",
48
48
  "typebox": "1.1.38",
49
49
  "yaml": "2.9.0",
50
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.21",
51
- "@agimon-ai/doompi-ui": "0.0.1-alpha.21",
52
- "@agimon-ai/mcp-proxy": "0.31.11"
50
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.22",
51
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.22",
52
+ "@agimon-ai/mcp-proxy": "0.31.12"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@earendil-works/pi-coding-agent": "0.84.2",