@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.
- package/README.md +78 -23
- package/package.json +10 -8
package/README.md
CHANGED
|
@@ -1,41 +1,96 @@
|
|
|
1
1
|
# @agimon-ai/doompi-mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Domain-aware MCP selection for DoomPi and a standalone MCP adapter for Pi.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
optional. The package does not belong in `.doom/modes.yaml`.
|
|
58
|
+
## Commands
|
|
27
59
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
60
|
+
```text
|
|
61
|
+
/mcp
|
|
62
|
+
/mcp status
|
|
63
|
+
/mcp auth <server>
|
|
64
|
+
/mcp reload
|
|
65
|
+
```
|
|
31
66
|
|
|
32
|
-
|
|
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
|
-
|
|
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.
|
|
4
|
-
"description": "MCP server
|
|
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
|
-
"
|
|
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.
|
|
51
|
-
"@agimon-ai/doompi-ui": "0.0.1-alpha.
|
|
52
|
-
"@agimon-ai/mcp-proxy": "0.31.
|
|
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",
|