grok-faf-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.
Files changed (213) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/CLAUDE.md +273 -0
  3. package/LICENSE +22 -0
  4. package/README.md +228 -0
  5. package/assets/Project-faf-pckg-json-README.png +0 -0
  6. package/assets/icons/faf-icon-128.png +0 -0
  7. package/assets/icons/faf-icon-256.png +0 -0
  8. package/assets/icons/faf-icon-400.png +0 -0
  9. package/assets/icons/faf-icon-48.png +0 -0
  10. package/assets/icons/faf-icon-512.png +0 -0
  11. package/assets/icons/orange-smiley.svg +6 -0
  12. package/dist/index.json +1 -0
  13. package/dist/src/cli.d.ts +2 -0
  14. package/dist/src/cli.js +32 -0
  15. package/dist/src/cli.js.map +1 -0
  16. package/dist/src/compiler/index.d.ts +7 -0
  17. package/dist/src/compiler/index.js +24 -0
  18. package/dist/src/compiler/index.js.map +1 -0
  19. package/dist/src/compiler/scorer.d.ts +53 -0
  20. package/dist/src/compiler/scorer.js +189 -0
  21. package/dist/src/compiler/scorer.js.map +1 -0
  22. package/dist/src/compiler/slot-validator.d.ts +32 -0
  23. package/dist/src/compiler/slot-validator.js +293 -0
  24. package/dist/src/compiler/slot-validator.js.map +1 -0
  25. package/dist/src/compiler/type-detector.d.ts +62 -0
  26. package/dist/src/compiler/type-detector.js +388 -0
  27. package/dist/src/compiler/type-detector.js.map +1 -0
  28. package/dist/src/config/visibility.d.ts +41 -0
  29. package/dist/src/config/visibility.js +158 -0
  30. package/dist/src/config/visibility.js.map +1 -0
  31. package/dist/src/faf-core/commands/audit.d.ts +21 -0
  32. package/dist/src/faf-core/commands/audit.js +83 -0
  33. package/dist/src/faf-core/commands/audit.js.map +1 -0
  34. package/dist/src/faf-core/commands/auto.d.ts +25 -0
  35. package/dist/src/faf-core/commands/auto.js +74 -0
  36. package/dist/src/faf-core/commands/auto.js.map +1 -0
  37. package/dist/src/faf-core/commands/bi-sync.d.ts +27 -0
  38. package/dist/src/faf-core/commands/bi-sync.js +197 -0
  39. package/dist/src/faf-core/commands/bi-sync.js.map +1 -0
  40. package/dist/src/faf-core/commands/doctor.d.ts +17 -0
  41. package/dist/src/faf-core/commands/doctor.js +198 -0
  42. package/dist/src/faf-core/commands/doctor.js.map +1 -0
  43. package/dist/src/faf-core/commands/enhance.d.ts +46 -0
  44. package/dist/src/faf-core/commands/enhance.js +360 -0
  45. package/dist/src/faf-core/commands/enhance.js.map +1 -0
  46. package/dist/src/faf-core/commands/formats.d.ts +22 -0
  47. package/dist/src/faf-core/commands/formats.js +117 -0
  48. package/dist/src/faf-core/commands/formats.js.map +1 -0
  49. package/dist/src/faf-core/commands/init.d.ts +26 -0
  50. package/dist/src/faf-core/commands/init.js +114 -0
  51. package/dist/src/faf-core/commands/init.js.map +1 -0
  52. package/dist/src/faf-core/commands/innit.d.ts +7 -0
  53. package/dist/src/faf-core/commands/innit.js +13 -0
  54. package/dist/src/faf-core/commands/innit.js.map +1 -0
  55. package/dist/src/faf-core/commands/migrate.d.ts +15 -0
  56. package/dist/src/faf-core/commands/migrate.js +86 -0
  57. package/dist/src/faf-core/commands/migrate.js.map +1 -0
  58. package/dist/src/faf-core/commands/quick.d.ts +16 -0
  59. package/dist/src/faf-core/commands/quick.js +184 -0
  60. package/dist/src/faf-core/commands/quick.js.map +1 -0
  61. package/dist/src/faf-core/commands/score.d.ts +47 -0
  62. package/dist/src/faf-core/commands/score.js +49 -0
  63. package/dist/src/faf-core/commands/score.js.map +1 -0
  64. package/dist/src/faf-core/commands/sync.d.ts +16 -0
  65. package/dist/src/faf-core/commands/sync.js +210 -0
  66. package/dist/src/faf-core/commands/sync.js.map +1 -0
  67. package/dist/src/faf-core/commands/update.d.ts +12 -0
  68. package/dist/src/faf-core/commands/update.js +46 -0
  69. package/dist/src/faf-core/commands/update.js.map +1 -0
  70. package/dist/src/faf-core/commands/validate.d.ts +21 -0
  71. package/dist/src/faf-core/commands/validate.js +81 -0
  72. package/dist/src/faf-core/commands/validate.js.map +1 -0
  73. package/dist/src/faf-core/compiler/faf-compiler.d.ts +138 -0
  74. package/dist/src/faf-core/compiler/faf-compiler.js +794 -0
  75. package/dist/src/faf-core/compiler/faf-compiler.js.map +1 -0
  76. package/dist/src/faf-core/engines/dependency-tsa.d.ts +88 -0
  77. package/dist/src/faf-core/engines/dependency-tsa.js +361 -0
  78. package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -0
  79. package/dist/src/faf-core/engines/fab-formats-processor.d.ts +166 -0
  80. package/dist/src/faf-core/engines/fab-formats-processor.js +1274 -0
  81. package/dist/src/faf-core/engines/fab-formats-processor.js.map +1 -0
  82. package/dist/src/faf-core/engines/faf-dna.d.ts +159 -0
  83. package/dist/src/faf-core/engines/faf-dna.js +554 -0
  84. package/dist/src/faf-core/engines/faf-dna.js.map +1 -0
  85. package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +100 -0
  86. package/dist/src/faf-core/engines/relentless-context-extractor.js +625 -0
  87. package/dist/src/faf-core/engines/relentless-context-extractor.js.map +1 -0
  88. package/dist/src/faf-core/fix-once/colors.d.ts +104 -0
  89. package/dist/src/faf-core/fix-once/colors.js +236 -0
  90. package/dist/src/faf-core/fix-once/colors.js.map +1 -0
  91. package/dist/src/faf-core/fix-once/types.d.ts +257 -0
  92. package/dist/src/faf-core/fix-once/types.js +26 -0
  93. package/dist/src/faf-core/fix-once/types.js.map +1 -0
  94. package/dist/src/faf-core/fix-once/yaml.d.ts +57 -0
  95. package/dist/src/faf-core/fix-once/yaml.js +172 -0
  96. package/dist/src/faf-core/fix-once/yaml.js.map +1 -0
  97. package/dist/src/faf-core/generators/faf-generator-championship.d.ts +16 -0
  98. package/dist/src/faf-core/generators/faf-generator-championship.js +462 -0
  99. package/dist/src/faf-core/generators/faf-generator-championship.js.map +1 -0
  100. package/dist/src/faf-core/utils/balance-visualizer.d.ts +37 -0
  101. package/dist/src/faf-core/utils/balance-visualizer.js +197 -0
  102. package/dist/src/faf-core/utils/balance-visualizer.js.map +1 -0
  103. package/dist/src/faf-core/utils/championship-style.d.ts +109 -0
  104. package/dist/src/faf-core/utils/championship-style.js +219 -0
  105. package/dist/src/faf-core/utils/championship-style.js.map +1 -0
  106. package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +73 -0
  107. package/dist/src/faf-core/utils/chrome-extension-detector.js +268 -0
  108. package/dist/src/faf-core/utils/chrome-extension-detector.js.map +1 -0
  109. package/dist/src/faf-core/utils/fafignore-parser.d.ts +20 -0
  110. package/dist/src/faf-core/utils/fafignore-parser.js +178 -0
  111. package/dist/src/faf-core/utils/fafignore-parser.js.map +1 -0
  112. package/dist/src/faf-core/utils/file-utils.d.ts +112 -0
  113. package/dist/src/faf-core/utils/file-utils.js +846 -0
  114. package/dist/src/faf-core/utils/file-utils.js.map +1 -0
  115. package/dist/src/faf-core/utils/native-file-finder.d.ts +115 -0
  116. package/dist/src/faf-core/utils/native-file-finder.js +211 -0
  117. package/dist/src/faf-core/utils/native-file-finder.js.map +1 -0
  118. package/dist/src/faf-core/utils/platform-detector.d.ts +30 -0
  119. package/dist/src/faf-core/utils/platform-detector.js +218 -0
  120. package/dist/src/faf-core/utils/platform-detector.js.map +1 -0
  121. package/dist/src/faf-core/utils/technical-credit.d.ts +35 -0
  122. package/dist/src/faf-core/utils/technical-credit.js +286 -0
  123. package/dist/src/faf-core/utils/technical-credit.js.map +1 -0
  124. package/dist/src/faf-core/utils/yaml-generator.d.ts +41 -0
  125. package/dist/src/faf-core/utils/yaml-generator.js +360 -0
  126. package/dist/src/faf-core/utils/yaml-generator.js.map +1 -0
  127. package/dist/src/handlers/behavioral-instruction.d.ts +16 -0
  128. package/dist/src/handlers/behavioral-instruction.js +43 -0
  129. package/dist/src/handlers/behavioral-instruction.js.map +1 -0
  130. package/dist/src/handlers/championship-tools.d.ts +113 -0
  131. package/dist/src/handlers/championship-tools.js +2602 -0
  132. package/dist/src/handlers/championship-tools.js.map +1 -0
  133. package/dist/src/handlers/engine-adapter.d.ts +28 -0
  134. package/dist/src/handlers/engine-adapter.js +606 -0
  135. package/dist/src/handlers/engine-adapter.js.map +1 -0
  136. package/dist/src/handlers/fileHandler.d.ts +36 -0
  137. package/dist/src/handlers/fileHandler.js +246 -0
  138. package/dist/src/handlers/fileHandler.js.map +1 -0
  139. package/dist/src/handlers/resources.d.ts +18 -0
  140. package/dist/src/handlers/resources.js +78 -0
  141. package/dist/src/handlers/resources.js.map +1 -0
  142. package/dist/src/handlers/tool-registry.d.ts +23 -0
  143. package/dist/src/handlers/tool-registry.js +68 -0
  144. package/dist/src/handlers/tool-registry.js.map +1 -0
  145. package/dist/src/handlers/tool-types.d.ts +167 -0
  146. package/dist/src/handlers/tool-types.js +7 -0
  147. package/dist/src/handlers/tool-types.js.map +1 -0
  148. package/dist/src/handlers/tools.d.ts +25 -0
  149. package/dist/src/handlers/tools.js +1160 -0
  150. package/dist/src/handlers/tools.js.map +1 -0
  151. package/dist/src/index.d.ts +2 -0
  152. package/dist/src/index.js +17 -0
  153. package/dist/src/index.js.map +1 -0
  154. package/dist/src/server.d.ts +28 -0
  155. package/dist/src/server.js +191 -0
  156. package/dist/src/server.js.map +1 -0
  157. package/dist/src/test-all-functions.d.ts +15 -0
  158. package/dist/src/test-all-functions.js +163 -0
  159. package/dist/src/test-all-functions.js.map +1 -0
  160. package/dist/src/types/mcp-tools.d.ts +53 -0
  161. package/dist/src/types/mcp-tools.js +77 -0
  162. package/dist/src/types/mcp-tools.js.map +1 -0
  163. package/dist/src/types/project-types.d.ts +22 -0
  164. package/dist/src/types/project-types.js +85 -0
  165. package/dist/src/types/project-types.js.map +1 -0
  166. package/dist/src/types/slots.d.ts +39 -0
  167. package/dist/src/types/slots.js +162 -0
  168. package/dist/src/types/slots.js.map +1 -0
  169. package/dist/src/types/tool-visibility.d.ts +36 -0
  170. package/dist/src/types/tool-visibility.js +510 -0
  171. package/dist/src/types/tool-visibility.js.map +1 -0
  172. package/dist/src/utils/auto-path-detection.d.ts +26 -0
  173. package/dist/src/utils/auto-path-detection.js +198 -0
  174. package/dist/src/utils/auto-path-detection.js.map +1 -0
  175. package/dist/src/utils/championship-format.d.ts +30 -0
  176. package/dist/src/utils/championship-format.js +79 -0
  177. package/dist/src/utils/championship-format.js.map +1 -0
  178. package/dist/src/utils/cli-detector.d.ts +20 -0
  179. package/dist/src/utils/cli-detector.js +230 -0
  180. package/dist/src/utils/cli-detector.js.map +1 -0
  181. package/dist/src/utils/display-protocol.d.ts +57 -0
  182. package/dist/src/utils/display-protocol.js +131 -0
  183. package/dist/src/utils/display-protocol.js.map +1 -0
  184. package/dist/src/utils/faf-file-finder.d.ts +59 -0
  185. package/dist/src/utils/faf-file-finder.js +139 -0
  186. package/dist/src/utils/faf-file-finder.js.map +1 -0
  187. package/dist/src/utils/fuzzy-detector.d.ts +56 -0
  188. package/dist/src/utils/fuzzy-detector.js +221 -0
  189. package/dist/src/utils/fuzzy-detector.js.map +1 -0
  190. package/dist/src/utils/path-resolver.d.ts +51 -0
  191. package/dist/src/utils/path-resolver.js +214 -0
  192. package/dist/src/utils/path-resolver.js.map +1 -0
  193. package/dist/src/utils/type-guards.d.ts +9 -0
  194. package/dist/src/utils/type-guards.js +27 -0
  195. package/dist/src/utils/type-guards.js.map +1 -0
  196. package/dist/src/utils/username-detector.d.ts +27 -0
  197. package/dist/src/utils/username-detector.js +90 -0
  198. package/dist/src/utils/username-detector.js.map +1 -0
  199. package/dist/src/utils/visual-style.d.ts +62 -0
  200. package/dist/src/utils/visual-style.js +164 -0
  201. package/dist/src/utils/visual-style.js.map +1 -0
  202. package/dist/src/version.d.ts +9 -0
  203. package/dist/src/version.js +37 -0
  204. package/dist/src/version.js.map +1 -0
  205. package/package.json +120 -0
  206. package/project.faf +125 -0
  207. package/scripts/discord-sync-curated.js +233 -0
  208. package/scripts/discord-sync-final.js +218 -0
  209. package/scripts/discord-sync-simple.js +175 -0
  210. package/scripts/discord-sync-working.js +187 -0
  211. package/scripts/discord-sync.js +181 -0
  212. package/scripts/postinstall.js +46 -0
  213. package/skill/SKILL.md +385 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,44 @@
