@csszyx/mcp-server 0.11.4 → 0.11.5
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/dist/index.d.mts +203 -0
- package/dist/index.mjs +18 -5
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -1 +1,204 @@
|
|
|
1
1
|
|
|
2
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @csszyx/mcp-server — Model Context Protocol server for csszyx.
|
|
6
|
+
*
|
|
7
|
+
* Enables AI agents (Cursor, Windsurf, Claude Desktop, Cline) to natively
|
|
8
|
+
* understand and generate csszyx sz props.
|
|
9
|
+
*
|
|
10
|
+
* Architecture follows Tier-1 Proxy patterns:
|
|
11
|
+
* - 7 Stateless Sandbox tools (no destructive edits)
|
|
12
|
+
* - 3 Reference Data Endpoints
|
|
13
|
+
* - Unified Single Source of Truth via @csszyx/compiler and @csszyx/unplugin
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
declare const server: Server<{
|
|
19
|
+
method: string;
|
|
20
|
+
params?: {
|
|
21
|
+
[x: string]: unknown;
|
|
22
|
+
_meta?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
progressToken?: string | number | undefined;
|
|
25
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
26
|
+
taskId: string;
|
|
27
|
+
} | undefined;
|
|
28
|
+
} | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
}, {
|
|
31
|
+
method: string;
|
|
32
|
+
params?: {
|
|
33
|
+
[x: string]: unknown;
|
|
34
|
+
_meta?: {
|
|
35
|
+
[x: string]: unknown;
|
|
36
|
+
progressToken?: string | number | undefined;
|
|
37
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
38
|
+
taskId: string;
|
|
39
|
+
} | undefined;
|
|
40
|
+
} | undefined;
|
|
41
|
+
} | undefined;
|
|
42
|
+
}, {
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
_meta?: {
|
|
45
|
+
[x: string]: unknown;
|
|
46
|
+
progressToken?: string | number | undefined;
|
|
47
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
48
|
+
taskId: string;
|
|
49
|
+
} | undefined;
|
|
50
|
+
} | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
declare const TOOLS: ({
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: "object";
|
|
57
|
+
properties: {
|
|
58
|
+
sz: {
|
|
59
|
+
type: "object";
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
62
|
+
classes?: undefined;
|
|
63
|
+
query?: undefined;
|
|
64
|
+
code?: undefined;
|
|
65
|
+
customMap?: undefined;
|
|
66
|
+
injectTodos?: undefined;
|
|
67
|
+
items?: undefined;
|
|
68
|
+
css?: undefined;
|
|
69
|
+
};
|
|
70
|
+
required: string[];
|
|
71
|
+
};
|
|
72
|
+
} | {
|
|
73
|
+
name: string;
|
|
74
|
+
description: string;
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: "object";
|
|
77
|
+
properties: {
|
|
78
|
+
classes: {
|
|
79
|
+
type: "string";
|
|
80
|
+
description: string;
|
|
81
|
+
};
|
|
82
|
+
sz?: undefined;
|
|
83
|
+
query?: undefined;
|
|
84
|
+
code?: undefined;
|
|
85
|
+
customMap?: undefined;
|
|
86
|
+
injectTodos?: undefined;
|
|
87
|
+
items?: undefined;
|
|
88
|
+
css?: undefined;
|
|
89
|
+
};
|
|
90
|
+
required: string[];
|
|
91
|
+
};
|
|
92
|
+
} | {
|
|
93
|
+
name: string;
|
|
94
|
+
description: string;
|
|
95
|
+
inputSchema: {
|
|
96
|
+
type: "object";
|
|
97
|
+
properties: {
|
|
98
|
+
query: {
|
|
99
|
+
type: "string";
|
|
100
|
+
description: string;
|
|
101
|
+
};
|
|
102
|
+
sz?: undefined;
|
|
103
|
+
classes?: undefined;
|
|
104
|
+
code?: undefined;
|
|
105
|
+
customMap?: undefined;
|
|
106
|
+
injectTodos?: undefined;
|
|
107
|
+
items?: undefined;
|
|
108
|
+
css?: undefined;
|
|
109
|
+
};
|
|
110
|
+
required: string[];
|
|
111
|
+
};
|
|
112
|
+
} | {
|
|
113
|
+
name: string;
|
|
114
|
+
description: string;
|
|
115
|
+
inputSchema: {
|
|
116
|
+
type: "object";
|
|
117
|
+
properties: {
|
|
118
|
+
code: {
|
|
119
|
+
type: "string";
|
|
120
|
+
description: string;
|
|
121
|
+
};
|
|
122
|
+
customMap: {
|
|
123
|
+
type: "object";
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
126
|
+
injectTodos: {
|
|
127
|
+
type: "boolean";
|
|
128
|
+
description: string;
|
|
129
|
+
};
|
|
130
|
+
sz?: undefined;
|
|
131
|
+
classes?: undefined;
|
|
132
|
+
query?: undefined;
|
|
133
|
+
items?: undefined;
|
|
134
|
+
css?: undefined;
|
|
135
|
+
};
|
|
136
|
+
required: string[];
|
|
137
|
+
};
|
|
138
|
+
} | {
|
|
139
|
+
name: string;
|
|
140
|
+
description: string;
|
|
141
|
+
inputSchema: {
|
|
142
|
+
type: "object";
|
|
143
|
+
properties: {
|
|
144
|
+
items: {
|
|
145
|
+
type: "array";
|
|
146
|
+
items: {
|
|
147
|
+
type: "object";
|
|
148
|
+
};
|
|
149
|
+
description: string;
|
|
150
|
+
};
|
|
151
|
+
sz?: undefined;
|
|
152
|
+
classes?: undefined;
|
|
153
|
+
query?: undefined;
|
|
154
|
+
code?: undefined;
|
|
155
|
+
customMap?: undefined;
|
|
156
|
+
injectTodos?: undefined;
|
|
157
|
+
css?: undefined;
|
|
158
|
+
};
|
|
159
|
+
required: string[];
|
|
160
|
+
};
|
|
161
|
+
} | {
|
|
162
|
+
name: string;
|
|
163
|
+
description: string;
|
|
164
|
+
inputSchema: {
|
|
165
|
+
type: "object";
|
|
166
|
+
properties: {
|
|
167
|
+
css: {
|
|
168
|
+
type: "string";
|
|
169
|
+
description: string;
|
|
170
|
+
};
|
|
171
|
+
sz?: undefined;
|
|
172
|
+
classes?: undefined;
|
|
173
|
+
query?: undefined;
|
|
174
|
+
code?: undefined;
|
|
175
|
+
customMap?: undefined;
|
|
176
|
+
injectTodos?: undefined;
|
|
177
|
+
items?: undefined;
|
|
178
|
+
};
|
|
179
|
+
required: string[];
|
|
180
|
+
};
|
|
181
|
+
})[];
|
|
182
|
+
/**
|
|
183
|
+
*
|
|
184
|
+
*/
|
|
185
|
+
/**
|
|
186
|
+
* Handle conventional `--version` / `--help` flags by printing diagnostics to
|
|
187
|
+
* stdout and exiting, WITHOUT starting the stdio server. Lets a host or a human
|
|
188
|
+
* separate a server/package failure from an MCP attachment failure without having
|
|
189
|
+
* to speak JSON-RPC. Returns true when a flag was handled (caller should not start
|
|
190
|
+
* the server).
|
|
191
|
+
*
|
|
192
|
+
* @param argv - process arguments (`process.argv.slice(2)`).
|
|
193
|
+
* @returns whether a flag was handled.
|
|
194
|
+
*/
|
|
195
|
+
declare function handleCliFlags(argv: string[]): boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Only start the stdio server when this module is the process entry point, not
|
|
198
|
+
* when a test imports it to exercise the handlers in-process. realpath so the
|
|
199
|
+
* bin symlink (node_modules/.bin/csszyx-mcp) still resolves to this module.
|
|
200
|
+
* @returns Whether this module was run directly.
|
|
201
|
+
*/
|
|
202
|
+
declare function isEntrypoint(): boolean;
|
|
203
|
+
|
|
204
|
+
export { TOOLS, handleCliFlags, isEntrypoint, server };
|
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import fs, { realpathSync } from 'node:fs';
|
|
2
3
|
import { createRequire } from 'node:module';
|
|
3
4
|
import path from 'node:path';
|
|
4
5
|
import { fileURLToPath } from 'node:url';
|
|
5
6
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
7
8
|
import { ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import fs from 'node:fs';
|
|
9
9
|
import { sortStrings, SPECIAL_VARIANTS, KNOWN_VARIANTS, PROPERTY_MAP, transform, SUGGESTION_MAP, BOOLEAN_SHORTHANDS, REMOVED_BOOLEAN_SUGAR } from '@csszyx/compiler';
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
import { migrateSource, classNameToSzObject } from '@csszyx/cli';
|
|
@@ -861,7 +861,20 @@ async function main() {
|
|
|
861
861
|
` Tools: ${TOOLS.length} | Resources: ${listResources().length} | Prompts: ${listPrompts().length}`
|
|
862
862
|
);
|
|
863
863
|
}
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
864
|
+
function isEntrypoint() {
|
|
865
|
+
const invoked = process.argv[1];
|
|
866
|
+
if (!invoked) return false;
|
|
867
|
+
try {
|
|
868
|
+
return realpathSync(invoked) === fileURLToPath(import.meta.url);
|
|
869
|
+
} catch {
|
|
870
|
+
return false;
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
if (isEntrypoint()) {
|
|
874
|
+
main().catch((error) => {
|
|
875
|
+
console.error("Server error:", error);
|
|
876
|
+
process.exit(1);
|
|
877
|
+
});
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
export { TOOLS, handleCliFlags, isEntrypoint, server };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@csszyx/mcp-server",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.5",
|
|
4
4
|
"description": "Model Context Protocol (MCP) server for csszyx — enables AI agents to understand and generate sz props",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
32
32
|
"zod": "^3.23.8",
|
|
33
|
-
"@csszyx/compiler": "0.11.
|
|
34
|
-
"@csszyx/
|
|
35
|
-
"@csszyx/
|
|
33
|
+
"@csszyx/compiler": "0.11.5",
|
|
34
|
+
"@csszyx/unplugin": "0.11.5",
|
|
35
|
+
"@csszyx/cli": "0.11.5"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"typescript": "^6.0.3",
|