@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.
- package/README.md +74 -23
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,41 +1,92 @@
|
|
|
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
|
+
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
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
19
|
+
pi install npm:@agimon-ai/doompi-mcp
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
65
|
+
The interactive status and authentication surfaces require a TUI. Resolved configuration and catalog APIs remain usable by headless hosts.
|
|
33
66
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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.
|
|
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.
|
|
51
|
-
"@agimon-ai/doompi-ui": "0.0.1-alpha.
|
|
52
|
-
"@agimon-ai/mcp-proxy": "0.31.
|
|
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",
|