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

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 +78 -23
  2. package/package.json +10 -8
package/README.md CHANGED
@@ -1,41 +1,96 @@
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
+ Part of the [DoomPi distribution](https://www.npmjs.com/package/@agimon-ai/doompi).
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
+ The package removes disallowed servers before any stdio process is spawned. A filtered server is absent rather than merely hidden from the model.
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
+ > **Alpha:** configuration and adapter contracts may change between releases.
10
+
11
+ ## Requirements
12
+
13
+ - Node.js 22.19.0 or newer
14
+ - Pi 0.84.2 and Pi TUI 0.84.2
16
15
 
17
16
  ## Install
18
17
 
18
+ DoomPi loads the Doom adapter as core; domain selection controls access. For plain Pi:
19
+
19
20
  ```bash
20
- npm install @agimon-ai/doompi-mcp
21
+ pi install npm:@agimon-ai/doompi-mcp
22
+ ```
23
+
24
+ | Entry | Purpose |
25
+ | --------------------------------------- | -------------------------------------------------------- |
26
+ | `@agimon-ai/doompi-mcp/extensions/doom` | DoomPi adapter and domain boundary |
27
+ | `@agimon-ai/doompi-mcp/extensions/pi` | Standalone Pi adapter using repository MCP configuration |
28
+ | `@agimon-ai/doompi-mcp` | Library API |
29
+
30
+ ## Configure direct servers
31
+
32
+ Repository `.mcp.json` entries describe direct MCP servers:
33
+
34
+ ```json
35
+ {
36
+ "mcpServers": {
37
+ "filesystem": {
38
+ "command": "npx",
39
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ Proxy upstreams are read from `mcp-config.yaml`. Domains can select direct `servers` and proxy upstreams separately:
46
+
47
+ ```yaml
48
+ domains:
49
+ development:
50
+ description: Repository development tools.
51
+ mcp:
52
+ servers: [filesystem]
53
+ proxy: [github]
21
54
  ```
22
55
 
23
- ## How it loads
56
+ 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.
24
57
 
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`.
58
+ ## Commands
27
59
 
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.
60
+ ```text
61
+ /mcp
62
+ /mcp status
63
+ /mcp auth <server>
64
+ /mcp reload
65
+ ```
31
66
 
32
- ## Entry points
67
+ The interactive status and authentication surfaces require a TUI. Resolved configuration and catalog APIs remain usable by headless hosts.
68
+
69
+ ## Credentials and trust
70
+
71
+ Allowed stdio entries execute their configured commands with the Pi process environment and operating-system privileges. Review configuration as executable code.
72
+
73
+ 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.
74
+
75
+ ## Public API
76
+
77
+ ```ts
78
+ import { buildMcpConfigGroups, readCachedCatalog, registerMcpExtension, toPiToolName } from '@agimon-ai/doompi-mcp';
79
+ import type { McpAllowlist, McpSessionConfig } from '@agimon-ai/doompi-mcp';
80
+ ```
81
+
82
+ `--emit-mcp` on the DoomPi CLI can emit the resolved MCP configuration without launching a model.
83
+
84
+ ## Development
85
+
86
+ ```bash
87
+ pnpm build
88
+ pnpm typecheck
89
+ pnpm test
90
+ pnpm lint
91
+ ```
33
92
 
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 |
93
+ Maintained by [Agimon](https://agimon.ai/about).
39
94
 
40
95
  ## License
41
96
 
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-mcp",
3
- "version": "0.0.1-alpha.21",
4
- "description": "MCP server tools for Doompi",
3
+ "version": "0.0.1-alpha.23",
4
+ "description": "Domain-aware MCP server selection and access boundaries for Pi sessions composed with DoomPi.",
5
5
  "keywords": [
6
- "ai",
7
6
  "coding-agent",
8
- "developer-tools",
9
7
  "doompi",
10
- "pi-package"
8
+ "mcp",
9
+ "model-context-protocol",
10
+ "pi-coding-agent",
11
+ "pi-extension",
12
+ "server-selection"
11
13
  ],
12
14
  "homepage": "https://agimon.ai",
13
15
  "license": "MIT",
@@ -47,9 +49,9 @@
47
49
  "open": "8.4.2",
48
50
  "typebox": "1.1.38",
49
51
  "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"
52
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.23",
53
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.23",
54
+ "@agimon-ai/mcp-proxy": "0.31.13"
53
55
  },
54
56
  "devDependencies": {
55
57
  "@earendil-works/pi-coding-agent": "0.84.2",