1
+ # Changelog
2
+
3
+ All notable changes to faf-mcp will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.1.1] - 2025-11-16
9
+
10
+ ### Changed
11
+ - Updated Discord community invite link to working URL
12
+ - Added Anthropic-approved heritage statement to README
13
+ - Updated package.json description with new branding
14
+
15
+ ### Fixed
16
+ - Discord invite link now uses permanent invite (never expires)
17
+
18
+ ## [1.0.0] - 2025-11-12
19
+
20
+ ### Added
21
+ - **Universal MCP Package** - Platform-agnostic MCP server for all MCP-compatible platforms
22
+ - Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP client
23
+ - 50 MCP tools for FAF context management
24
+ - Auto-installs faf-cli as dependency
25
+ - Orange smiley icon included in package
26
+ - **Platform-Specific Documentation** - Setup guides for each major platform
27
+ - Claude Desktop config instructions
28
+ - Cursor IDE integration steps
29
+ - Windsurf Editor setup
30
+ - VS Code MCP extension guide
31
+
32
+ ### Technical
33
+ - Based on claude-faf-mcp v3.3.0 codebase
34
+ - 100% standalone operation (bundled FAF engine)
35
+ - 16.2x faster than CLI versions
36
+ - 19ms average execution time
37
+ - Zero external dependencies
38
+
39
+ ### Ecosystem
40
+ This is the universal package for FAF MCP integration. Platform-specific packages (cursor-faf-mcp, windsurf-faf-mcp, etc.) may follow based on demand.
41
+
42
+ ---
43
+
44
+ *For claude-faf-mcp changelog history, see: https://github.com/Wolfe-Jam/claude-faf-mcp/blob/main/CHANGELOG.md*
package/CLAUDE.md ADDED
@@ -0,0 +1,273 @@
1
+ # 🏎️ CLAUDE.md - grok-faf-mcp | FAST⚡️AF
2
+
3
+ ## PROJECT STATE: SHIPPING 🚀
4
+ **Current Position:** First MCP server built for Grok
5
+ **Tyre Compound:** ULTRASOFT C5 (Maximum Performance)
6
+ **Status:** URL-based, Vercel-deployed, Production-ready
7
+
8
+ ---
9
+
10
+ ## 🎨 CORE CONTEXT
11
+
12
+ ### Project Identity
13
+ - **Name:** grok-faf-mcp
14
+ - **Purpose:** First MCP server responding to Grok's URL request
15
+ - **Stack:** Node.js/TypeScript + Vercel
16
+ - **Quality:** F1-INSPIRED (Championship Performance)
17
+ - **Philosophy:** FAST⚡️AF - First to ship, zero friction, exactly what you asked for
18
+
19
+ ### The Mission
20
+
21
+ **Grok asked for MCP on a URL. This is it.**
22
+
23
+ This is the FIRST MCP server specifically built for Grok/xAI, deployed on Vercel with URL-based access. No installation required. Point your Grok integration at the endpoint, get instant access to 17 MCP tools + 14 bundled commands.
24
+
25
+ ### Repository Structure
26
+
27
+ ```
28
+ grok-faf-mcp/
29
+ ├── src/ # TypeScript source
30
+ ├── api/ # Vercel serverless functions
31
+ │ └── index.ts # Main MCP server endpoint
32
+ ├── dist/ # Compiled output
33
+ ├── package.json # grok-faf-mcp package config
34
+ ├── README.md # FAST⚡️AF documentation
35
+ ├── CLAUDE.md # This file - persistent context
36
+ └── vercel.json # Vercel deployment config
37
+ ```
38
+
39
+ ### Technical Architecture
40
+ - **What:** URL-based MCP server for Grok
41
+ - **How:** Express app on Vercel with SSE transport
42
+ - **Why:** Grok asked for MCP on a URL - first to deliver
43
+ - **Format:** IANA-registered .faf (application/vnd.faf+yaml)
44
+
45
+ ### 📊 Context Quality Status
46
+ - **Overall Assessment:** Production-ready (based on faf-mcp v1.1.1)
47
+ - **Last Updated:** 2025-11-18
48
+ - **Version:** 1.0.0 (First Release)
49
+
50
+ ---
51
+
52
+ ## 🚀 Deployment Architecture
53
+
54
+ ### Vercel Production
55
+ - **URL:** https://grok-faf-mcp.vercel.app/
56
+ - **SSE Endpoint:** https://grok-faf-mcp.vercel.app/sse
57
+ - **Health Check:** https://grok-faf-mcp.vercel.app/health
58
+ - **Info:** https://grok-faf-mcp.vercel.app/info
59
+
60
+ ### Key Features
61
+ - **Global Edge Deployment** - Vercel's worldwide CDN
62
+ - **Zero Configuration** - Just point to the URL
63
+ - **Production Infrastructure** - Battle-tested on faf-mcp
64
+ - **HTTP-SSE Transport** - MCP over Server-Sent Events
65
+
66
+ ---
67
+
68
+ ## 💡 Quick Start for AI
69
+
70
+ **Q: How do I use grok-faf-mcp?**
71
+
72
+ **A: Two options:**
73
+
74
+ **Option 1: URL-Based (Instant)**
75
+ ```
76
+ Point your MCP client to: https://grok-faf-mcp.vercel.app/sse
77
+ ```
78
+
79
+ **Option 2: Local Install**
80
+ ```
81
+ npm install -g grok-faf-mcp
82
+
83
+ Add to MCP config:
84
+ {
85
+ "mcpServers": {
86
+ "grok-faf": {
87
+ "command": "npx",
88
+ "args": ["-y", "grok-faf-mcp"]
89
+ }
90
+ }
91
+ }
92
+ ```
93
+
94
+ **Then start every prompt with "Use FAF":**
95
+ ```
96
+ Use FAF to initialize my project
97
+ Use FAF to score my AI-readiness
98
+ Use FAF to sync project context
99
+ ```
100
+
101
+ ---
102
+
103
+ ## 🚨 NPM PUBLISH PROTOCOL - MANDATORY 🚨
104
+
105
+ **CRITICAL RULE: `npm publish` IS FORBIDDEN WITHOUT APPROVAL**
106
+
107
+ Before ANY npm publish of grok-faf-mcp:
108
+
109
+ 1. **Follow the MCP Publish Checklist** at `/Users/wolfejam/FAF-GOLD/PLANET-FAF/PUBLISH-PROTOCOL.md`
110
+ 2. **Run ALL checklist items** (build, tests, version, README, CHANGELOG, etc.)
111
+ 3. **Request approval** with checklist results in the format specified
112
+ 4. **Wait for OFFICIAL GO!** from wolfejam
113
+
114
+ **Required approval signals:**
115
+ - ✅ **"GO!"** - Approved to publish
116
+ - ✅ **"GREEN LIGHT"** - Approved to publish
117
+ - ❌ Anything else - DO NOT PUBLISH
118
+
119
+ **Why this matters:**
120
+ - First MCP server for Grok - sets the standard
121
+ - Elon/xAI reputation on the line
122
+ - URL-based deployment - production infrastructure
123
+ - One bad publish damages the entire FAF ecosystem
124
+
125
+ **No exceptions. No shortcuts. Professional. Boring. Trusted.**
126
+
127
+ ---
128
+
129
+ ## 🎯 Strategic Position
130
+
131
+ ### Market Positioning
132
+
133
+ **The Story:**
134
+ "Grok asked for MCP on a URL. We built the first Grok-specific MCP server. grok-faf-mcp - exactly what you wanted."
135
+
136
+ **Target Audience:**
137
+ - xAI/Grok developers and users
138
+ - URL-based MCP adopters
139
+ - Fast-moving teams (Elon philosophy)
140
+ - First-mover advantage seekers
141
+
142
+ **Differentiation:**
143
+ - ✅ First MCP server for Grok
144
+ - ✅ URL-based (no installation required)
145
+ - ✅ Vercel deployment (production-ready)
146
+ - ✅ FAST⚡️AF branding (Elon-style execution)
147
+ - ✅ Based on proven faf-mcp codebase
148
+
149
+ ### Package Ecosystem
150
+
151
+ **FAF Package Family:**
152
+ - `claude-faf-mcp` - 6.7k downloads (Claude Desktop)
153
+ - `faf-mcp` - 800 downloads in 4 days (Universal)
154
+ - `grok-faf-mcp` - NEW (Grok/xAI specific)
155
+
156
+ **Why grok-faf-mcp exists:**
157
+ - Responds to specific Grok URL request
158
+ - Platform-specific positioning for xAI
159
+ - Download count metrics for FAF ecosystem
160
+ - First-mover advantage in Grok space
161
+
162
+ ---
163
+
164
+ ## 🔧 Development
165
+
166
+ ### Local Development
167
+
168
+ ```bash
169
+ # Install dependencies
170
+ npm install
171
+
172
+ # Build TypeScript
173
+ npm run build
174
+
175
+ # Run local HTTP server
176
+ npm run dev:http
177
+ # Server: http://localhost:3001
178
+ # SSE: http://localhost:3001/sse
179
+
180
+ # Test MCP tools
181
+ npm run test:mcp
182
+ ```
183
+
184
+ ### Vercel Deployment
185
+
186
+ ```bash
187
+ # Deploy to production
188
+ vercel --prod
189
+
190
+ # View deployment
191
+ vercel ls
192
+ ```
193
+
194
+ ### Key Files to Know
195
+
196
+ **api/index.ts** - Main Vercel serverless function
197
+ - Express app with MCP server
198
+ - SSE transport setup
199
+ - Health/info endpoints
200
+ - Version detection from package.json
201
+
202
+ **package.json** - Package configuration
203
+ - Name: grok-faf-mcp
204
+ - Version: 1.0.0
205
+ - Grok-specific keywords
206
+ - faf-cli dependency (for download counts)
207
+
208
+ **vercel.json** - Vercel routing
209
+ - Rewrites all paths to /api/index
210
+ - Zero-config deployment
211
+
212
+ ---
213
+
214
+ ## ⚡ Performance Metrics
215
+
216
+ ```
217
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
218
+ ⚡ FAST AF PERFORMANCE
219
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
+
221
+ Execution Speed: 19ms average
222
+ Fastest Command: 1ms (formats)
223
+ CLI Speedup: 16.2x faster
224
+ MCP Tools: 17 total
225
+ Bundled Commands: 14 total
226
+ Transport: HTTP-SSE
227
+ Platform: Vercel Edge
228
+ Status: Production
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 🏆 Heritage & Lineage
235
+
236
+ **Built on proven foundation:**
237
+ - Forked from faf-mcp v1.1.1
238
+ - Inherits 17 MCP tools, 14 bundled commands
239
+ - Inherits 16.2x performance gains
240
+ - Inherits championship testing standards
241
+ - Inherits IANA-registered format
242
+
243
+ **Why separate package?**
244
+ - Grok asked for URL-based MCP
245
+ - First-mover positioning for xAI
246
+ - Platform-specific branding
247
+ - Download count metrics
248
+ - Elon-style FAST⚡️AF execution
249
+
250
+ ---
251
+
252
+ ## 🌐 Community & Ecosystem
253
+
254
+ **Official Links:**
255
+ - Website: https://faf.one
256
+ - Discord: https://discord.com/invite/56fPBUJKfk
257
+ - Chrome Extension: [Chrome Web Store](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)
258
+ - GitHub: https://github.com/Wolfe-Jam/grok-faf-mcp
259
+ - npm: https://www.npmjs.com/package/grok-faf-mcp
260
+
261
+ **Related Packages:**
262
+ - faf-cli - Command-line tooling
263
+ - faf-mcp - Universal MCP server
264
+ - claude-faf-mcp - Claude Desktop-specific
265
+
266
+ ---
267
+
268
+ **STATUS: PRODUCTION 🚀**
269
+
270
+ *Built for Grok. Built for Speed. Built Right.*
271
+ *FAST⚡️AF • First to Ship • Zero Friction*
272
+
273
+ **Built with F1-inspired engineering principles** 🏎️⚡
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 wolfejam (team@faf.one) 🏎️⚡ wolfejam.dev
4
+ PODIUM EDITION 🍊
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,228 @@
1
+ # grok-faf-mcp | FAST⚡️AF
2
+
3
+ <div align="center">
4
+ <img src="https://raw.githubusercontent.com/Wolfe-Jam/faf/main/assets/logos/orange-smiley.svg" alt="FAF" width="80" />
5
+
6
+ <h3>Grok asked for MCP on a URL. This is it.</h3>
7
+
8
+ <p><strong>First MCP server built for Grok</strong></p>
9
+ <p><code>URL-based • Zero config • Just works</code></p>
10
+
11
+ [![NPM Downloads](https://img.shields.io/npm/dt/grok-faf-mcp?label=downloads&color=00CCFF)](https://www.npmjs.com/package/grok-faf-mcp)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
13
+ [![Vercel](https://img.shields.io/badge/Vercel-Live-black?logo=vercel)](https://grok-faf-mcp.vercel.app)
14
+ </div>
15
+
16
+ ---
17
+
18
+ ## ⚡ What You Get
19
+
20
+ ```
21
+ URL: https://grok-faf-mcp.vercel.app/
22
+ Format: IANA-registered .faf (application/vnd.faf+yaml)
23
+ Tools: 17 MCP tools + 14 bundled commands
24
+ Speed: 19ms average execution
25
+ Status: FAST⚡️AF
26
+ ```
27
+
28
+ **MCP over HTTP-SSE.** Point your Grok integration at the URL. That's it.
29
+
30
+ ---
31
+
32
+ ## 🚀 Quick Start
33
+
34
+ ### Option 1: URL-Based (Vercel)
35
+
36
+ ```
37
+ https://grok-faf-mcp.vercel.app/sse
38
+ ```
39
+
40
+ Point your MCP client to this endpoint. All tools available instantly.
41
+
42
+ ### Option 2: Local Install
43
+
44
+ ```bash
45
+ npm install -g grok-faf-mcp
46
+ ```
47
+
48
+ **Add to your MCP config:**
49
+
50
+ ```json
51
+ {
52
+ "mcpServers": {
53
+ "grok-faf": {
54
+ "command": "npx",
55
+ "args": ["-y", "grok-faf-mcp"]
56
+ }
57
+ }
58
+ }
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 🎯 Use Cases
64
+
65
+ **AI Context Intelligence**
66
+ ```
67
+ Use FAF to initialize my project
68
+ Use FAF to score my AI-readiness
69
+ Use FAF to sync project context
70
+ ```
71
+
72
+ **Project DNA Management**
73
+ - Persistent context in `project.faf`
74
+ - Cross-platform compatibility
75
+ - Human and AI readable
76
+ - IANA-registered standard
77
+
78
+ **URL-Based MCP**
79
+ - No installation required
80
+ - Instant access via Vercel
81
+ - Production-ready infrastructure
82
+ - Global edge deployment
83
+
84
+ ---
85
+
86
+ ## 🛠️ MCP Tools
87
+
88
+ ### Core Tools (17 Total)
89
+ - `faf_quick` - Lightning-fast project.faf creation (3ms)
90
+ - `faf_enhance` - Intelligent enhancement with auto-detection
91
+ - `faf_read` - Parse and validate FAF files
92
+ - `faf_write` - Create/update FAF with validation
93
+ - `faf_score` - AI-readiness scoring (0-100%)
94
+ - `faf_sync` - Bi-directional CLAUDE.md sync
95
+ - `faf_status` - Health check and diagnostics
96
+ - `faf_init` - Initialize new FAF project
97
+ - `faf_trust` - Verify integrity
98
+ - `faf_bi_sync` - Platform context mirroring
99
+ - `faf_clear` - Reset and cleanup
100
+ - `faf_debug` - Verbose diagnostics
101
+ - `faf_list` - Show all available tools
102
+ - `faf_chat` - Interactive assistance
103
+ - `faf_friday` - Project summaries
104
+ - `faf_guide` - Documentation access
105
+ - `faf_about` - Server information
106
+
107
+ ### Bundled Commands (14 Total)
108
+ Direct TypeScript function calls - 16.2x faster than CLI subprocess spawning:
109
+
110
+ - `audit` - Security and quality checks
111
+ - `auto` - Automated workflows
112
+ - `bi-sync` - Bidirectional synchronization
113
+ - `doctor` - Diagnostic and repair
114
+ - `enhance` - Context enhancement
115
+ - `formats` - Format detection
116
+ - `init` - Project initialization
117
+ - `innit` - Quick initialization
118
+ - `migrate` - Version migration
119
+ - `quick` - Fast operations
120
+ - `score` - AI-readiness scoring
121
+ - `sync` - Context synchronization
122
+ - `update` - Version updates
123
+ - `validate` - Validation checks
124
+
125
+ ---
126
+
127
+ ## 📊 Performance
128
+
129
+ ```
130
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
131
+ ⚡ FAST AF PERFORMANCE METRICS
132
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133
+
134
+ Execution Speed: 19ms average
135
+ Fastest Command: 1ms (formats)
136
+ CLI Speedup: 16.2x faster
137
+ Memory Footprint: Zero leaks
138
+ Bundled Operations: 14 commands
139
+ Transport: HTTP-SSE (Vercel)
140
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
141
+ ```
142
+
143
+ **Why Fast?**
144
+ - Direct function calls (no subprocess spawning)
145
+ - TypeScript strict mode
146
+ - Zero external dependencies for core operations
147
+ - Global edge deployment via Vercel
148
+
149
+ ---
150
+
151
+ ## 🏆 Why grok-faf-mcp?
152
+
153
+ **Built for Grok**
154
+ - First MCP server responding to Grok's URL request
155
+ - Optimized for xAI integration
156
+ - Production-ready Vercel deployment
157
+ - FAST⚡️AF execution philosophy
158
+
159
+ **IANA-Registered Format**
160
+ - Official MIME type: `application/vnd.faf+yaml`
161
+ - W3C-compliant structured format
162
+ - Universal AI context protocol
163
+ - Cross-platform compatibility
164
+
165
+ **Championship Engineering**
166
+ - F1-inspired performance standards
167
+ - TypeScript strict mode
168
+ - Zero runtime errors
169
+ - Battle-tested in production
170
+
171
+ **FREE FOREVER**
172
+ - MIT License
173
+ - Open source
174
+ - No subscription
175
+ - No strings attached
176
+
177
+ ---
178
+
179
+ ## 🔗 Endpoints
180
+
181
+ **Production (Vercel):**
182
+ - Root: `https://grok-faf-mcp.vercel.app/`
183
+ - Health: `https://grok-faf-mcp.vercel.app/health`
184
+ - Info: `https://grok-faf-mcp.vercel.app/info`
185
+ - SSE: `https://grok-faf-mcp.vercel.app/sse`
186
+
187
+ **Local Development:**
188
+ ```bash
189
+ npm run dev:http
190
+ # Server: http://localhost:3001
191
+ # SSE: http://localhost:3001/sse
192
+ ```
193
+
194
+ ---
195
+
196
+ ## 📦 Ecosystem
197
+
198
+ Built on the FAF (Foundational AI-context Format) ecosystem:
199
+
200
+ - **[FAF Format Spec](https://github.com/Wolfe-Jam/faf)** - Official IANA specification
201
+ - **[FAF CLI](https://github.com/Wolfe-Jam/faf-cli)** - Command-line tooling
202
+ - **[faf-mcp](https://github.com/Wolfe-Jam/faf-mcp)** - Universal MCP server
203
+ - **[claude-faf-mcp](https://github.com/Wolfe-Jam/claude-faf-mcp)** - Claude Desktop-specific
204
+ - **[faf.one](https://faf.one)** - Official website
205
+
206
+ ---
207
+
208
+ ## 💬 Community
209
+
210
+ - **[Discord](https://discord.com/invite/56fPBUJKfk)** - Join the conversation
211
+ - **[GitHub Issues](https://github.com/Wolfe-Jam/grok-faf-mcp/issues)** - Report bugs, request features
212
+ - **[Chrome Extension](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)** - Browser integration
213
+
214
+ ---
215
+
216
+ ## 📄 License
217
+
218
+ MIT License - Free and open source
219
+
220
+ ---
221
+
222
+ <div align="center">
223
+ <p><strong>Built for Grok. Built for Speed. Built Right.</strong></p>
224
+ <p>FAST⚡️AF • First to Ship • Zero Friction</p>
225
+ <p><em>URL-based MCP. Exactly what you asked for.</em></p>
226
+ </div>
227
+
228
+ **Built with F1-inspired engineering principles** 🏎️⚡
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,6 @@
1
+ <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="50" cy="50" r="40" fill="#FF6B35" />
3
+ <circle cx="35" cy="40" r="5" fill="black" />
4
+ <circle cx="65" cy="40" r="5" fill="black" />
5
+ <path d="M 30 60 Q 50 70 70 60" stroke="black" stroke-width="3" fill="none" />
6
+ </svg>
@@ -0,0 +1 @@
1
+ {"note":"Placeholder for Vercel build"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const server_1 = require("./server");
5
+ // Parse command line arguments
6
+ const args = process.argv.slice(2);
7
+ const transportIndex = args.indexOf('--transport');
8
+ const portIndex = args.indexOf('--port');
9
+ const transport = transportIndex >= 0 ? args[transportIndex + 1] : 'stdio';
10
+ const port = portIndex >= 0 ? parseInt(args[portIndex + 1], 10) : 3001;
11
+ async function main() {
12
+ const server = new server_1.ClaudeFafMcpServer({
13
+ transport,
14
+ port,
15
+ fafEnginePath: 'faf',
16
+ debug: true,
17
+ cors: true
18
+ });
19
+ await server.start();
20
+ console.log(`FAF MCP Server started in ${transport} mode`);
21
+ if (transport === 'http-sse') {
22
+ console.log(`Endpoints:`);
23
+ console.log(` Health: http://localhost:${port}/health`);
24
+ console.log(` Info: http://localhost:${port}/info`);
25
+ console.log(` SSE: http://localhost:${port}/sse`);
26
+ }
27
+ }
28
+ main().catch((error) => {
29
+ console.error('Failed to start MCP server:', error);
30
+ process.exit(1);
31
+ });
32
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AAEA,qCAA8C;AAE9C,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzC,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAyB,CAAC,CAAC,CAAC,OAAO,CAAC;AACnG,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,2BAAkB,CAAC;QACpC,SAAS;QACT,IAAI;QACJ,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,OAAO,CAAC,CAAC;IAC3D,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,MAAM,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * FAF Compiler Engine MK3
3
+ * Championship-grade project type detection and scoring
4
+ */
5
+ export * from './type-detector';
6
+ export * from './slot-validator';
7
+ export * from './scorer';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * FAF Compiler Engine MK3
4
+ * Championship-grade project type detection and scoring
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ __exportStar(require("./type-detector"), exports);
22
+ __exportStar(require("./slot-validator"), exports);
23
+ __exportStar(require("./scorer"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB"}