@phantom-pm/mcp-server 1.0.0 → 1.1.0-beta.1

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.
@@ -1,49 +1,46 @@
1
- /**
2
- * Self-Discovery Mechanism
3
- *
4
- * When AI agents start, they check for available MCP servers.
5
- * PHANTOM registers itself so agents automatically know it exists.
6
- */
7
- export declare class PhantomDiscovery {
8
- static readonly AGENT_CONFIG_PATHS: {
9
- 'claude-code': string;
10
- cursor: string;
11
- zed: string;
12
- vscode: string;
13
- codex: string;
14
- antigravity: string;
15
- qoder: string;
1
+ type SupportedAgent = 'claude-code' | 'cursor' | 'zed' | 'vscode' | 'codex' | 'gemini-cli';
2
+ interface InstalledAgent {
3
+ type: SupportedAgent;
4
+ name: string;
5
+ installed: boolean;
6
+ running: boolean;
7
+ confidence: number;
8
+ status: 'running' | 'installed' | 'available';
9
+ }
10
+ interface RegisteredAgent extends InstalledAgent {
11
+ configPath: string;
12
+ registered: boolean;
13
+ registrationError?: string;
14
+ }
15
+ interface HealthReport {
16
+ timestamp: string;
17
+ mcp_server: {
18
+ status: 'running' | 'not_responding';
16
19
  };
17
- private static readonly AGENT_NAMES;
18
- /**
19
- * Register PHANTOM with agent's MCP registry
20
- * This happens automatically when PHANTOM is installed
21
- */
22
- static registerWithAgent(agentType: keyof typeof PhantomDiscovery.AGENT_CONFIG_PATHS): Promise<boolean>;
23
- /**
24
- * Auto-detection during agent startup
25
- * Agent checks: "Is PHANTOM available?"
26
- */
20
+ agents: RegisteredAgent[];
21
+ issues: string[];
22
+ }
23
+ export declare class PhantomDiscovery {
24
+ static get AGENT_CONFIG_PATHS(): Record<SupportedAgent, string>;
25
+ private static get AGENT_NAMES();
27
26
  static detectPhantom(): Promise<boolean>;
28
- /**
29
- * Detect all installed agents
30
- */
31
- static detectInstalledAgents(): Array<{
32
- type: string;
33
- name: string;
34
- installed: boolean;
27
+ static detectInstalledAgents(): Promise<InstalledAgent[]>;
28
+ static detectRegisteredAgents(): Promise<RegisteredAgent[]>;
29
+ static registerAgent(type: SupportedAgent): Promise<{
30
+ success: boolean;
31
+ message: string;
32
+ }>;
33
+ static registerWithAgent(type: SupportedAgent): Promise<boolean>;
34
+ static registerAll(agentTypes?: SupportedAgent[]): Promise<{
35
+ total: number;
36
+ success: number;
37
+ failed: number;
35
38
  }>;
36
- /**
37
- * Auto-register with all detected agents
38
- */
39
+ static forceRegisterAgents(agentTypes: SupportedAgent[]): Promise<void>;
39
40
  static autoRegisterAll(): Promise<void>;
40
- /**
41
- * Suggest installation if not found
42
- */
43
41
  static getSuggestedInstall(): string;
44
- /**
45
- * Health check - verify MCP server and agent registrations
46
- */
42
+ static healthReport(): Promise<HealthReport>;
47
43
  static healthCheck(): Promise<void>;
48
44
  }
45
+ export {};
49
46
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AAEH,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,kBAAkB;;;;;;;;MAQhC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAQjC;IAEF;;;OAGG;WACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,OAAO,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwD7G;;;OAGG;WACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAY9C;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,CAAC;IA+CvF;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7C;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAUpC;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B1C"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;AAQ3F,UAAU,cAAc;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;CAC/C;AAED,UAAU,eAAgB,SAAQ,cAAc;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAAC;KACtC,CAAC;IACF,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgKD,qBAAa,gBAAgB;IAC3B,MAAM,KAAK,kBAAkB,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAS9D;IAED,OAAO,CAAC,MAAM,KAAK,WAAW,GAS7B;WAEY,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;WAYjC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;WAmBlD,sBAAsB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;WAkBpD,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;WAiDnF,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;WAUzD,WAAW,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;WAsBvG,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAKhE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB7C,MAAM,CAAC,mBAAmB,IAAI,MAAM;WAUvB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;WAwBrC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB1C"}
package/dist/discovery.js CHANGED
@@ -1,96 +1,184 @@
1
- // PHANTOM Agent Discovery System
2
- // Auto-detects installed AI agents and registers PHANTOM with them
1
+ // PHANTOM Agent/MCP Discovery and Registration
3
2
  import { spawnSync } from 'child_process';
4
- import { writeFileSync, existsSync, readFileSync } from 'fs';
5
- import { join } from 'path';
3
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
4
+ import { dirname, join } from 'path';
6
5
  import { homedir } from 'os';
7
- /**
8
- * Self-Discovery Mechanism
9
- *
10
- * When AI agents start, they check for available MCP servers.
11
- * PHANTOM registers itself so agents automatically know it exists.
12
- */
13
- export class PhantomDiscovery {
14
- static AGENT_CONFIG_PATHS = {
15
- 'claude-code': join(homedir(), '.claude', 'settings.json'),
16
- 'cursor': join(homedir(), '.cursor/settings.json'),
17
- 'zed': join(homedir(), '.config/zed/settings.json'),
18
- 'vscode': join(homedir(), 'Library/Application Support/Code/User/settings.json'),
19
- 'codex': join(homedir(), 'Library/Application Support/Codex/User/settings.json'),
20
- 'antigravity': join(homedir(), 'Library/Application Support/Antigravity/User/settings.json'),
21
- 'qoder': join(homedir(), 'Library/Application Support/Qoder/User/settings.json'),
22
- };
23
- static AGENT_NAMES = {
24
- 'claude-code': 'Claude Code',
25
- 'cursor': 'Cursor',
26
- 'zed': 'Zed Editor',
27
- 'vscode': 'Visual Studio Code',
28
- 'codex': 'Codex AI',
29
- 'antigravity': 'AntiGravity AI',
30
- 'qoder': 'Qoder AI',
31
- };
32
- /**
33
- * Register PHANTOM with agent's MCP registry
34
- * This happens automatically when PHANTOM is installed
35
- */
36
- static async registerWithAgent(agentType) {
37
- try {
38
- const configPath = this.AGENT_CONFIG_PATHS[agentType];
39
- const agentName = this.AGENT_NAMES[agentType];
40
- if (!configPath) {
41
- console.log(`❌ Unknown agent type: ${agentType}`);
42
- return false;
6
+ import { AgentDiscovery } from '@phantom-pm/core';
7
+ const ADAPTERS = {
8
+ 'claude-code': {
9
+ type: 'claude-code',
10
+ name: 'Claude Code',
11
+ configPathByPlatform: {
12
+ darwin: join(homedir(), '.claude', 'settings.json'),
13
+ linux: join(homedir(), '.claude', 'settings.json'),
14
+ win32: join(homedir(), '.claude', 'settings.json'),
15
+ },
16
+ },
17
+ cursor: {
18
+ type: 'cursor',
19
+ name: 'Cursor',
20
+ configPathByPlatform: {
21
+ darwin: join(homedir(), '.cursor', 'settings.json'),
22
+ linux: join(homedir(), '.cursor', 'settings.json'),
23
+ win32: join(homedir(), '.cursor', 'settings.json'),
24
+ },
25
+ },
26
+ zed: {
27
+ type: 'zed',
28
+ name: 'Zed Editor',
29
+ configPathByPlatform: {
30
+ darwin: join(homedir(), '.config', 'zed', 'settings.json'),
31
+ linux: join(homedir(), '.config', 'zed', 'settings.json'),
32
+ win32: join(homedir(), '.config', 'zed', 'settings.json'),
33
+ },
34
+ },
35
+ vscode: {
36
+ type: 'vscode',
37
+ name: 'Visual Studio Code',
38
+ configPathByPlatform: {
39
+ darwin: join(homedir(), 'Library', 'Application Support', 'Code', 'User', 'settings.json'),
40
+ linux: join(homedir(), '.config', 'Code', 'User', 'settings.json'),
41
+ win32: join(homedir(), 'AppData', 'Roaming', 'Code', 'User', 'settings.json'),
42
+ },
43
+ },
44
+ codex: {
45
+ type: 'codex',
46
+ name: 'Codex AI',
47
+ configPathByPlatform: {
48
+ darwin: join(homedir(), 'Library', 'Application Support', 'Codex', 'User', 'settings.json'),
49
+ linux: join(homedir(), '.config', 'Codex', 'User', 'settings.json'),
50
+ win32: join(homedir(), 'AppData', 'Roaming', 'Codex', 'User', 'settings.json'),
51
+ },
52
+ },
53
+ 'gemini-cli': {
54
+ type: 'gemini-cli',
55
+ name: 'Gemini CLI',
56
+ configPathByPlatform: {
57
+ darwin: join(homedir(), '.gemini', 'settings.json'),
58
+ linux: join(homedir(), '.gemini', 'settings.json'),
59
+ win32: join(homedir(), '.gemini', 'settings.json'),
60
+ },
61
+ },
62
+ };
63
+ function getConfigPath(type) {
64
+ const adapter = ADAPTERS[type];
65
+ const fromPlatform = adapter.configPathByPlatform[process.platform];
66
+ if (fromPlatform)
67
+ return fromPlatform;
68
+ return Object.values(adapter.configPathByPlatform)[0] || join(homedir(), `.${type}`, 'settings.json');
69
+ }
70
+ function stripJsonComments(input) {
71
+ let result = '';
72
+ let index = 0;
73
+ let inString = false;
74
+ let escaped = false;
75
+ while (index < input.length) {
76
+ const current = input[index];
77
+ const next = input[index + 1];
78
+ if (inString) {
79
+ result += current;
80
+ if (escaped) {
81
+ escaped = false;
43
82
  }
44
- // Check if agent config exists
45
- if (!existsSync(configPath)) {
46
- console.log(`○ ${agentName} config not found (skipped)`);
47
- return false;
83
+ else if (current === '\\') {
84
+ escaped = true;
48
85
  }
49
- // Read existing config
50
- let config = {};
51
- try {
52
- const configContent = readFileSync(configPath, 'utf8');
53
- config = JSON.parse(configContent);
86
+ else if (current === '"') {
87
+ inString = false;
54
88
  }
55
- catch (error) {
56
- config = {};
89
+ index += 1;
90
+ continue;
91
+ }
92
+ if (current === '"') {
93
+ inString = true;
94
+ result += current;
95
+ index += 1;
96
+ continue;
97
+ }
98
+ if (current === '/' && next === '/') {
99
+ while (index < input.length && input[index] !== '\n') {
100
+ index += 1;
57
101
  }
58
- // Ensure mcpServers object exists
59
- if (!config.mcpServers) {
60
- config.mcpServers = {};
102
+ continue;
103
+ }
104
+ if (current === '/' && next === '*') {
105
+ index += 2;
106
+ while (index < input.length) {
107
+ if (input[index] === '*' && input[index + 1] === '/') {
108
+ index += 2;
109
+ break;
110
+ }
111
+ index += 1;
61
112
  }
62
- // Register PHANTOM MCP server
63
- config.mcpServers.phantom = {
64
- command: 'phantom',
65
- args: ['mcp', 'serve'],
66
- description: 'PHANTOM PM Operating System - Product management superpowers',
67
- capabilities: [
68
- 'Generate PRDs',
69
- 'Analyze product decisions',
70
- 'Create user stories',
71
- 'Plan sprints',
72
- 'Access product context',
73
- ],
74
- };
75
- // Write updated config
76
- writeFileSync(configPath, JSON.stringify(config, null, 2));
77
- console.log(`✓ Registered with ${agentName} (MCP enabled)`);
78
- return true;
113
+ continue;
79
114
  }
80
- catch (error) {
81
- console.error(`❌ Failed to register with ${this.AGENT_NAMES[agentType]}:`, error);
82
- return false;
115
+ result += current;
116
+ index += 1;
117
+ }
118
+ return result;
119
+ }
120
+ function parseJsonc(input) {
121
+ const withoutComments = stripJsonComments(input);
122
+ const normalized = withoutComments.replace(/,\s*([}\]])/g, '$1');
123
+ return JSON.parse(normalized);
124
+ }
125
+ function readAgentConfig(configPath) {
126
+ if (!existsSync(configPath)) {
127
+ return { data: {} };
128
+ }
129
+ try {
130
+ const raw = readFileSync(configPath, 'utf8');
131
+ const parsed = parseJsonc(raw);
132
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
133
+ return { data: {}, error: 'Config is not an object' };
83
134
  }
135
+ return { data: parsed };
136
+ }
137
+ catch (error) {
138
+ return {
139
+ data: {},
140
+ error: error instanceof Error ? error.message : 'Failed to parse config',
141
+ };
142
+ }
143
+ }
144
+ function createBackup(configPath) {
145
+ if (!existsSync(configPath))
146
+ return null;
147
+ const backupPath = `${configPath}.bak.${Date.now()}`;
148
+ copyFileSync(configPath, backupPath);
149
+ return backupPath;
150
+ }
151
+ function restoreBackup(configPath, backupPath) {
152
+ if (!backupPath || !existsSync(backupPath))
153
+ return;
154
+ copyFileSync(backupPath, configPath);
155
+ }
156
+ export class PhantomDiscovery {
157
+ static get AGENT_CONFIG_PATHS() {
158
+ return {
159
+ 'claude-code': getConfigPath('claude-code'),
160
+ cursor: getConfigPath('cursor'),
161
+ zed: getConfigPath('zed'),
162
+ vscode: getConfigPath('vscode'),
163
+ codex: getConfigPath('codex'),
164
+ 'gemini-cli': getConfigPath('gemini-cli'),
165
+ };
166
+ }
167
+ static get AGENT_NAMES() {
168
+ return {
169
+ 'claude-code': ADAPTERS['claude-code'].name,
170
+ cursor: ADAPTERS.cursor.name,
171
+ zed: ADAPTERS.zed.name,
172
+ vscode: ADAPTERS.vscode.name,
173
+ codex: ADAPTERS.codex.name,
174
+ 'gemini-cli': ADAPTERS['gemini-cli'].name,
175
+ };
84
176
  }
85
- /**
86
- * Auto-detection during agent startup
87
- * Agent checks: "Is PHANTOM available?"
88
- */
89
177
  static async detectPhantom() {
90
178
  try {
91
179
  const result = spawnSync('phantom', ['--version'], {
92
180
  stdio: 'pipe',
93
- timeout: 5000
181
+ timeout: 5000,
94
182
  });
95
183
  return result.status === 0;
96
184
  }
@@ -98,129 +186,181 @@ export class PhantomDiscovery {
98
186
  return false;
99
187
  }
100
188
  }
101
- /**
102
- * Detect all installed agents
103
- */
104
- static detectInstalledAgents() {
105
- const agents = [
106
- { type: 'claude-code', name: 'Claude Code', command: 'cursor' },
107
- { type: 'cursor', name: 'Cursor', command: 'cursor' },
108
- { type: 'zed', name: 'Zed Editor', command: 'zed' },
109
- { type: 'vscode', name: 'Visual Studio Code', command: 'code' },
110
- { type: 'codex', name: 'Codex AI', command: 'codex' },
111
- { type: 'antigravity', name: 'AntiGravity AI', command: 'antigravity' },
112
- { type: 'qoder', name: 'Qoder AI', command: 'qoder' },
113
- ];
114
- return agents.map(agent => {
115
- try {
116
- // Special handling for apps that might not have CLI commands
117
- if (agent.command === 'codex' || agent.command === 'antigravity' || agent.command === 'qoder') {
118
- // Check if the app is running
119
- const processCheck = spawnSync('pgrep', ['-f', agent.command], {
120
- stdio: 'pipe',
121
- timeout: 3000
122
- });
123
- return {
124
- type: agent.type,
125
- name: agent.name,
126
- installed: processCheck.status === 0 || processCheck.stdout.toString().trim() !== ''
127
- };
128
- }
129
- else {
130
- // Standard CLI command check
131
- const result = spawnSync(agent.command, ['--version'], {
132
- stdio: 'pipe',
133
- timeout: 3000
134
- });
135
- return {
136
- type: agent.type,
137
- name: agent.name,
138
- installed: result.status === 0
139
- };
140
- }
189
+ static async detectInstalledAgents() {
190
+ const discovery = new AgentDiscovery(process.cwd());
191
+ const detected = await discovery.scanSystem();
192
+ const detectedMap = new Map(detected.map(item => [item.signature.id, item]));
193
+ return Object.keys(ADAPTERS).map(type => {
194
+ const found = detectedMap.get(type);
195
+ return {
196
+ type,
197
+ name: ADAPTERS[type].name,
198
+ installed: Boolean(found),
199
+ running: found?.status === 'running',
200
+ confidence: found?.confidence || 0,
201
+ status: found?.status || 'available',
202
+ };
203
+ });
204
+ }
205
+ static async detectRegisteredAgents() {
206
+ const installed = await this.detectInstalledAgents();
207
+ return installed.map(agent => {
208
+ const configPath = this.AGENT_CONFIG_PATHS[agent.type];
209
+ const parsed = readAgentConfig(configPath);
210
+ const mcpServers = parsed.data.mcpServers;
211
+ const registered = Boolean(mcpServers && typeof mcpServers === 'object' && mcpServers.phantom);
212
+ return {
213
+ ...agent,
214
+ configPath,
215
+ registered,
216
+ ...(parsed.error ? { registrationError: parsed.error } : {}),
217
+ };
218
+ });
219
+ }
220
+ static async registerAgent(type) {
221
+ const configPath = this.AGENT_CONFIG_PATHS[type];
222
+ const agentName = this.AGENT_NAMES[type];
223
+ let backupPath = null;
224
+ try {
225
+ mkdirSync(dirname(configPath), { recursive: true });
226
+ backupPath = createBackup(configPath);
227
+ const parsed = readAgentConfig(configPath);
228
+ const config = parsed.data;
229
+ const mcpServers = (config.mcpServers && typeof config.mcpServers === 'object')
230
+ ? config.mcpServers
231
+ : {};
232
+ if (mcpServers.phantom) {
233
+ return { success: true, message: `${agentName} already registered` };
141
234
  }
142
- catch {
143
- return {
144
- type: agent.type,
145
- name: agent.name,
146
- installed: false
147
- };
235
+ const nextConfig = {
236
+ ...config,
237
+ mcpServers: {
238
+ ...mcpServers,
239
+ phantom: {
240
+ command: 'phantom',
241
+ args: ['mcp', 'serve'],
242
+ description: 'PHANTOM PM Operating System - Product management superpowers',
243
+ capabilities: [
244
+ 'Generate PRDs',
245
+ 'Analyze product decisions',
246
+ 'Create user stories',
247
+ 'Plan sprints',
248
+ 'Access product context',
249
+ ],
250
+ },
251
+ },
252
+ };
253
+ writeFileSync(configPath, `${JSON.stringify(nextConfig, null, 2)}\n`, 'utf8');
254
+ return { success: true, message: `Registered with ${agentName}` };
255
+ }
256
+ catch (error) {
257
+ restoreBackup(configPath, backupPath);
258
+ return {
259
+ success: false,
260
+ message: error instanceof Error ? `Failed to register ${agentName}: ${error.message}` : `Failed to register ${agentName}`,
261
+ };
262
+ }
263
+ }
264
+ static async registerWithAgent(type) {
265
+ const result = await this.registerAgent(type);
266
+ if (result.success) {
267
+ console.log(`✓ ${result.message}`);
268
+ return true;
269
+ }
270
+ console.log(`○ ${result.message}`);
271
+ return false;
272
+ }
273
+ static async registerAll(agentTypes) {
274
+ const targets = agentTypes || (await this.detectInstalledAgents()).filter(agent => agent.installed).map(agent => agent.type);
275
+ const uniqueTargets = Array.from(new Set(targets));
276
+ let success = 0;
277
+ for (const target of uniqueTargets) {
278
+ const result = await this.registerAgent(target);
279
+ if (result.success) {
280
+ success += 1;
281
+ console.log(`✓ ${result.message}`);
148
282
  }
149
- });
283
+ else {
284
+ console.log(`○ ${result.message}`);
285
+ }
286
+ }
287
+ return {
288
+ total: uniqueTargets.length,
289
+ success,
290
+ failed: uniqueTargets.length - success,
291
+ };
292
+ }
293
+ static async forceRegisterAgents(agentTypes) {
294
+ const summary = await this.registerAll(agentTypes);
295
+ console.log(`✓ Successfully registered with ${summary.success}/${summary.total} agents`);
150
296
  }
151
- /**
152
- * Auto-register with all detected agents
153
- */
154
297
  static async autoRegisterAll() {
155
298
  console.log('🔍 Detecting installed AI agents...\n');
156
- const agents = this.detectInstalledAgents();
157
- const installedAgents = agents.filter(agent => agent.installed);
158
- if (installedAgents.length === 0) {
299
+ const installed = await this.detectInstalledAgents();
300
+ const detected = installed.filter(agent => agent.installed);
301
+ if (detected.length === 0) {
159
302
  console.log('No supported AI agents detected.');
160
- console.log(this.getSuggestedInstall());
303
+ console.log('Creating baseline configs for common agents...\n');
304
+ await this.forceRegisterAgents(['codex', 'cursor', 'claude-code']);
161
305
  return;
162
306
  }
163
- console.log(`Found ${installedAgents.length} installed agent${installedAgents.length > 1 ? 's' : ''}:`);
164
- installedAgents.forEach(agent => {
165
- console.log(` ✓ ${agent.name}`);
166
- });
167
- console.log('');
168
- console.log('🔌 Registering PHANTOM with agents...\n');
169
- let successCount = 0;
170
- for (const agent of installedAgents) {
171
- const success = await this.registerWithAgent(agent.type);
172
- if (success)
173
- successCount++;
307
+ console.log(`Found ${detected.length} installed agent${detected.length > 1 ? 's' : ''}:`);
308
+ for (const agent of detected) {
309
+ console.log(` ✓ ${agent.name} (${agent.status}, confidence ${agent.confidence}%)`);
174
310
  }
311
+ console.log('');
312
+ const summary = await this.registerAll(detected.map(agent => agent.type));
175
313
  console.log(`\n🎯 Registration complete!`);
176
- console.log(`✓ Successfully registered with ${successCount}/${installedAgents.length} agents`);
177
- if (successCount > 0) {
178
- console.log('\n✨ Your AI agents now have PM superpowers!');
179
- console.log('Next time you work on a feature in your IDE,');
180
- console.log('your agent will automatically use PHANTOM.');
181
- }
314
+ console.log(`✓ Successfully registered with ${summary.success}/${summary.total} agents`);
182
315
  }
183
- /**
184
- * Suggest installation if not found
185
- */
186
316
  static getSuggestedInstall() {
187
317
  return `
188
318
  # PHANTOM not found. Install with:
189
- npm install -g https://codeload.github.com/sir-ad/Phantom/tar.gz/refs/heads/main
319
+ npm install -g @phantom-pm/cli
190
320
 
191
321
  # Or:
192
- curl -fsSL https://raw.githubusercontent.com/sir-ad/Phantom/main/scripts/install.sh | sh
322
+ curl -fsSL https://raw.githubusercontent.com/PhantomPM/phantom/main/scripts/install.sh | sh
193
323
  `.trim();
194
324
  }
195
- /**
196
- * Health check - verify MCP server and agent registrations
197
- */
198
- static async healthCheck() {
199
- console.log('🏥 PHANTOM Health Check\n');
200
- // Check MCP server
325
+ static async healthReport() {
201
326
  const mcpRunning = await this.detectPhantom();
202
- console.log(`◉ MCP Server: ${mcpRunning ? 'Running' : 'Not responding'}`);
203
- // Check agent registrations
204
- const agents = this.detectInstalledAgents();
327
+ const agents = await this.detectRegisteredAgents();
328
+ const issues = [];
205
329
  for (const agent of agents) {
206
- if (agent.installed) {
207
- const configPath = this.AGENT_CONFIG_PATHS[agent.type];
208
- let registered = false;
209
- if (configPath && existsSync(configPath)) {
210
- try {
211
- const config = JSON.parse(readFileSync(configPath, 'utf8'));
212
- registered = config.mcpServers?.phantom !== undefined;
213
- }
214
- catch {
215
- registered = false;
216
- }
217
- }
218
- console.log(`◉ ${agent.name}: ${registered ? 'Connected' : 'Not registered'}`);
330
+ if (agent.installed && !agent.registered) {
331
+ issues.push(`${agent.type}:detected_not_registered`);
332
+ }
333
+ if (agent.registrationError) {
334
+ issues.push(`${agent.type}:config_error`);
335
+ }
336
+ }
337
+ return {
338
+ timestamp: new Date().toISOString(),
339
+ mcp_server: {
340
+ status: mcpRunning ? 'running' : 'not_responding',
341
+ },
342
+ agents,
343
+ issues,
344
+ };
345
+ }
346
+ static async healthCheck() {
347
+ const report = await this.healthReport();
348
+ console.log('🏥 PHANTOM Health Check\n');
349
+ console.log(`◉ MCP Server: ${report.mcp_server.status === 'running' ? 'Running' : 'Not responding'}`);
350
+ for (const agent of report.agents) {
351
+ const status = agent.installed
352
+ ? (agent.registered ? 'Connected' : 'Installed but not registered')
353
+ : 'Not installed';
354
+ console.log(`◉ ${agent.name}: ${status}`);
355
+ }
356
+ if (report.issues.length > 0) {
357
+ console.log('\nIssues:');
358
+ for (const issue of report.issues) {
359
+ console.log(` - ${issue}`);
219
360
  }
220
361
  }
221
362
  }
222
363
  }
223
- // Post-install hook - automatically register with detected agents
224
364
  if (import.meta.url === `file://${process.argv[1]}`) {
225
365
  PhantomDiscovery.autoRegisterAll().catch(console.error);
226
366
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type PhantomToolName = 'context.add' | 'context.search' | 'prd.generate' | 'swarm.analyze' | 'bridge.translate_pm_to_dev' | 'phantom_generate_prd' | 'phantom_swarm_analyze' | 'phantom_create_stories' | 'phantom_plan_sprint' | 'phantom_analyze_product';
1
+ export type PhantomToolName = 'context.add' | 'context.search' | 'prd.generate' | 'swarm.analyze' | 'bridge.translate_pm_to_dev' | 'phantom_generate_prd' | 'phantom_swarm_analyze' | 'phantom_create_stories' | 'phantom_plan_sprint' | 'phantom_analyze_product' | 'phantom_discover_agents' | 'phantom_register_self' | 'phantom_simulate';
2
2
  type PhantomErrorCode = 'INVALID_REQUEST' | 'INVALID_TOOL' | 'INVALID_ARGUMENT' | 'TOOL_EXECUTION_ERROR' | 'RESOURCE_NOT_FOUND';
3
3
  interface ToolError {
4
4
  code: PhantomErrorCode;
@@ -32,13 +32,17 @@ interface ResourceDefinition {
32
32
  title: string;
33
33
  description: string;
34
34
  }
35
+ export type MCPMode = 'core' | 'standard' | 'all';
35
36
  export declare class PhantomMCPServer {
37
+ private mode;
38
+ constructor(mode?: MCPMode);
36
39
  listTools(): ToolDefinition[];
37
40
  listResources(): ResourceDefinition[];
38
41
  readResource(uri: string): unknown;
39
42
  invoke(request: ToolRequest): Promise<ToolResponse>;
40
43
  }
41
- export declare function runStdioServer(): Promise<void>;
44
+ export declare function runLegacyJsonlServer(toolMode?: MCPMode): Promise<void>;
45
+ export declare function runStdioServer(transportMode?: 'stdio' | 'legacy-jsonl', toolMode?: MCPMode): Promise<void>;
42
46
  export { PhantomDiscovery } from './discovery.js';
43
47
  export { AutonomousWorkflow, AgentMessaging } from './workflows.js';
44
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,4BAA4B,GAC5B,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,CAAC;AAE9B,KAAK,gBAAgB,GACjB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,sBAAsB,GACtB,oBAAoB,CAAC;AAEzB,UAAU,SAAS;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnE,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AA6WD,qBAAa,gBAAgB;IAC3B,SAAS,IAAI,cAAc,EAAE;IAI7B,aAAa,IAAI,kBAAkB,EAAE;IAIrC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAmC5B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAgE1D;AA8BD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEpD;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,4BAA4B,GAC5B,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,CAAC;AAEvB,KAAK,gBAAgB,GACjB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,sBAAsB,GACtB,oBAAoB,CAAC;AAEzB,UAAU,SAAS;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnE,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAqLD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;AA6PlD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAU;gBAEV,IAAI,GAAE,OAAoB;IAItC,SAAS,IAAI,cAAc,EAAE;IAI7B,aAAa,IAAI,kBAAkB,EAAE;IAIrC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA0D5B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAkG1D;AA8PD,wBAAsB,oBAAoB,CAAC,QAAQ,GAAE,OAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgExF;AAED,wBAAsB,cAAc,CAAC,aAAa,GAAE,OAAO,GAAG,cAAwB,EAAE,QAAQ,GAAE,OAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrI;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync, writeFileSync } from 'fs';
2
2
  import { dirname } from 'path';
3
3
  import { createInterface } from 'readline';
4
- import { generatePRD, getConfig, getContextEngine, getModuleManager, getSwarm, prdToMarkdown, } from '@phantom-pm/core';
4
+ import { generatePRD, getConfig, getContextEngine, getModuleManager, getSwarm, prdToMarkdown, runDeterministicSimulation, AgentDiscovery, AGENT_SIGNATURES, registerWithAllDetected, registerWithSpecificAgent, } from '@phantom-pm/core';
5
5
  const TOOL_DEFINITIONS = [
6
6
  {
7
7
  name: 'context.add',
@@ -123,6 +123,39 @@ const TOOL_DEFINITIONS = [
123
123
  },
124
124
  },
125
125
  },
126
+ {
127
+ name: 'phantom_discover_agents',
128
+ description: 'Discover all AI agents, IDEs, and LLMs installed on this system. Returns detected agents with confidence scores and capabilities.',
129
+ input_schema: {
130
+ type: 'object',
131
+ required: [],
132
+ properties: {
133
+ include_offline: { type: 'boolean', description: 'Include agents that are installed but not running' },
134
+ },
135
+ },
136
+ },
137
+ {
138
+ name: 'phantom_register_self',
139
+ description: 'Register Phantom MCP server with a target agent. Writes config so the agent can connect to Phantom.',
140
+ input_schema: {
141
+ type: 'object',
142
+ required: [],
143
+ properties: {
144
+ target: { type: 'string', description: 'Agent ID to register with (e.g. cursor, claude-code). Omit to register with all detected agents.' },
145
+ },
146
+ },
147
+ },
148
+ {
149
+ name: 'phantom_simulate',
150
+ description: 'Run a deterministic product simulation for a scenario. Returns baseline, projected metrics, and confidence.',
151
+ input_schema: {
152
+ type: 'object',
153
+ required: ['scenario'],
154
+ properties: {
155
+ scenario: { type: 'string', description: 'Product scenario to simulate (e.g. "Add dark mode", "Launch premium tier")' },
156
+ },
157
+ },
158
+ },
126
159
  ];
127
160
  const RESOURCES = [
128
161
  {
@@ -140,7 +173,37 @@ const RESOURCES = [
140
173
  title: 'Module Summary',
141
174
  description: 'Installed and available module inventory.',
142
175
  },
176
+ {
177
+ uri: 'phantom://self/capabilities',
178
+ title: 'Phantom Capabilities',
179
+ description: 'Complete self-description of Phantom tools, resources, supported agents, and integration points. Use this to learn what Phantom can do.',
180
+ },
181
+ ];
182
+ const CORE_TOOLS = [
183
+ 'context.add',
184
+ 'context.search',
185
+ 'phantom_analyze_product',
186
+ 'phantom_discover_agents',
187
+ 'phantom_register_self',
143
188
  ];
189
+ const STANDARD_TOOLS = [
190
+ ...CORE_TOOLS,
191
+ 'prd.generate',
192
+ 'phantom_generate_prd',
193
+ 'phantom_create_stories',
194
+ 'phantom_plan_sprint',
195
+ 'phantom_simulate',
196
+ ];
197
+ const ALL_TOOLS = [
198
+ ...STANDARD_TOOLS,
199
+ 'swarm.analyze',
200
+ 'phantom_swarm_analyze',
201
+ 'bridge.translate_pm_to_dev',
202
+ ];
203
+ function getToolsForMode(mode) {
204
+ const allowed = mode === 'all' ? ALL_TOOLS : mode === 'standard' ? STANDARD_TOOLS : CORE_TOOLS;
205
+ return TOOL_DEFINITIONS.filter(t => allowed.includes(t.name));
206
+ }
144
207
  function parseStringArg(args, key) {
145
208
  const value = args[key];
146
209
  if (typeof value !== 'string' || value.trim().length === 0) {
@@ -344,8 +407,12 @@ function isToolRequest(payload) {
344
407
  return TOOL_DEFINITIONS.some(def => def.name === record.tool);
345
408
  }
346
409
  export class PhantomMCPServer {
410
+ mode;
411
+ constructor(mode = 'standard') {
412
+ this.mode = mode;
413
+ }
347
414
  listTools() {
348
- return TOOL_DEFINITIONS;
415
+ return getToolsForMode(this.mode);
349
416
  }
350
417
  listResources() {
351
418
  return RESOURCES;
@@ -380,6 +447,29 @@ export class PhantomMCPServer {
380
447
  })),
381
448
  };
382
449
  }
450
+ case 'phantom://self/capabilities': {
451
+ return {
452
+ name: 'Phantom',
453
+ description: 'The invisible force behind every great product. Open-source PM operating system for the terminal age.',
454
+ version: cfg.version,
455
+ tools: TOOL_DEFINITIONS.map(t => ({ name: t.name, description: t.description })),
456
+ resources: RESOURCES.map(r => ({ uri: r.uri, title: r.title, description: r.description })),
457
+ known_agents: AGENT_SIGNATURES.length,
458
+ agent_types: ['ide', 'cli', 'assistant', 'plugin', 'llm'],
459
+ features: [
460
+ 'Context engine — index project files for AI-powered analysis',
461
+ 'PRD generation — generate product requirement documents',
462
+ 'Swarm analysis — multi-agent consensus on product decisions',
463
+ 'Agent discovery — detect all AI tools on your system',
464
+ 'Auto-registration — inject MCP config into agent settings',
465
+ 'Product simulation — deterministic scenario modeling',
466
+ 'Integration management — GitHub, Figma, Linear, Slack, and more',
467
+ 'Sprint planning — velocity-based sprint capacity planning',
468
+ 'User stories — generate acceptance-criteria-rich stories',
469
+ 'PM-to-dev bridge — translate product intent into dev tasks',
470
+ ],
471
+ };
472
+ }
383
473
  default:
384
474
  throw new Error(`RESOURCE_NOT_FOUND:${uri}`);
385
475
  }
@@ -441,6 +531,40 @@ export class PhantomMCPServer {
441
531
  const bridge = bridgeTranslate(pmIntent, request.arguments.product_constraints);
442
532
  return ok(request.request_id, bridge);
443
533
  }
534
+ case 'phantom_discover_agents': {
535
+ const discovery = new AgentDiscovery(process.cwd());
536
+ const detected = await discovery.scanSystem();
537
+ const agents = detected.map(agent => ({
538
+ id: agent.signature.id,
539
+ name: agent.signature.name,
540
+ type: agent.signature.type,
541
+ capabilities: agent.signature.capabilities,
542
+ confidence: agent.confidence,
543
+ status: agent.status,
544
+ integration_level: agent.signature.integrationLevel,
545
+ phantom_features: agent.signature.phantomFeatures,
546
+ }));
547
+ return ok(request.request_id, {
548
+ total: agents.length,
549
+ agents,
550
+ all_known_signatures: AGENT_SIGNATURES.length,
551
+ });
552
+ }
553
+ case 'phantom_register_self': {
554
+ const target = parseOptionalStringArg(request.arguments, 'target');
555
+ const cwd = process.cwd();
556
+ if (target) {
557
+ const result = registerWithSpecificAgent(cwd, target);
558
+ return ok(request.request_id, result);
559
+ }
560
+ const summary = await registerWithAllDetected(cwd);
561
+ return ok(request.request_id, summary);
562
+ }
563
+ case 'phantom_simulate': {
564
+ const scenario = parseStringArg(request.arguments, 'scenario');
565
+ const result = runDeterministicSimulation(scenario);
566
+ return ok(request.request_id, result);
567
+ }
444
568
  default:
445
569
  return err(request.request_id, [{ code: 'INVALID_TOOL', message: `Unknown tool: ${request.tool}` }]);
446
570
  }
@@ -472,11 +596,188 @@ function parseJsonLine(line) {
472
596
  return null;
473
597
  }
474
598
  }
475
- function parseRequestId(value, fallback) {
476
- return typeof value === 'string' ? value : fallback;
599
+ function toRequestId(value) {
600
+ if (typeof value === 'string')
601
+ return value;
602
+ if (typeof value === 'number')
603
+ return String(value);
604
+ return 'unknown';
605
+ }
606
+ function redactSecrets(value) {
607
+ if (Array.isArray(value)) {
608
+ return value.map(item => redactSecrets(item));
609
+ }
610
+ if (value && typeof value === 'object') {
611
+ const entries = Object.entries(value).map(([key, val]) => {
612
+ if (/(token|secret|api.?key|password|authorization)/i.test(key)) {
613
+ return [key, '[REDACTED]'];
614
+ }
615
+ return [key, redactSecrets(val)];
616
+ });
617
+ return Object.fromEntries(entries);
618
+ }
619
+ return value;
620
+ }
621
+ function isDebugEnabled() {
622
+ return process.env.PHANTOM_MCP_DEBUG === '1';
623
+ }
624
+ function debugLog(direction, payload) {
625
+ if (!isDebugEnabled())
626
+ return;
627
+ const serialized = JSON.stringify(redactSecrets(payload));
628
+ process.stderr.write(`[phantom-mcp][${direction}] ${serialized}\n`);
477
629
  }
478
- export async function runStdioServer() {
479
- const server = new PhantomMCPServer();
630
+ function jsonRpcOk(id, result) {
631
+ return {
632
+ jsonrpc: '2.0',
633
+ id,
634
+ result,
635
+ };
636
+ }
637
+ function jsonRpcErr(id, code, message, data) {
638
+ return {
639
+ jsonrpc: '2.0',
640
+ id,
641
+ error: {
642
+ code,
643
+ message,
644
+ ...(data !== undefined ? { data } : {}),
645
+ },
646
+ };
647
+ }
648
+ function isJsonRpcRequest(payload) {
649
+ if (!payload || typeof payload !== 'object')
650
+ return false;
651
+ const record = payload;
652
+ return record.jsonrpc === '2.0' && typeof record.method === 'string';
653
+ }
654
+ function normalizeToolSchema(definition) {
655
+ return {
656
+ name: definition.name,
657
+ description: definition.description,
658
+ inputSchema: definition.input_schema,
659
+ };
660
+ }
661
+ function normalizeResourceSchema(resource) {
662
+ return {
663
+ uri: resource.uri,
664
+ name: resource.title,
665
+ description: resource.description,
666
+ mimeType: 'application/json',
667
+ };
668
+ }
669
+ async function handleJsonRpcRequest(server, request) {
670
+ const id = (request.id ?? null);
671
+ const method = request.method;
672
+ const params = request.params;
673
+ if (id === null) {
674
+ if (method === 'notifications/initialized') {
675
+ return null;
676
+ }
677
+ }
678
+ if (method === 'initialize') {
679
+ return jsonRpcOk(id, {
680
+ protocolVersion: '2025-06-18',
681
+ capabilities: {
682
+ tools: {},
683
+ resources: {},
684
+ },
685
+ serverInfo: {
686
+ name: 'phantom-mcp',
687
+ version: '1.0.1',
688
+ },
689
+ });
690
+ }
691
+ if (method === 'ping') {
692
+ return jsonRpcOk(id, {});
693
+ }
694
+ if (method === 'tools/list') {
695
+ return jsonRpcOk(id, {
696
+ tools: server.listTools().map(normalizeToolSchema),
697
+ });
698
+ }
699
+ if (method === 'tools/call') {
700
+ if (!params || typeof params !== 'object') {
701
+ return jsonRpcErr(id, -32602, 'Invalid params: expected object');
702
+ }
703
+ const record = params;
704
+ const name = record.name;
705
+ const args = record.arguments;
706
+ if (typeof name !== 'string' || !name.trim()) {
707
+ return jsonRpcErr(id, -32602, 'Invalid params: name must be non-empty string');
708
+ }
709
+ if (args !== undefined && (!args || typeof args !== 'object' || Array.isArray(args))) {
710
+ return jsonRpcErr(id, -32602, 'Invalid params: arguments must be object');
711
+ }
712
+ const toolResponse = await server.invoke({
713
+ tool: name,
714
+ request_id: toRequestId(id),
715
+ arguments: args || {},
716
+ });
717
+ if (toolResponse.status === 'error') {
718
+ return jsonRpcOk(id, {
719
+ isError: true,
720
+ content: [
721
+ {
722
+ type: 'text',
723
+ text: JSON.stringify({ errors: toolResponse.errors ?? [] }),
724
+ },
725
+ ],
726
+ structuredContent: {
727
+ errors: toolResponse.errors ?? [],
728
+ },
729
+ });
730
+ }
731
+ return jsonRpcOk(id, {
732
+ isError: false,
733
+ content: [
734
+ {
735
+ type: 'text',
736
+ text: JSON.stringify(toolResponse.result ?? {}),
737
+ },
738
+ ],
739
+ structuredContent: toolResponse.result ?? {},
740
+ });
741
+ }
742
+ if (method === 'resources/list') {
743
+ return jsonRpcOk(id, {
744
+ resources: server.listResources().map(normalizeResourceSchema),
745
+ });
746
+ }
747
+ if (method === 'resources/read') {
748
+ if (!params || typeof params !== 'object') {
749
+ return jsonRpcErr(id, -32602, 'Invalid params: expected object');
750
+ }
751
+ const record = params;
752
+ const uri = record.uri;
753
+ if (typeof uri !== 'string' || !uri.trim()) {
754
+ return jsonRpcErr(id, -32602, 'Invalid params: uri must be non-empty string');
755
+ }
756
+ try {
757
+ const value = server.readResource(uri);
758
+ return jsonRpcOk(id, {
759
+ contents: [
760
+ {
761
+ uri,
762
+ mimeType: 'application/json',
763
+ text: JSON.stringify(value),
764
+ },
765
+ ],
766
+ });
767
+ }
768
+ catch (error) {
769
+ if (error instanceof Error && error.message.startsWith('RESOURCE_NOT_FOUND:')) {
770
+ return jsonRpcErr(id, -32001, 'Resource not found', {
771
+ uri: error.message.replace(/^RESOURCE_NOT_FOUND:/, ''),
772
+ });
773
+ }
774
+ return jsonRpcErr(id, -32603, 'Failed to read resource', parseError(error));
775
+ }
776
+ }
777
+ return jsonRpcErr(id, -32601, `Method not found: ${method}`);
778
+ }
779
+ export async function runLegacyJsonlServer(toolMode = 'standard') {
780
+ const server = new PhantomMCPServer(toolMode);
480
781
  const rl = createInterface({
481
782
  input: process.stdin,
482
783
  output: process.stdout,
@@ -493,7 +794,7 @@ export async function runStdioServer() {
493
794
  }
494
795
  const record = payload;
495
796
  const action = record.action;
496
- const requestId = parseRequestId(record.request_id, 'unknown');
797
+ const requestId = typeof record.request_id === 'string' ? record.request_id : 'unknown';
497
798
  if (action === 'tools.list') {
498
799
  process.stdout.write(`${JSON.stringify(ok(requestId, { tools: server.listTools() }))}\n`);
499
800
  continue;
@@ -529,6 +830,37 @@ export async function runStdioServer() {
529
830
  process.stdout.write(`${JSON.stringify(err(requestId, [{ code: 'INVALID_REQUEST', message: 'Payload must be a valid tool request or supported action' }]))}\n`);
530
831
  }
531
832
  }
833
+ export async function runStdioServer(transportMode = 'stdio', toolMode = 'standard') {
834
+ if (transportMode === 'legacy-jsonl') {
835
+ await runLegacyJsonlServer(toolMode);
836
+ return;
837
+ }
838
+ const server = new PhantomMCPServer(toolMode);
839
+ const rl = createInterface({
840
+ input: process.stdin,
841
+ output: process.stdout,
842
+ terminal: false,
843
+ });
844
+ for await (const line of rl) {
845
+ const trimmed = line.trim();
846
+ if (!trimmed)
847
+ continue;
848
+ const payload = parseJsonLine(trimmed);
849
+ if (!isJsonRpcRequest(payload)) {
850
+ const response = jsonRpcErr(null, -32600, 'Invalid Request');
851
+ debugLog('out', response);
852
+ process.stdout.write(`${JSON.stringify(response)}\n`);
853
+ continue;
854
+ }
855
+ debugLog('in', payload);
856
+ const response = await handleJsonRpcRequest(server, payload);
857
+ if (!response || payload.id === undefined || payload.id === null) {
858
+ continue;
859
+ }
860
+ debugLog('out', response);
861
+ process.stdout.write(`${JSON.stringify(response)}\n`);
862
+ }
863
+ }
532
864
  export { PhantomDiscovery } from './discovery.js';
533
865
  export { AutonomousWorkflow, AgentMessaging } from './workflows.js';
534
866
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phantom-pm/mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.1.0-beta.1",
4
4
  "description": "PHANTOM MCP Server - Model Connection Protocol implementation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,7 +17,8 @@
17
17
  "access": "public"
18
18
  },
19
19
  "dependencies": {
20
- "@phantom-pm/core": "1.0.0"
20
+ "@modelcontextprotocol/sdk": "^1.0.0",
21
+ "@phantom-pm/core": "file:../core"
21
22
  },
22
23
  "devDependencies": {
23
24
  "typescript": "^5.5.0",