polydev-ai 1.0.0

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.
@@ -0,0 +1,462 @@
1
+ {
2
+ "name": "polydev-perspectives",
3
+ "version": "1.0.0",
4
+ "description": "Agentic workflow assistant - get diverse perspectives from multiple LLMs when stuck or need enhanced reasoning",
5
+ "author": "Polydev AI",
6
+ "license": "MIT",
7
+ "main": "server.js",
8
+ "mcpVersion": "1.0",
9
+ "capabilities": {
10
+ "tools": true,
11
+ "resources": false,
12
+ "prompts": false
13
+ },
14
+ "tools": [
15
+ {
16
+ "name": "get_perspectives",
17
+ "description": "When stuck in agentic workflows, get diverse perspectives from multiple LLMs to overcome roadblocks. All models use Polydev-managed API keys - just configure once in dashboard.",
18
+ "inputSchema": {
19
+ "type": "object",
20
+ "properties": {
21
+ "prompt": {
22
+ "type": "string",
23
+ "description": "The prompt to get perspectives on",
24
+ "minLength": 1
25
+ },
26
+ "models": {
27
+ "type": "array",
28
+ "description": "Array of model names to query (optional, defaults to [gpt-4, claude-3-sonnet, gemini-pro])",
29
+ "items": {
30
+ "type": "string",
31
+ "enum": [
32
+ "gpt-4",
33
+ "gpt-3.5-turbo",
34
+ "claude-3-sonnet",
35
+ "claude-3-haiku",
36
+ "gemini-pro",
37
+ "gemini-1.5-pro"
38
+ ]
39
+ },
40
+ "default": ["gpt-4", "claude-3-sonnet", "gemini-pro"]
41
+ },
42
+ "user_token": {
43
+ "type": "string",
44
+ "description": "Polydev user authentication token (get from dashboard)",
45
+ "minLength": 1
46
+ },
47
+ "project_memory": {
48
+ "type": "string",
49
+ "description": "Project context level - 'none', 'light' (recent files), or 'full' (TF-IDF similarity)",
50
+ "enum": ["none", "light", "full"],
51
+ "default": "none"
52
+ },
53
+ "max_messages": {
54
+ "type": "integer",
55
+ "description": "Maximum number of messages to process for tool calls",
56
+ "minimum": 1,
57
+ "maximum": 50,
58
+ "default": 10
59
+ },
60
+ "temperature": {
61
+ "type": "number",
62
+ "description": "Temperature for model responses",
63
+ "minimum": 0,
64
+ "maximum": 2,
65
+ "default": 0.7
66
+ },
67
+ "max_tokens": {
68
+ "type": "integer",
69
+ "description": "Maximum tokens per response",
70
+ "minimum": 100,
71
+ "maximum": 8000,
72
+ "default": 2000
73
+ },
74
+ "project_context": {
75
+ "type": "object",
76
+ "description": "Project context for memory retrieval",
77
+ "properties": {
78
+ "root_path": {
79
+ "type": "string",
80
+ "description": "Root directory path for project"
81
+ },
82
+ "includes": {
83
+ "type": "array",
84
+ "description": "File patterns to include",
85
+ "items": {
86
+ "type": "string"
87
+ }
88
+ },
89
+ "excludes": {
90
+ "type": "array",
91
+ "description": "File patterns to exclude",
92
+ "items": {
93
+ "type": "string"
94
+ }
95
+ }
96
+ }
97
+ }
98
+ },
99
+ "required": ["prompt"]
100
+ },
101
+ "outputSchema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "responses": {
105
+ "type": "array",
106
+ "description": "Array of responses from different models",
107
+ "items": {
108
+ "type": "object",
109
+ "properties": {
110
+ "model": {
111
+ "type": "string",
112
+ "description": "Model name"
113
+ },
114
+ "content": {
115
+ "type": "string",
116
+ "description": "Response content"
117
+ },
118
+ "tokens_used": {
119
+ "type": "integer",
120
+ "description": "Number of tokens used"
121
+ },
122
+ "latency_ms": {
123
+ "type": "integer",
124
+ "description": "Response latency in milliseconds"
125
+ },
126
+ "error": {
127
+ "type": "string",
128
+ "description": "Error message if the request failed"
129
+ }
130
+ },
131
+ "required": ["model", "content"]
132
+ }
133
+ },
134
+ "total_tokens": {
135
+ "type": "integer",
136
+ "description": "Total tokens used across all models"
137
+ },
138
+ "total_latency_ms": {
139
+ "type": "integer",
140
+ "description": "Total latency in milliseconds"
141
+ },
142
+ "cached": {
143
+ "type": "boolean",
144
+ "description": "Whether the response was cached"
145
+ }
146
+ },
147
+ "required": ["responses"]
148
+ },
149
+ "examples": [
150
+ {
151
+ "description": "Agent stuck on TypeScript decision",
152
+ "input": {
153
+ "prompt": "I'm building a new API and considering TypeScript vs JavaScript. I need multiple perspectives to make the right choice.",
154
+ "user_token": "poly_abc123..."
155
+ },
156
+ "output": {
157
+ "responses": [
158
+ {
159
+ "model": "gpt-4",
160
+ "content": "TypeScript offers several key advantages over JavaScript: 1) Static type checking catches errors at compile time...",
161
+ "tokens_used": 150,
162
+ "latency_ms": 1200
163
+ },
164
+ {
165
+ "model": "claude-3-sonnet",
166
+ "content": "TypeScript provides enhanced developer experience through: Type safety, better IDE support...",
167
+ "tokens_used": 140,
168
+ "latency_ms": 1100
169
+ }
170
+ ],
171
+ "total_tokens": 290,
172
+ "total_latency_ms": 1300,
173
+ "cached": false
174
+ }
175
+ },
176
+ {
177
+ "description": "Agent debugging performance issue with context",
178
+ "input": {
179
+ "prompt": "My React app is slow and I can't figure out why. Help me identify the bottlenecks.",
180
+ "user_token": "poly_abc123...",
181
+ "models": ["gpt-4", "claude-3-sonnet"],
182
+ "project_memory": "full",
183
+ "project_context": {
184
+ "root_path": "/workspace/my-react-app",
185
+ "includes": ["**/*.tsx", "**/*.ts", "**/*.js"],
186
+ "excludes": ["node_modules/**", "dist/**", "build/**"]
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "description": "Agent needs diverse architectural opinions",
192
+ "input": {
193
+ "prompt": "I'm designing a microservices architecture for a fintech app. What are the key considerations and potential pitfalls?",
194
+ "user_token": "poly_abc123...",
195
+ "models": ["gpt-4", "claude-3-sonnet", "gemini-pro"]
196
+ }
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "name": "polydev.force_cli_detection",
202
+ "description": "Force detection and status update for CLI tools (Claude Code, Codex CLI, Gemini CLI). Updates local cache and reports status to MCP server via Supabase.",
203
+ "inputSchema": {
204
+ "type": "object",
205
+ "properties": {
206
+ "user_id": {
207
+ "type": "string",
208
+ "description": "User ID for database status updates (optional for stdio-wrapper)",
209
+ "minLength": 1
210
+ },
211
+ "provider_id": {
212
+ "type": "string",
213
+ "description": "Specific CLI provider to detect (optional, detects all if not provided)",
214
+ "enum": ["claude_code", "codex_cli", "gemini_cli"]
215
+ }
216
+ }
217
+ },
218
+ "outputSchema": {
219
+ "type": "object",
220
+ "properties": {
221
+ "success": {
222
+ "type": "boolean",
223
+ "description": "Whether detection was successful"
224
+ },
225
+ "results": {
226
+ "type": "object",
227
+ "description": "Detection results for each provider",
228
+ "additionalProperties": {
229
+ "type": "object",
230
+ "properties": {
231
+ "available": {
232
+ "type": "boolean",
233
+ "description": "Whether CLI is available"
234
+ },
235
+ "authenticated": {
236
+ "type": "boolean",
237
+ "description": "Whether CLI is authenticated"
238
+ },
239
+ "version": {
240
+ "type": "string",
241
+ "description": "CLI version if available"
242
+ },
243
+ "path": {
244
+ "type": "string",
245
+ "description": "Path to CLI executable"
246
+ },
247
+ "error": {
248
+ "type": "string",
249
+ "description": "Error message if detection failed"
250
+ }
251
+ }
252
+ }
253
+ },
254
+ "message": {
255
+ "type": "string",
256
+ "description": "Human-readable result message"
257
+ },
258
+ "timestamp": {
259
+ "type": "string",
260
+ "description": "Detection timestamp"
261
+ }
262
+ },
263
+ "required": ["success", "results", "message", "timestamp"]
264
+ },
265
+ "examples": [
266
+ {
267
+ "description": "Detect all CLI providers",
268
+ "input": {
269
+ "user_id": "user_123"
270
+ },
271
+ "output": {
272
+ "success": true,
273
+ "results": {
274
+ "claude_code": {
275
+ "available": true,
276
+ "authenticated": true,
277
+ "version": "claude-code v1.2.3",
278
+ "path": "/usr/local/bin/claude"
279
+ },
280
+ "codex_cli": {
281
+ "available": false,
282
+ "authenticated": false,
283
+ "error": "Codex CLI not found in PATH. Install Codex CLI from OpenAI"
284
+ }
285
+ },
286
+ "message": "CLI detection completed for all providers",
287
+ "timestamp": "2024-01-15T10:30:00Z"
288
+ }
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ "name": "polydev.get_cli_status",
294
+ "description": "Get current CLI status with caching support. Returns cached results if available and fresh, otherwise performs new detection.",
295
+ "inputSchema": {
296
+ "type": "object",
297
+ "properties": {
298
+ "user_id": {
299
+ "type": "string",
300
+ "description": "User ID for database status retrieval (optional for stdio-wrapper)",
301
+ "minLength": 1
302
+ },
303
+ "provider_id": {
304
+ "type": "string",
305
+ "description": "Specific CLI provider status to get (optional, gets all if not provided)",
306
+ "enum": ["claude_code", "codex_cli", "gemini_cli"]
307
+ }
308
+ }
309
+ },
310
+ "outputSchema": {
311
+ "type": "object",
312
+ "properties": {
313
+ "success": {
314
+ "type": "boolean",
315
+ "description": "Whether status retrieval was successful"
316
+ },
317
+ "results": {
318
+ "type": "object",
319
+ "description": "Status results for each provider",
320
+ "additionalProperties": {
321
+ "type": "object",
322
+ "properties": {
323
+ "available": {
324
+ "type": "boolean"
325
+ },
326
+ "authenticated": {
327
+ "type": "boolean"
328
+ },
329
+ "version": {
330
+ "type": "string"
331
+ },
332
+ "lastChecked": {
333
+ "type": "string",
334
+ "description": "Last status check timestamp"
335
+ }
336
+ }
337
+ }
338
+ },
339
+ "message": {
340
+ "type": "string"
341
+ },
342
+ "timestamp": {
343
+ "type": "string"
344
+ }
345
+ },
346
+ "required": ["success", "results"]
347
+ }
348
+ },
349
+ {
350
+ "name": "polydev.send_cli_prompt",
351
+ "description": "Send a prompt to a CLI provider and get response. Supports both stdin and argument modes for maximum compatibility.",
352
+ "inputSchema": {
353
+ "type": "object",
354
+ "properties": {
355
+ "provider_id": {
356
+ "type": "string",
357
+ "description": "CLI provider to send prompt to",
358
+ "enum": ["claude_code", "codex_cli", "gemini_cli"]
359
+ },
360
+ "prompt": {
361
+ "type": "string",
362
+ "description": "Prompt to send to the CLI",
363
+ "minLength": 1
364
+ },
365
+ "mode": {
366
+ "type": "string",
367
+ "description": "Prompt sending mode",
368
+ "enum": ["stdin", "args"],
369
+ "default": "args"
370
+ },
371
+ "timeout_ms": {
372
+ "type": "integer",
373
+ "description": "Timeout in milliseconds",
374
+ "minimum": 1000,
375
+ "maximum": 300000,
376
+ "default": 30000
377
+ },
378
+ "user_id": {
379
+ "type": "string",
380
+ "description": "User ID for usage tracking (optional)",
381
+ "minLength": 1
382
+ }
383
+ },
384
+ "required": ["provider_id", "prompt"]
385
+ },
386
+ "outputSchema": {
387
+ "type": "object",
388
+ "properties": {
389
+ "success": {
390
+ "type": "boolean",
391
+ "description": "Whether the prompt was sent successfully"
392
+ },
393
+ "content": {
394
+ "type": "string",
395
+ "description": "CLI response content"
396
+ },
397
+ "error": {
398
+ "type": "string",
399
+ "description": "Error message if prompt failed"
400
+ },
401
+ "tokens_used": {
402
+ "type": "integer",
403
+ "description": "Number of tokens used"
404
+ },
405
+ "latency_ms": {
406
+ "type": "integer",
407
+ "description": "Response latency in milliseconds"
408
+ },
409
+ "provider": {
410
+ "type": "string",
411
+ "description": "CLI provider used"
412
+ },
413
+ "mode": {
414
+ "type": "string",
415
+ "description": "Mode used for sending"
416
+ },
417
+ "timestamp": {
418
+ "type": "string",
419
+ "description": "Response timestamp"
420
+ }
421
+ },
422
+ "required": ["success", "provider", "timestamp"]
423
+ },
424
+ "examples": [
425
+ {
426
+ "description": "Send prompt to Claude Code",
427
+ "input": {
428
+ "provider_id": "claude_code",
429
+ "prompt": "Help me debug this TypeScript error: Property 'map' does not exist on type 'string'",
430
+ "mode": "args",
431
+ "user_id": "user_123"
432
+ },
433
+ "output": {
434
+ "success": true,
435
+ "content": "This error occurs when you're trying to use the .map() method on a string variable. The .map() method is an array method, not a string method...",
436
+ "tokens_used": 150,
437
+ "latency_ms": 1200,
438
+ "provider": "claude_code",
439
+ "mode": "args",
440
+ "timestamp": "2024-01-15T10:35:00Z"
441
+ }
442
+ }
443
+ ]
444
+ }
445
+ ],
446
+ "configuration": {
447
+ "server_url": "https://www.polydev.ai/api/perspectives",
448
+ "dashboard_url": "https://polydev.ai/dashboard/mcp-tools",
449
+ "auth_required": true,
450
+ "rate_limits": {
451
+ "requests_per_minute": 100,
452
+ "requests_per_hour": 2000,
453
+ "requests_per_day": 10000
454
+ },
455
+ "setup_instructions": {
456
+ "step_1": "Visit https://polydev.ai/dashboard/mcp-tools",
457
+ "step_2": "Generate your MCP access token",
458
+ "step_3": "Configure your preferred models and settings",
459
+ "step_4": "Use the token in your MCP tool calls"
460
+ }
461
+ }
462
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "polydev-perspectives-mcp",
3
+ "version": "1.0.0",
4
+ "description": "Get diverse AI perspectives from multiple LLMs via MCP - supports Cline, Claude Code, and other MCP clients",
5
+ "main": "stdio-wrapper.js",
6
+ "bin": {
7
+ "polydev-mcp": "./stdio-wrapper.js"
8
+ },
9
+ "scripts": {
10
+ "start": "node server.js",
11
+ "test": "node server.js --help"
12
+ },
13
+ "keywords": [
14
+ "mcp",
15
+ "model-context-protocol",
16
+ "ai",
17
+ "llm",
18
+ "perspectives",
19
+ "multi-model",
20
+ "cline",
21
+ "claude",
22
+ "openai",
23
+ "anthropic",
24
+ "gemini",
25
+ "polydev"
26
+ ],
27
+ "author": "Polydev AI <support@polydev.ai>",
28
+ "license": "MIT",
29
+ "engines": {
30
+ "node": ">=16.0.0"
31
+ },
32
+ "files": [
33
+ "stdio-wrapper.js",
34
+ "manifest.json",
35
+ "README.md"
36
+ ],
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/backspacevenkat/polydev-website.git",
40
+ "directory": "mcp"
41
+ },
42
+ "homepage": "https://polydev.ai/docs/mcp-integration",
43
+ "bugs": {
44
+ "url": "https://github.com/backspacevenkat/polydev-website/issues"
45
+ }
46
+ }