@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.
- package/LICENSE +21 -0
- package/README.md +238 -0
- package/dist/api-client.d.ts +74 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +261 -0
- package/dist/api-client.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +504 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +188 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +62 -0
package/dist/types.d.ts
ADDED
|
@@ -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":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,uCAAuC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,0CAA0C;QAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wBAAwB;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,uBAAuB;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,+BAA+B;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uBAAuB;QACvB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;KAC5D,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
package/dist/types.js
ADDED
|
@@ -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
|
+
}
|