@musashishao/agent-kit 1.2.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.
Files changed (236) hide show
  1. package/.agent/agents/backend-specialist.md +263 -0
  2. package/.agent/agents/database-architect.md +226 -0
  3. package/.agent/agents/debugger.md +225 -0
  4. package/.agent/agents/devops-engineer.md +242 -0
  5. package/.agent/agents/documentation-writer.md +104 -0
  6. package/.agent/agents/explorer-agent.md +73 -0
  7. package/.agent/agents/frontend-specialist.md +556 -0
  8. package/.agent/agents/game-developer.md +162 -0
  9. package/.agent/agents/mobile-developer.md +377 -0
  10. package/.agent/agents/orchestrator.md +416 -0
  11. package/.agent/agents/penetration-tester.md +188 -0
  12. package/.agent/agents/performance-optimizer.md +187 -0
  13. package/.agent/agents/project-planner.md +403 -0
  14. package/.agent/agents/security-auditor.md +170 -0
  15. package/.agent/agents/seo-specialist.md +111 -0
  16. package/.agent/agents/test-engineer.md +158 -0
  17. package/.agent/mcp/README.md +69 -0
  18. package/.agent/mcp/config/mcp-config.json +62 -0
  19. package/.agent/mcp/config/registry.json +54 -0
  20. package/.agent/mcp/servers/agent-kit-core/package.json +28 -0
  21. package/.agent/mcp/servers/agent-kit-core/src/index.ts +455 -0
  22. package/.agent/mcp/servers/agent-kit-core/tsconfig.json +16 -0
  23. package/.agent/mcp/servers/agent-kit-fs/package.json +25 -0
  24. package/.agent/mcp/servers/agent-kit-fs/src/index.ts +399 -0
  25. package/.agent/mcp/servers/agent-kit-fs/tsconfig.json +16 -0
  26. package/.agent/mcp/servers/agent-kit-git/package.json +24 -0
  27. package/.agent/mcp/servers/agent-kit-git/src/index.ts +283 -0
  28. package/.agent/mcp/servers/agent-kit-git/tsconfig.json +16 -0
  29. package/.agent/mcp/templates/README.md +49 -0
  30. package/.agent/mcp/templates/api/README.md.template +45 -0
  31. package/.agent/mcp/templates/api/src/index.ts.template +185 -0
  32. package/.agent/mcp/templates/base-package.json.template +27 -0
  33. package/.agent/mcp/templates/base-tsconfig.json +21 -0
  34. package/.agent/mcp/templates/custom/src/index.ts.template +133 -0
  35. package/.agent/mcp/templates/database/src/index.ts.template +273 -0
  36. package/.agent/mcp/templates/web-scraper/src/index.ts.template +239 -0
  37. package/.agent/rules/CODEX.md +250 -0
  38. package/.agent/rules/GEMINI.md +251 -0
  39. package/.agent/skills/api-patterns/SKILL.md +81 -0
  40. package/.agent/skills/api-patterns/api-style.md +42 -0
  41. package/.agent/skills/api-patterns/auth.md +24 -0
  42. package/.agent/skills/api-patterns/documentation.md +26 -0
  43. package/.agent/skills/api-patterns/graphql.md +41 -0
  44. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  45. package/.agent/skills/api-patterns/response.md +37 -0
  46. package/.agent/skills/api-patterns/rest.md +40 -0
  47. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  48. package/.agent/skills/api-patterns/security-testing.md +122 -0
  49. package/.agent/skills/api-patterns/trpc.md +41 -0
  50. package/.agent/skills/api-patterns/versioning.md +22 -0
  51. package/.agent/skills/app-builder/SKILL.md +75 -0
  52. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  53. package/.agent/skills/app-builder/feature-building.md +53 -0
  54. package/.agent/skills/app-builder/project-detection.md +34 -0
  55. package/.agent/skills/app-builder/scaffolding.md +118 -0
  56. package/.agent/skills/app-builder/tech-stack.md +40 -0
  57. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  58. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  59. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  60. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  61. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  62. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  63. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  64. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  65. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  66. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  67. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  68. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  69. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  70. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  71. package/.agent/skills/architecture/SKILL.md +55 -0
  72. package/.agent/skills/architecture/context-discovery.md +43 -0
  73. package/.agent/skills/architecture/examples.md +94 -0
  74. package/.agent/skills/architecture/pattern-selection.md +68 -0
  75. package/.agent/skills/architecture/patterns-reference.md +50 -0
  76. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  77. package/.agent/skills/bash-linux/SKILL.md +199 -0
  78. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  79. package/.agent/skills/brainstorming/SKILL.md +163 -0
  80. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  81. package/.agent/skills/clean-code/SKILL.md +201 -0
  82. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  83. package/.agent/skills/context-engineering/SKILL.md +74 -0
  84. package/.agent/skills/context-engineering/examples/advanced_code_request.md +73 -0
  85. package/.agent/skills/context-engineering/scripts/quality_validator.py +294 -0
  86. package/.agent/skills/context-engineering/scripts/repo_mapper.py +27 -0
  87. package/.agent/skills/context-engineering/scripts/skill_checker.py +194 -0
  88. package/.agent/skills/context-engineering/scripts/token_counter.py +65 -0
  89. package/.agent/skills/context-engineering/strategies/context-caching.md +50 -0
  90. package/.agent/skills/context-engineering/strategies/few-shot-examples.md +56 -0
  91. package/.agent/skills/context-engineering/strategies/skeleton-code.md +59 -0
  92. package/.agent/skills/context-engineering/strategies/xml-framing.md +57 -0
  93. package/.agent/skills/database-design/SKILL.md +52 -0
  94. package/.agent/skills/database-design/database-selection.md +43 -0
  95. package/.agent/skills/database-design/indexing.md +39 -0
  96. package/.agent/skills/database-design/migrations.md +48 -0
  97. package/.agent/skills/database-design/optimization.md +36 -0
  98. package/.agent/skills/database-design/orm-selection.md +30 -0
  99. package/.agent/skills/database-design/schema-design.md +56 -0
  100. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  101. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  102. package/.agent/skills/doc.md +177 -0
  103. package/.agent/skills/docker-expert/SKILL.md +409 -0
  104. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  105. package/.agent/skills/frontend-design/SKILL.md +396 -0
  106. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  107. package/.agent/skills/frontend-design/color-system.md +311 -0
  108. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  109. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  110. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  111. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  112. package/.agent/skills/frontend-design/typography-system.md +345 -0
  113. package/.agent/skills/frontend-design/ux-psychology.md +541 -0
  114. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  115. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  116. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  117. package/.agent/skills/game-development/SKILL.md +167 -0
  118. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  119. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  120. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  121. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  122. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  123. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  124. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  125. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  126. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  127. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  128. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  129. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  130. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  131. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  132. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  133. package/.agent/skills/mcp-builder/SKILL.md +662 -0
  134. package/.agent/skills/mcp-builder/python-template.md +522 -0
  135. package/.agent/skills/mcp-builder/tool-patterns.md +642 -0
  136. package/.agent/skills/mcp-builder/typescript-template.md +361 -0
  137. package/.agent/skills/mobile-design/SKILL.md +394 -0
  138. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  139. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  140. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  141. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  142. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  143. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  144. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  145. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  146. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  147. package/.agent/skills/mobile-design/platform-android.md +666 -0
  148. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  149. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  150. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  151. package/.agent/skills/nestjs-expert/SKILL.md +552 -0
  152. package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  153. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  154. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  155. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  156. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  157. package/.agent/skills/plan-writing/SKILL.md +152 -0
  158. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  159. package/.agent/skills/prisma-expert/SKILL.md +355 -0
  160. package/.agent/skills/problem-solving/SKILL.md +556 -0
  161. package/.agent/skills/problem-solving/collision-zone-thinking.md +285 -0
  162. package/.agent/skills/problem-solving/inversion-exercise.md +205 -0
  163. package/.agent/skills/problem-solving/meta-pattern-recognition.md +313 -0
  164. package/.agent/skills/problem-solving/scale-game.md +300 -0
  165. package/.agent/skills/problem-solving/simplification-cascades.md +321 -0
  166. package/.agent/skills/problem-solving/when-stuck.md +146 -0
  167. package/.agent/skills/python-patterns/SKILL.md +441 -0
  168. package/.agent/skills/react-patterns/SKILL.md +198 -0
  169. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  170. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  171. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  172. package/.agent/skills/server-management/SKILL.md +161 -0
  173. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  174. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  175. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  176. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  177. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  178. package/.agent/skills/typescript-expert/SKILL.md +429 -0
  179. package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  180. package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  181. package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
  182. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  183. package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
  184. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  185. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  186. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  187. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  188. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  189. package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  190. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  191. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  192. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  193. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  194. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  195. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  196. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  197. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  198. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  199. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  200. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  201. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  202. package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  203. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  204. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  205. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  206. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  207. package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  208. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  209. package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  210. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  211. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  212. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  213. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  214. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  215. package/.agent/templates/AGENTS.backend.md +230 -0
  216. package/.agent/templates/AGENTS.md +121 -0
  217. package/.agent/templates/AGENTS.mobile.md +183 -0
  218. package/.agent/templates/AGENTS.web.md +192 -0
  219. package/.agent/workflows/brainstorm.md +113 -0
  220. package/.agent/workflows/context.md +47 -0
  221. package/.agent/workflows/create.md +59 -0
  222. package/.agent/workflows/debug.md +103 -0
  223. package/.agent/workflows/deploy.md +176 -0
  224. package/.agent/workflows/enhance.md +63 -0
  225. package/.agent/workflows/orchestrate.md +237 -0
  226. package/.agent/workflows/plan.md +89 -0
  227. package/.agent/workflows/preview.md +80 -0
  228. package/.agent/workflows/quality.md +89 -0
  229. package/.agent/workflows/status.md +86 -0
  230. package/.agent/workflows/test.md +144 -0
  231. package/.agent/workflows/ui-ux-pro-max.md +250 -0
  232. package/LICENSE +21 -0
  233. package/README.md +317 -0
  234. package/bin/cli.js +1267 -0
  235. package/index.js +1 -0
  236. package/package.json +50 -0
