general-coding-tools-mcp 1.0.9 → 1.1.1

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.
@@ -1 +1 @@
1
- 386fae673ecd031fc0d5bf9be26bee22db0aaece6f15b881f961934cb5ebaa67
1
+ e8788a6164bbbd11c000a326f24a1badb9b406f1baa07335a9e94582e0a31965
package/dist/index.js CHANGED
@@ -208,9 +208,58 @@ server.registerTool("apply_subagent", {
208
208
  const entry = DATA.content.subagents[subagent.name];
209
209
  const extra = (message_to_subagent ?? "").trim();
210
210
  const taskBlock = extra ? `\n\n**Task / context for subagent:**\n${escapeForEmbedding(extra)}` : "";
211
- const text = `**Launch the ${subagent.name} subagent** (separate context). Do not follow these instructions in this chat — the client must start a subagent run with the content below. The subagent runs in another context and returns one result.${taskBlock}\n\n---\n\n${entry.content}`;
211
+ const text = `**Launch the ${subagent.name} subagent** (separate context). Do not follow these instructions in this chat — dispatch a subagent with the FULL content below.\n\n**IMPORTANT:** You MUST embed this ENTIRE response VERBATIM in the Agent tool's \`prompt\` parameter. Do NOT paraphrase, summarize, or omit any section. The subagent needs ALL of it (tool usage guides, process steps, output format, rules) to function correctly.${taskBlock}\n\n---\n\n${entry.content}`;
212
212
  return { content: [{ type: "text", text }] };
213
213
  });
214
+ // --- Prompts: every skill and subagent is available as a slash command ---
215
+ for (const s of DATA.skills) {
216
+ const entry = DATA.content.skills[s.name];
217
+ server.registerPrompt(s.id, {
218
+ title: s.name,
219
+ description: s.description || `Apply the ${s.name} skill`,
220
+ argsSchema: {
221
+ task: z.string().optional().describe("What to audit / check / do (optional — you can describe the scope)"),
222
+ },
223
+ }, async ({ task }) => {
224
+ const extra = (task ?? "").trim();
225
+ const taskBlock = extra ? `\n\n**Task / scope:**\n${extra}\n\n---\n\n` : "\n\n";
226
+ return {
227
+ messages: [
228
+ {
229
+ role: "user",
230
+ content: {
231
+ type: "text",
232
+ text: `I will follow the **${s.name}** skill.${taskBlock}${entry.content}`,
233
+ },
234
+ },
235
+ ],
236
+ };
237
+ });
238
+ }
239
+ for (const a of DATA.subagents) {
240
+ const entry = DATA.content.subagents[a.name];
241
+ server.registerPrompt(a.id, {
242
+ title: a.name,
243
+ description: a.description || `Launch the ${a.name} subagent`,
244
+ argsSchema: {
245
+ task: z.string().optional().describe("Context or task for the subagent (optional)"),
246
+ },
247
+ }, async ({ task }) => {
248
+ const extra = (task ?? "").trim();
249
+ const taskBlock = extra ? `\n\n**Task / context for subagent:**\n${extra}` : "";
250
+ return {
251
+ messages: [
252
+ {
253
+ role: "user",
254
+ content: {
255
+ type: "text",
256
+ text: `**Launch the ${a.name} subagent** (separate context). Do not follow these instructions in this chat — dispatch a subagent with the FULL content below.\n\n**IMPORTANT:** You MUST embed this ENTIRE response VERBATIM in the Agent tool's \`prompt\` parameter. Do NOT paraphrase, summarize, or omit any section. The subagent needs ALL of it (tool usage guides, process steps, output format, rules) to function correctly.${taskBlock}\n\n---\n\n${entry.content}`,
257
+ },
258
+ },
259
+ ],
260
+ };
261
+ });
262
+ }
214
263
  // --- Run ---
215
264
  async function main() {
216
265
  const transport = new StdioServerTransport();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "general-coding-tools-mcp",
3
- "version": "1.0.9",
4
- "description": "MCP server exposing General Coding Tools (skills and subagents) for use in Cursor, Claude, and Smithery",
3
+ "version": "1.1.1",
4
+ "description": "MCP server with coding skills and subagents — debugging, code audits (correctness, security, best practices, SQL migrations), feature planning, testing (React/Vitest, Deno, pgTAP), UI/accessibility audits, deep research, and doc generation. Works with Cursor, Claude, Windsurf, and any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -21,10 +21,29 @@
21
21
  },
22
22
  "keywords": [
23
23
  "mcp",
24
+ "mcp-server",
25
+ "model-context-protocol",
24
26
  "cursor",
27
+ "claude",
28
+ "windsurf",
25
29
  "smithery",
26
30
  "skills",
27
- "general-coding-tools"
31
+ "code-audit",
32
+ "security-audit",
33
+ "debugging",
34
+ "testing",
35
+ "vitest",
36
+ "react-testing-library",
37
+ "pgtap",
38
+ "supabase",
39
+ "accessibility",
40
+ "wcag",
41
+ "feature-planning",
42
+ "code-review",
43
+ "migration-audit",
44
+ "plpgsql",
45
+ "sql-migrations",
46
+ "ai-tools"
28
47
  ],
29
48
  "license": "MIT",
30
49
  "dependencies": {