@florentleveque/mural-mcp-serveur 0.5.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,245 @@
1
+ export interface MuralWorkspace {
2
+ id: string;
3
+ name: string;
4
+ url?: string;
5
+ created?: string;
6
+ memberCount?: number;
7
+ guestsAllowed?: boolean;
8
+ visitorsAllowed?: boolean;
9
+ deleted?: boolean;
10
+ }
11
+ export interface OAuthTokens {
12
+ access_token: string;
13
+ refresh_token?: string;
14
+ token_type: string;
15
+ expires_in: number;
16
+ scope?: string;
17
+ expires_at?: number;
18
+ }
19
+ export interface OAuthError {
20
+ error: string;
21
+ error_description?: string;
22
+ }
23
+ export interface PKCEChallenge {
24
+ codeVerifier: string;
25
+ codeChallenge: string;
26
+ codeChallengeMethod: string;
27
+ }
28
+ export interface AuthorizationParams {
29
+ client_id: string;
30
+ redirect_uri: string;
31
+ scope: string;
32
+ response_type: string;
33
+ code_challenge: string;
34
+ code_challenge_method: string;
35
+ state?: string;
36
+ }
37
+ export interface TokenExchangeParams {
38
+ client_id: string;
39
+ client_secret?: string;
40
+ code: string;
41
+ code_verifier: string;
42
+ grant_type: string;
43
+ redirect_uri: string;
44
+ }
45
+ export interface RefreshTokenParams {
46
+ client_id: string;
47
+ client_secret?: string;
48
+ refresh_token: string;
49
+ grant_type: string;
50
+ }
51
+ export interface RateLimitBucket {
52
+ capacity: number;
53
+ tokens: number;
54
+ refillRate: number;
55
+ lastRefill: number;
56
+ refillIntervalMs: number;
57
+ }
58
+ export interface RateLimitState {
59
+ userBucket: RateLimitBucket;
60
+ appBucket: RateLimitBucket;
61
+ lastUpdated: number;
62
+ }
63
+ export interface RateLimitConfig {
64
+ userRequestsPerSecond: number;
65
+ appRequestsPerMinute: number;
66
+ persistState: boolean;
67
+ }
68
+ export interface RateLimitStatus {
69
+ user: {
70
+ tokensRemaining: number;
71
+ capacity: number;
72
+ refillRate: number;
73
+ nextRefillIn: number;
74
+ };
75
+ app: {
76
+ tokensRemaining: number;
77
+ capacity: number;
78
+ refillRate: number;
79
+ nextRefillIn: number;
80
+ };
81
+ lastUpdated: number;
82
+ }
83
+ export interface MuralBoard {
84
+ id: string;
85
+ title: string;
86
+ createdOn?: string;
87
+ updatedOn?: string;
88
+ createdBy?: {
89
+ id: string;
90
+ firstName?: string;
91
+ lastName?: string;
92
+ email?: string;
93
+ };
94
+ workspaceId?: string;
95
+ roomId?: string;
96
+ thumbnail?: string;
97
+ url?: string;
98
+ }
99
+ export interface MuralRoom {
100
+ id: number | string;
101
+ name?: string;
102
+ type?: string;
103
+ confidential?: boolean;
104
+ isMember?: boolean;
105
+ workspaceId?: string;
106
+ createdOn?: number | string;
107
+ updatedOn?: number | string;
108
+ }
109
+ export interface MuralTemplate {
110
+ id: string;
111
+ name?: string;
112
+ description?: string;
113
+ workspaceId?: string;
114
+ type?: string;
115
+ thumbUrl?: string;
116
+ viewLink?: string;
117
+ createdOn?: number | string;
118
+ }
119
+ export interface MuralUser {
120
+ id: string;
121
+ firstName?: string;
122
+ lastName?: string;
123
+ email?: string;
124
+ type?: string;
125
+ scopes?: string[];
126
+ }
127
+ export interface ScopeCheckResult {
128
+ hasScope: boolean;
129
+ requiredScope: string;
130
+ availableScopes: string[];
131
+ message: string;
132
+ }
133
+ export interface MuralWidget {
134
+ id: string;
135
+ type: string;
136
+ x: number;
137
+ y: number;
138
+ width?: number;
139
+ height?: number;
140
+ muralId: string;
141
+ createdBy?: {
142
+ id: string;
143
+ firstName?: string;
144
+ lastName?: string;
145
+ email?: string;
146
+ };
147
+ createdOn?: string;
148
+ updatedOn?: string;
149
+ }
150
+ export interface WidgetTextStyle {
151
+ backgroundColor?: string;
152
+ textColor?: string;
153
+ fontSize?: number;
154
+ fontFamily?: string;
155
+ alignment?: 'left' | 'center' | 'right';
156
+ }
157
+ export interface WidgetBorderStyle {
158
+ backgroundColor?: string;
159
+ borderColor?: string;
160
+ borderWidth?: number;
161
+ }
162
+ export interface WidgetArrowStyle {
163
+ color?: string;
164
+ width?: number;
165
+ arrowheadType?: string;
166
+ }
167
+ export interface StickyNoteWidget extends MuralWidget {
168
+ type: 'sticky note';
169
+ text: string;
170
+ style: WidgetTextStyle;
171
+ }
172
+ export interface TextBoxWidget extends MuralWidget {
173
+ type: 'text box';
174
+ text: string;
175
+ style: WidgetTextStyle;
176
+ }
177
+ export interface TitleWidget extends MuralWidget {
178
+ type: 'title';
179
+ text: string;
180
+ style: {
181
+ fontSize?: number;
182
+ fontFamily?: string;
183
+ textColor?: string;
184
+ };
185
+ }
186
+ export interface ShapeWidget extends MuralWidget {
187
+ type: 'shape';
188
+ shape: 'rectangle' | 'circle' | 'triangle' | 'diamond';
189
+ style: WidgetBorderStyle;
190
+ }
191
+ export interface ImageWidget extends MuralWidget {
192
+ type: 'image';
193
+ url: string;
194
+ title?: string;
195
+ filename?: string;
196
+ }
197
+ export interface FileWidget extends MuralWidget {
198
+ type: 'file';
199
+ filename: string;
200
+ url: string;
201
+ fileSize?: number;
202
+ mimeType?: string;
203
+ }
204
+ export interface TableWidget extends MuralWidget {
205
+ type: 'table';
206
+ rows: number;
207
+ columns: number;
208
+ data: string[][];
209
+ style?: {
210
+ headerBackgroundColor?: string;
211
+ borderColor?: string;
212
+ };
213
+ }
214
+ export interface AreaWidget extends MuralWidget {
215
+ type: 'area';
216
+ title?: string;
217
+ style: WidgetBorderStyle;
218
+ }
219
+ export interface ArrowWidget extends MuralWidget {
220
+ type: 'arrow';
221
+ startWidget?: string;
222
+ endWidget?: string;
223
+ startX?: number;
224
+ startY?: number;
225
+ endX?: number;
226
+ endY?: number;
227
+ style: WidgetArrowStyle;
228
+ }
229
+ export type AnyMuralWidget = StickyNoteWidget | TextBoxWidget | TitleWidget | ShapeWidget | ImageWidget | FileWidget | TableWidget | AreaWidget | ArrowWidget;
230
+ export interface CreateWidgetRequest {
231
+ widgets: Partial<AnyMuralWidget>[];
232
+ }
233
+ export interface CreateStickyNoteRequest {
234
+ x: number;
235
+ y: number;
236
+ text: string;
237
+ shape: 'rectangle';
238
+ width?: number;
239
+ height?: number;
240
+ style?: WidgetTextStyle;
241
+ }
242
+ export interface UpdateStickyNoteRequest extends Partial<CreateStickyNoteRequest> {
243
+ id?: string;
244
+ }
245
+ //# 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/build/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@florentleveque/mural-mcp-serveur",
3
+ "version": "0.5.2",
4
+ "description": "Model Context Protocol server for Mural visual collaboration platform",
5
+ "type": "module",
6
+ "main": "build/index.js",
7
+ "bin": {
8
+ "mural-mcp-serveur": "./build/index.js"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "scripts": {
14
+ "build": "tsc && chmod +x build/index.js",
15
+ "dev": "tsc --watch",
16
+ "start": "node build/index.js",
17
+ "typecheck": "tsc --noEmit",
18
+ "test": "node tests/run-tests.js",
19
+ "test:parallel": "node tests/run-tests.js --parallel",
20
+ "test:tool": "node tests/run-tests.js --tool=",
21
+ "prepublishOnly": "pnpm build"
22
+ },
23
+ "keywords": [
24
+ "mcp",
25
+ "mural",
26
+ "visual-collaboration",
27
+ "model-context-protocol",
28
+ "ai",
29
+ "llm",
30
+ "oauth"
31
+ ],
32
+ "author": "Florent Lévêque <florent.leveque@digital4better.com>",
33
+ "license": "MIT",
34
+ "homepage": "https://github.com/florentleveque/mural-mcp-serveur#readme",
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/florentleveque/mural-mcp-serveur.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/florentleveque/mural-mcp-serveur/issues"
41
+ },
42
+ "engines": {
43
+ "node": ">=18.0.0"
44
+ },
45
+ "packageManager": "pnpm@10.12.1",
46
+ "files": [
47
+ "build",
48
+ "README.md",
49
+ "LICENSE"
50
+ ],
51
+ "dependencies": {
52
+ "@modelcontextprotocol/sdk": "^1.17.1",
53
+ "dotenv": "^17.2.1",
54
+ "zod": "^4.0.14"
55
+ },
56
+ "devDependencies": {
57
+ "@semantic-release/changelog": "^6.0.3",
58
+ "@semantic-release/commit-analyzer": "^13.0.1",
59
+ "@semantic-release/git": "^10.0.1",
60
+ "@semantic-release/github": "^11.0.1",
61
+ "@semantic-release/npm": "^12.0.1",
62
+ "@semantic-release/release-notes-generator": "^14.0.3",
63
+ "@types/node": "^24.2.0",
64
+ "conventional-changelog-conventionalcommits": "^8.0.0",
65
+ "semantic-release": "^24.2.3",
66
+ "typescript": "^5.9.2"
67
+ }
68
+ }