@corsair-dev/mcp 0.1.1 → 0.1.2

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,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function runStdioMcpServer(server: McpServer): Promise<void>;
3
+ //# sourceMappingURL=stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/core/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { createBaseMcpServer } from './core/base.js';
2
2
  export { createMcpRouter } from './core/http.js';
3
+ export { runStdioMcpServer } from './core/stdio.js';
3
4
  export type { OpenAIMcpConfig } from './adapters/openai.js';
4
5
  export { getOpenAIMcpConfig } from './adapters/openai.js';
5
6
  export type { VercelAiMcpClientOptions } from './adapters/vercel-ai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -145,7 +145,7 @@ function createBaseMcpServer(options) {
145
145
  const server = new McpServer({
146
146
  name: "corsair",
147
147
  version: "1.0.0",
148
- description: "Use this to interact with the Corsair API. Corsair helps you integrate with dozens of tools and services. You can setup cron jobs and webhooks triggered jobs."
148
+ description: "Use this to interact with the Corsair API. Corsair helps you integrate with dozens of tools and services."
149
149
  });
150
150
  for (const def of buildCorsairToolDefs(options)) {
151
151
  server.registerTool(
@@ -216,6 +216,13 @@ function createMcpRouter(createServer) {
216
216
  return router;
217
217
  }
218
218
 
219
+ // src/core/stdio.ts
220
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
221
+ async function runStdioMcpServer(server) {
222
+ const transport = new StdioServerTransport();
223
+ await server.connect(transport);
224
+ }
225
+
219
226
  // src/adapters/openai.ts
220
227
  function getOpenAIMcpConfig(baseUrl, headers) {
221
228
  return {
@@ -293,5 +300,6 @@ export {
293
300
  createBaseMcpServer,
294
301
  createMcpRouter,
295
302
  createVercelAiMcpClient,
296
- getOpenAIMcpConfig
303
+ getOpenAIMcpConfig,
304
+ runStdioMcpServer
297
305
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corsair-dev/mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Base MCP server and SDK extensions for Corsair (workflows, cron, permissions)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,77 +0,0 @@
1
- export type WorkflowStoreInput = {
2
- type: 'workflow';
3
- workflowId: string;
4
- code: string;
5
- description?: string;
6
- cronSchedule?: string;
7
- webhookTrigger?: {
8
- plugin: string;
9
- action: string;
10
- };
11
- notifyJid?: string;
12
- };
13
- export type WorkflowListItem = {
14
- id: string;
15
- name: string;
16
- description: string | null;
17
- triggerType: 'manual' | 'cron' | 'webhook';
18
- triggerConfig: Record<string, unknown>;
19
- status: string;
20
- nextRunAt: Date | null;
21
- lastRunAt: Date | null;
22
- createdAt: Date;
23
- };
24
- export type WorkflowStored = {
25
- id: string;
26
- name: string;
27
- triggerType: 'manual' | 'cron' | 'webhook';
28
- status: string;
29
- code?: string;
30
- triggerConfig?: Record<string, unknown>;
31
- };
32
- export type WorkflowUpdateFields = {
33
- code?: string;
34
- description?: string;
35
- cronSchedule?: string;
36
- webhookTrigger?: {
37
- plugin: string;
38
- action: string;
39
- };
40
- status?: 'active' | 'paused' | 'archived';
41
- };
42
- export type WorkflowAdapter = {
43
- listWorkflows(triggerType?: 'cron' | 'webhook' | 'manual' | 'all'): Promise<WorkflowListItem[]>;
44
- storeWorkflow(input: WorkflowStoreInput): Promise<WorkflowStored | null>;
45
- updateWorkflowRecord(nameOrId: string, updates: WorkflowUpdateFields): Promise<WorkflowStored | null>;
46
- archiveWorkflow(nameOrId: string): Promise<WorkflowStored | null>;
47
- };
48
- export type CronAdapter = {
49
- registerCronWorkflow(dbId: string, name: string, code: string, schedule: string, notifyJid?: string): boolean;
50
- unregisterCronWorkflow(dbId: string): void;
51
- };
52
- export type PermissionAdapter = {
53
- createPermissionRequest(params: {
54
- endpoint: string;
55
- args: Record<string, unknown>;
56
- description: string;
57
- jid?: string;
58
- }): Promise<{
59
- permissionId: string;
60
- approvalUrl: string;
61
- }>;
62
- };
63
- export type BaseMcpOptions = {
64
- corsair: {
65
- list_operations: (opts?: {
66
- plugin?: string;
67
- type?: 'api' | 'webhooks' | 'db';
68
- }) => unknown;
69
- get_schema: (path: string) => unknown;
70
- [key: string]: unknown;
71
- };
72
- workflows: WorkflowAdapter;
73
- cron: CronAdapter;
74
- permissions?: PermissionAdapter;
75
- basePermissionUrl?: string;
76
- };
77
- //# sourceMappingURL=adapters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
package/dist/base.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { BaseMcpOptions } from './adapters.js';
3
- export declare function createBaseMcpServer(options: BaseMcpOptions): McpServer;
4
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CA6TtE"}
package/dist/claude.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { SdkMcpToolDefinition } from '@anthropic-ai/claude-agent-sdk';
2
- import type { BaseMcpOptions } from './adapters.js';
3
- export type ClaudeExtensionContext = {
4
- jid?: string;
5
- };
6
- export type CreateClaudeToolsOptions = BaseMcpOptions & {
7
- context?: ClaudeExtensionContext;
8
- };
9
- export declare function createClaudeTools(options: CreateClaudeToolsOptions): Promise<SdkMcpToolDefinition<any>[]>;
10
- //# sourceMappingURL=claude.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACtD,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAmRtC"}
package/dist/http.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { Router } from 'express';
3
- export declare function createMcpRouter(createServer: () => McpServer): Router;
4
- //# sourceMappingURL=http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAmBzD,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,SAAS,GAAG,MAAM,CAoDrE"}
package/dist/openai.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export type OpenAIMcpConfig = {
2
- serverLabel: string;
3
- serverUrl: string;
4
- headers?: Record<string, string>;
5
- };
6
- export declare function getOpenAIMcpConfig(baseUrl: string, headers?: Record<string, string>): OpenAIMcpConfig;
7
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAMrG"}
@@ -1,6 +0,0 @@
1
- export type VercelAiMcpClientOptions = {
2
- url: string;
3
- headers?: Record<string, string>;
4
- };
5
- export declare function createVercelAiMcpClient(options: VercelAiMcpClientOptions): Promise<import("@ai-sdk/mcp").MCPClient>;
6
- //# sourceMappingURL=vercel-ai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../src/vercel-ai.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,4CAW9E"}