@@ -0,0 +1,361 @@
1
+ # TypeScript MCP Server Template
2
+
3
+ > Copy this template to quickly start a new MCP server.
4
+
5
+ ## Project Structure
6
+
7
+ ```
8
+ my-mcp-server/
9
+ ├── src/
10
+ │ ├── index.ts # Entry point
11
+ │ ├── tools/ # Tool implementations
12
+ │ │ ├── index.ts
13
+ │ │ └── example.ts
14
+ │ ├── resources/ # Resource handlers
15
+ │ │ └── index.ts
16
+ │ └── utils/ # Utilities
17
+ │ └── index.ts
18
+ ├── package.json
19
+ ├── tsconfig.json
20
+ └── README.md
21
+ ```
22
+
23
+ ## Files
24
+
25
+ ### package.json
26
+
27
+ ```json
28
+ {
29
+ "name": "my-mcp-server",
30
+ "version": "1.0.0",
31
+ "description": "My MCP Server",
32
+ "type": "module",
33
+ "main": "dist/index.js",
34
+ "bin": {
35
+ "my-mcp-server": "./dist/index.js"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc",
39
+ "dev": "tsx watch src/index.ts",
40
+ "start": "node dist/index.js",
41
+ "test": "vitest",
42
+ "lint": "eslint src",
43
+ "prepublishOnly": "npm run build"
44
+ },
45
+ "dependencies": {
46
+ "@modelcontextprotocol/sdk": "^1.0.0",
47
+ "zod": "^3.23.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^20.0.0",
51
+ "tsx": "^4.0.0",
52
+ "typescript": "^5.0.0",
53
+ "vitest": "^2.0.0",
54
+ "eslint": "^9.0.0"
55
+ },
56
+ "engines": {
57
+ "node": ">=18.0.0"
58
+ }
59
+ }
60
+ ```
61
+
62
+ ### tsconfig.json
63
+
64
+ ```json
65
+ {
66
+ "compilerOptions": {
67
+ "target": "ES2022",
68
+ "module": "NodeNext",
69
+ "moduleResolution": "NodeNext",
70
+ "outDir": "dist",
71
+ "rootDir": "src",
72
+ "strict": true,
73
+ "esModuleInterop": true,
74
+ "skipLibCheck": true,
75
+ "declaration": true,
76
+ "sourceMap": true
77
+ },
78
+ "include": ["src/**/*"],
79
+ "exclude": ["node_modules", "dist"]
80
+ }
81
+ ```
82
+
83
+ ### src/index.ts
84
+
85
+ ```typescript
86
+ #!/usr/bin/env node
87
+
88
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
89
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
90
+
91
+ import { registerTools } from "./tools/index.js";
92
+ import { registerResources } from "./resources/index.js";
93
+
94
+ // Configuration
95
+ const SERVER_NAME = "my-mcp-server";
96
+ const SERVER_VERSION = "1.0.0";
97
+
98
+ // Create server instance
99
+ const server = new McpServer({
100
+ name: SERVER_NAME,
101
+ version: SERVER_VERSION,
102
+ });
103
+
104
+ // Register tools and resources
105
+ registerTools(server);
106
+ registerResources(server);
107
+
108
+ // Error handling
109
+ process.on("uncaughtException", (error) => {
110
+ console.error("Uncaught exception:", error);
111
+ process.exit(1);
112
+ });
113
+
114
+ process.on("unhandledRejection", (reason) => {
115
+ console.error("Unhandled rejection:", reason);
116
+ process.exit(1);
117
+ });
118
+
119
+ // Start server
120
+ async function main() {
121
+ const transport = new StdioServerTransport();
122
+
123
+ await server.connect(transport);
124
+
125
+ console.error(`${SERVER_NAME} v${SERVER_VERSION} running on stdio`);
126
+ }
127
+
128
+ main().catch((error) => {
129
+ console.error("Failed to start server:", error);
130
+ process.exit(1);
131
+ });
132
+ ```
133
+
134
+ ### src/tools/index.ts
135
+
136
+ ```typescript
137
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
138
+ import { z } from "zod";
139
+
140
+ export function registerTools(server: McpServer) {
141
+ // Example: Greet tool
142
+ server.tool(
143
+ "greet",
144
+ "Greet a user by name",
145
+ {
146
+ name: z.string().describe("The name of the user to greet"),
147
+ language: z.enum(["en", "es", "fr"]).default("en").describe("Language for greeting"),
148
+ },
149
+ async ({ name, language }) => {
150
+ const greetings = {
151
+ en: `Hello, ${name}!`,
152
+ es: `¡Hola, ${name}!`,
153
+ fr: `Bonjour, ${name}!`,
154
+ };
155
+
156
+ return {
157
+ content: [
158
+ {
159
+ type: "text",
160
+ text: greetings[language],
161
+ },
162
+ ],
163
+ };
164
+ }
165
+ );
166
+
167
+ // Example: Calculate tool
168
+ server.tool(
169
+ "calculate",
170
+ "Perform a mathematical calculation",
171
+ {
172
+ operation: z.enum(["add", "subtract", "multiply", "divide"]).describe("The operation to perform"),
173
+ a: z.number().describe("First number"),
174
+ b: z.number().describe("Second number"),
175
+ },
176
+ async ({ operation, a, b }) => {
177
+ let result: number;
178
+
179
+ switch (operation) {
180
+ case "add":
181
+ result = a + b;
182
+ break;
183
+ case "subtract":
184
+ result = a - b;
185
+ break;
186
+ case "multiply":
187
+ result = a * b;
188
+ break;
189
+ case "divide":
190
+ if (b === 0) {
191
+ return {
192
+ content: [{ type: "text", text: "Error: Division by zero" }],
193
+ isError: true,
194
+ };
195
+ }
196
+ result = a / b;
197
+ break;
198
+ }
199
+
200
+ return {
201
+ content: [
202
+ {
203
+ type: "text",
204
+ text: JSON.stringify({ operation, a, b, result }),
205
+ },
206
+ ],
207
+ };
208
+ }
209
+ );
210
+
211
+ // Add more tools here...
212
+ }
213
+ ```
214
+
215
+ ### src/resources/index.ts
216
+
217
+ ```typescript
218
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
219
+
220
+ export function registerResources(server: McpServer) {
221
+ // Example: Status resource
222
+ server.resource(
223
+ "status",
224
+ "status://server",
225
+ async (uri) => ({
226
+ contents: [
227
+ {
228
+ uri: uri.href,
229
+ mimeType: "application/json",
230
+ text: JSON.stringify({
231
+ status: "running",
232
+ timestamp: new Date().toISOString(),
233
+ uptime: process.uptime(),
234
+ }),
235
+ },
236
+ ],
237
+ })
238
+ );
239
+
240
+ // Example: Config resource
241
+ server.resource(
242
+ "config",
243
+ "config://settings",
244
+ async (uri) => ({
245
+ contents: [
246
+ {
247
+ uri: uri.href,
248
+ mimeType: "application/json",
249
+ text: JSON.stringify({
250
+ version: "1.0.0",
251
+ features: ["tools", "resources"],
252
+ environment: process.env.NODE_ENV || "development",
253
+ }),
254
+ },
255
+ ],
256
+ })
257
+ );
258
+
259
+ // Add more resources here...
260
+ }
261
+ ```
262
+
263
+ ### src/utils/index.ts
264
+
265
+ ```typescript
266
+ /**
267
+ * Generate a unique ID
268
+ */
269
+ export function generateId(): string {
270
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
271
+ }
272
+
273
+ /**
274
+ * Validate environment variable
275
+ */
276
+ export function requireEnv(name: string): string {
277
+ const value = process.env[name];
278
+ if (!value) {
279
+ throw new Error(`Missing required environment variable: ${name}`);
280
+ }
281
+ return value;
282
+ }
283
+
284
+ /**
285
+ * Optional environment variable with default
286
+ */
287
+ export function getEnv(name: string, defaultValue: string): string {
288
+ return process.env[name] || defaultValue;
289
+ }
290
+
291
+ /**
292
+ * Safe JSON parse with fallback
293
+ */
294
+ export function safeJsonParse<T>(json: string, fallback: T): T {
295
+ try {
296
+ return JSON.parse(json);
297
+ } catch {
298
+ return fallback;
299
+ }
300
+ }
301
+
302
+ /**
303
+ * Delay utility
304
+ */
305
+ export function delay(ms: number): Promise<void> {
306
+ return new Promise((resolve) => setTimeout(resolve, ms));
307
+ }
308
+ ```
309
+
310
+ ## Claude Desktop Configuration
311
+
312
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
313
+
314
+ ```json
315
+ {
316
+ "mcpServers": {
317
+ "my-server": {
318
+ "command": "node",
319
+ "args": ["/path/to/my-mcp-server/dist/index.js"],
320
+ "env": {
321
+ "MY_API_KEY": "your-api-key"
322
+ }
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ ## Development Commands
329
+
330
+ ```bash
331
+ # Install dependencies
332
+ npm install
333
+
334
+ # Development mode (auto-reload)
335
+ npm run dev
336
+
337
+ # Build for production
338
+ npm run build
339
+
340
+ # Test with MCP Inspector
341
+ npx @modelcontextprotocol/inspector node dist/index.js
342
+
343
+ # Run production
344
+ npm start
345
+ ```
346
+
347
+ ## Publishing to npm
348
+
349
+ ```bash
350
+ # 1. Update version
351
+ npm version patch # or minor, major
352
+
353
+ # 2. Build
354
+ npm run build
355
+
356
+ # 3. Publish
357
+ npm publish --access public
358
+
359
+ # Users can then run:
360
+ npx your-package-name
361
+ ```