@platoona/mcp 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,188 @@
1
+ /**
2
+ * Type definitions for Platoona MCP server
3
+ */
4
+ /**
5
+ * Configuration for the Platoona MCP server
6
+ */
7
+ export interface PlatoonaConfig {
8
+ /** Platoona API key for authentication */
9
+ apiKey: string;
10
+ /** Base URL for the Platoona API (defaults to production) */
11
+ baseUrl?: string;
12
+ }
13
+ /**
14
+ * Represents an integration/app in Platoona
15
+ */
16
+ export interface Integration {
17
+ /** Unique identifier */
18
+ id: string;
19
+ /** Display name */
20
+ name: string;
21
+ /** URL-friendly slug */
22
+ slug: string;
23
+ /** Integration description */
24
+ description?: string;
25
+ /** Logo URL */
26
+ logo?: string;
27
+ /** Integration status */
28
+ status: 'pending' | 'approved' | 'disabled';
29
+ /** Category IDs this integration belongs to */
30
+ categoryIds?: string[];
31
+ }
32
+ /**
33
+ * Authentication configuration for an integration
34
+ */
35
+ export interface IntegrationAuth {
36
+ /** Authentication type */
37
+ type: 'oauth2' | 'api_key' | 'basic' | 'none';
38
+ /** OAuth scopes */
39
+ scopes?: string[];
40
+ /** Label for API key input */
41
+ keyLabel?: string;
42
+ /** Description for API key input */
43
+ keyDescription?: string;
44
+ /** Help URL for setup */
45
+ helpUrl?: string;
46
+ }
47
+ /**
48
+ * Represents an action/tool that can be executed
49
+ */
50
+ export interface IntegrationAction {
51
+ /** Unique identifier */
52
+ id: string;
53
+ /** Integration this action belongs to */
54
+ integrationId: string;
55
+ /** Integration name (for display) */
56
+ integrationName?: string;
57
+ /** Integration slug */
58
+ integrationSlug?: string;
59
+ /** Action name */
60
+ name: string;
61
+ /** URL-friendly slug */
62
+ slug: string;
63
+ /** Action description */
64
+ description?: string;
65
+ /** Action category */
66
+ category?: string;
67
+ /** Input schema for parameters */
68
+ inputSchema?: Record<string, unknown>;
69
+ /** Output schema for response */
70
+ outputSchema?: Record<string, unknown>;
71
+ /** Similarity score from RAG search */
72
+ similarity?: number;
73
+ }
74
+ /**
75
+ * Request to search for actions
76
+ */
77
+ export interface SearchActionsRequest {
78
+ /** Search query */
79
+ query: string;
80
+ /** Filter by integration IDs */
81
+ integrationIds?: string[];
82
+ /** Filter by category IDs */
83
+ categoryIds?: string[];
84
+ /** Maximum results to return */
85
+ limit?: number;
86
+ /** Minimum similarity threshold (0-1) */
87
+ minSimilarity?: number;
88
+ }
89
+ /**
90
+ * Response from action search
91
+ */
92
+ export interface SearchActionsResponse {
93
+ success: boolean;
94
+ data: IntegrationAction[];
95
+ message?: string;
96
+ }
97
+ /**
98
+ * Represents a connection to an integration
99
+ */
100
+ export interface IntegrationConnection {
101
+ /** Unique identifier */
102
+ id: string;
103
+ /** Integration ID */
104
+ integrationId: string;
105
+ /** Integration name */
106
+ integrationName?: string;
107
+ /** Workspace ID */
108
+ workspaceId?: string;
109
+ /** Connection display name */
110
+ name?: string;
111
+ /** Connection status */
112
+ status: 'active' | 'expired' | 'revoked' | 'error';
113
+ /** OAuth scopes granted */
114
+ scopes?: string;
115
+ /** Token expiration time */
116
+ expiresAt?: string;
117
+ /** Usage statistics */
118
+ usageCount?: number;
119
+ /** Last used timestamp */
120
+ lastUsedAt?: string;
121
+ }
122
+ /**
123
+ * Request to initiate a connection
124
+ * User ID is derived from API key on the server
125
+ */
126
+ export interface InitiateConnectionRequest {
127
+ /** Integration ID or slug to connect */
128
+ integrationId: string;
129
+ /** OAuth scopes to request */
130
+ scopes?: string[];
131
+ /** API key (for API key auth) */
132
+ apiKey?: string;
133
+ /** Redirect URL after OAuth (optional) */
134
+ redirectUrl?: string;
135
+ }
136
+ /**
137
+ * Response from connection initiation
138
+ */
139
+ export interface InitiateConnectionResponse {
140
+ success: boolean;
141
+ data?: {
142
+ /** Connection ID (for API key auth) */
143
+ connectionId?: string;
144
+ /** OAuth authorization URL (for OAuth) */
145
+ authUrl?: string;
146
+ /** Connection status */
147
+ status?: string;
148
+ };
149
+ message?: string;
150
+ }
151
+ /**
152
+ * Request to execute an action
153
+ * User ID is derived from API key on the server
154
+ */
155
+ export interface ExecuteActionRequest {
156
+ /** Action ID or slug to execute */
157
+ actionId: string;
158
+ /** Action parameters */
159
+ parameters: Record<string, unknown>;
160
+ /** Execution timeout in milliseconds */
161
+ timeout?: number;
162
+ }
163
+ /**
164
+ * Response from action execution
165
+ */
166
+ export interface ExecuteActionResponse {
167
+ success: boolean;
168
+ data?: {
169
+ /** Execution result */
170
+ output: Record<string, unknown>;
171
+ /** Execution duration in ms */
172
+ duration?: number;
173
+ /** Execution status */
174
+ status: 'success' | 'failure' | 'timeout' | 'rate_limited';
175
+ };
176
+ message?: string;
177
+ error?: string;
178
+ }
179
+ /**
180
+ * Standard API response wrapper
181
+ */
182
+ export interface ApiResponse<T> {
183
+ success: boolean;
184
+ data?: T;
185
+ message?: string;
186
+ error?: string;
187
+ }
188
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for Platoona MCP server
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@platoona/mcp",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for Platoona Connect - Access 10,000+ SaaS integrations from AI assistants like Claude Code, Cursor, and more",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "platoona-mcp": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsx src/index.ts",
13
+ "start": "node dist/index.js",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "model-context-protocol",
19
+ "platoona",
20
+ "ai",
21
+ "integrations",
22
+ "tools",
23
+ "claude",
24
+ "claude-code",
25
+ "cursor",
26
+ "anthropic",
27
+ "saas",
28
+ "automation",
29
+ "api",
30
+ "oauth",
31
+ "slack",
32
+ "notion",
33
+ "github"
34
+ ],
35
+ "author": "Platoona <support@platoona.com>",
36
+ "license": "MIT",
37
+ "homepage": "https://platoona.com/connect",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/Platoona/platoona-mcp.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/Platoona/platoona-mcp/issues"
44
+ },
45
+ "dependencies": {
46
+ "@modelcontextprotocol/sdk": "^1.0.0",
47
+ "zod": "^3.24.1"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^22.10.5",
51
+ "tsx": "^4.19.2",
52
+ "typescript": "^5.7.2"
53
+ },
54
+ "engines": {
55
+ "node": ">=18.0.0"
56
+ },
57
+ "files": [
58
+ "dist",
59
+ "README.md",
60
+ "LICENSE"
61
+ ]
62
+ }