@stellisoft/stellify-mcp 0.1.2 → 0.1.7

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,117 @@
1
+ import { StellifyClient } from './dist/stellify-client.js';
2
+ import dotenv from 'dotenv';
3
+
4
+ dotenv.config();
5
+
6
+ const client = new StellifyClient({
7
+ apiUrl: process.env.STELLIFY_API_URL,
8
+ apiToken: process.env.STELLIFY_API_TOKEN,
9
+ });
10
+
11
+ const PROJECT_ID = 'b11ba1ac-ad5e-45c7-8285-57f0b7aa0196';
12
+
13
+ async function testHtmlConversion() {
14
+ console.log('Testing HTML to Elements Conversion\n');
15
+
16
+ try {
17
+ // Step 1: Create a route
18
+ console.log('1. Creating test route...');
19
+ const timestamp = Date.now();
20
+ const route = await client.createRoute({
21
+ project_id: PROJECT_ID,
22
+ name: `HTML Test ${timestamp}`,
23
+ path: `/html-test-${timestamp}`,
24
+ method: 'GET',
25
+ type: 'web',
26
+ });
27
+ console.log('✅ Route created:', route.data.uuid);
28
+ console.log('');
29
+
30
+ // Step 2: Test preview mode first
31
+ console.log('2. Testing preview mode (test: true)...');
32
+ const html = `
33
+ <div class="container mx-auto p-8">
34
+ <h1 class="text-3xl font-bold mb-4">Contact Form</h1>
35
+ <form method="POST" action="/api/contact" class="space-y-4">
36
+ <div>
37
+ <label class="block text-sm font-medium mb-2">Email</label>
38
+ <input type="email" name="email" placeholder="your@email.com" required class="form-input w-full" />
39
+ </div>
40
+ <div>
41
+ <label class="block text-sm font-medium mb-2">Message</label>
42
+ <textarea name="message" rows="4" placeholder="Your message..." class="form-textarea w-full"></textarea>
43
+ </div>
44
+ <button type="submit" class="bg-blue-500 text-white px-6 py-2 rounded hover:bg-blue-600">
45
+ Send Message
46
+ </button>
47
+ </form>
48
+ </div>
49
+ `;
50
+
51
+ const preview = await client.htmlToElements({
52
+ elements: html,
53
+ page: route.data.uuid,
54
+ test: true,
55
+ });
56
+ console.log('✅ Preview generated:');
57
+ console.log(' Elements created:', Object.keys(preview.data).length);
58
+ console.log(' Root element:', Object.values(preview.data)[0].tag);
59
+ console.log('');
60
+
61
+ // Step 3: Actually create the elements
62
+ console.log('3. Converting HTML to real elements...');
63
+ const result = await client.htmlToElements({
64
+ elements: html,
65
+ page: route.data.uuid,
66
+ test: false,
67
+ });
68
+ console.log('✅ Result:', JSON.stringify(result, null, 2));
69
+
70
+ if (!result.data || Object.keys(result.data).length === 0) {
71
+ console.log('❌ No elements were created');
72
+ return;
73
+ }
74
+
75
+ console.log('✅ Elements created:', Object.keys(result.data).length);
76
+ console.log('');
77
+
78
+ // Step 4: Get the element tree to verify structure
79
+ console.log('4. Verifying created structure...');
80
+ const rootUuid = Object.keys(result.data)[0];
81
+ const tree = await client.getElementTree(rootUuid);
82
+
83
+ function printTree(element, indent = '') {
84
+ const tag = element.tag || 'unknown';
85
+ const classes = element.classes ? ` [${element.classes.join(' ')}]` : '';
86
+ const text = element.text ? ` "${element.text}"` : '';
87
+ console.log(`${indent}${tag}${classes}${text}`);
88
+
89
+ if (element.children) {
90
+ element.children.forEach(child => printTree(child, indent + ' '));
91
+ }
92
+ }
93
+
94
+ console.log('✅ Element hierarchy:');
95
+ printTree(tree.data);
96
+ console.log('');
97
+
98
+ console.log('🎉 HTML conversion working perfectly!');
99
+ console.log('\n📋 What This Means:');
100
+ console.log(' ✅ Write complete HTML structures');
101
+ console.log(' ✅ All attributes preserved');
102
+ console.log(' ✅ Proper nesting maintained');
103
+ console.log(' ✅ Single API call creates everything');
104
+ console.log(' ✅ Can preview before creating');
105
+ console.log('\n🚀 This is THE fastest way to build interfaces!');
106
+
107
+ } catch (error) {
108
+ console.error('❌ Test failed:', error.message);
109
+ if (error.response) {
110
+ console.error('Response data:', JSON.stringify(error.response.data, null, 2));
111
+ console.error('Response status:', error.response.status);
112
+ }
113
+ process.exit(1);
114
+ }
115
+ }
116
+
117
+ testHtmlConversion();
@@ -0,0 +1,133 @@
1
+ import { StellifyClient } from './dist/stellify-client.js';
2
+ import dotenv from 'dotenv';
3
+
4
+ dotenv.config();
5
+
6
+ const client = new StellifyClient({
7
+ apiUrl: process.env.STELLIFY_API_URL,
8
+ apiToken: process.env.STELLIFY_API_TOKEN,
9
+ });
10
+
11
+ const PROJECT_ID = 'b11ba1ac-ad5e-45c7-8285-57f0b7aa0196';
12
+
13
+ async function testReadDelete() {
14
+ console.log('Testing Read, Search, and Delete Operations\n');
15
+
16
+ try {
17
+ // Step 1: Create test elements
18
+ console.log('1. Creating test page with elements...');
19
+ const timestamp = Date.now();
20
+ const route = await client.createRoute({
21
+ project_id: PROJECT_ID,
22
+ name: `Test CRUD ${timestamp}`,
23
+ path: `/test-crud-${timestamp}`,
24
+ method: 'GET',
25
+ type: 'web',
26
+ });
27
+ console.log('✅ Route created:', route.data.uuid);
28
+
29
+ const container = await client.createElement({
30
+ page: route.data.uuid,
31
+ type: 's-wrapper',
32
+ });
33
+ await client.updateElement(container.data.uuid, {
34
+ name: 'Container',
35
+ tag: 'div',
36
+ classes: ['container', 'mx-auto'],
37
+ });
38
+ console.log('✅ Container created:', container.data.uuid);
39
+
40
+ const button1 = await client.createElement({
41
+ parent: container.data.uuid,
42
+ type: 's-wrapper',
43
+ });
44
+ await client.updateElement(button1.data.uuid, {
45
+ name: 'Button 1',
46
+ tag: 'button',
47
+ text: 'Click Me',
48
+ });
49
+
50
+ const button2 = await client.createElement({
51
+ parent: container.data.uuid,
52
+ type: 's-wrapper',
53
+ });
54
+ await client.updateElement(button2.data.uuid, {
55
+ name: 'Button 2',
56
+ tag: 'button',
57
+ text: 'Cancel',
58
+ });
59
+ console.log('✅ Created 2 buttons');
60
+ console.log('');
61
+
62
+ // Step 2: Get single element
63
+ console.log('2. Testing get_element...');
64
+ const element = await client.getElement(container.data.uuid);
65
+ console.log('✅ Retrieved element:');
66
+ console.log(' Name:', element.data.name);
67
+ console.log(' Tag:', element.data.tag);
68
+ console.log(' Classes:', element.data.classes);
69
+ console.log('');
70
+
71
+ // Step 3: Get element tree
72
+ console.log('3. Testing get_element_tree...');
73
+ const tree = await client.getElementTree(container.data.uuid);
74
+ console.log('✅ Retrieved element tree:');
75
+ console.log(' Root:', tree.data.name);
76
+ console.log(' Children:', tree.data.children ? tree.data.children.length : 0);
77
+ if (tree.data.children) {
78
+ tree.data.children.forEach((child, i) => {
79
+ console.log(` ${i+1}. ${child.name} (${child.tag}): "${child.text}"`);
80
+ });
81
+ }
82
+ console.log('');
83
+
84
+ // Step 4: Search elements
85
+ console.log('4. Testing search_elements...');
86
+ const searchResults = await client.searchElements({
87
+ search: 'Button',
88
+ per_page: 10,
89
+ });
90
+ console.log('✅ Search results:');
91
+ console.log(' Found:', searchResults.data.length, 'elements');
92
+ console.log(' Total in project:', searchResults.pagination.total);
93
+ searchResults.data.slice(0, 3).forEach((el, i) => {
94
+ console.log(` ${i+1}. ${el.name || 'Unnamed'} (${el.type})`);
95
+ });
96
+ console.log('');
97
+
98
+ // Step 5: Delete element
99
+ console.log('5. Testing delete_element (deleting button 2)...');
100
+ const deleteResult = await client.deleteElement(button2.data.uuid);
101
+ console.log('✅ Deleted:', deleteResult.deleted_count, 'element(s)');
102
+ console.log('');
103
+
104
+ // Step 6: Verify deletion by getting tree again
105
+ console.log('6. Verifying deletion...');
106
+ const updatedTree = await client.getElementTree(container.data.uuid);
107
+ console.log('✅ Updated tree:');
108
+ console.log(' Children remaining:', updatedTree.data.children ? updatedTree.data.children.length : 0);
109
+ if (updatedTree.data.children) {
110
+ updatedTree.data.children.forEach((child, i) => {
111
+ console.log(` ${i+1}. ${child.name}`);
112
+ });
113
+ }
114
+ console.log('');
115
+
116
+ console.log('🎉 All read/delete operations working!');
117
+ console.log('\n📋 Capabilities Verified:');
118
+ console.log(' ✅ get_element - Read single element');
119
+ console.log(' ✅ get_element_tree - Read element hierarchy');
120
+ console.log(' ✅ search_elements - Find elements by criteria');
121
+ console.log(' ✅ delete_element - Remove elements (with CASCADE)');
122
+
123
+ } catch (error) {
124
+ console.error('❌ Test failed:', error.message);
125
+ if (error.response) {
126
+ console.error('Response data:', JSON.stringify(error.response.data, null, 2));
127
+ console.error('Response status:', error.response.status);
128
+ }
129
+ process.exit(1);
130
+ }
131
+ }
132
+
133
+ testReadDelete();
@@ -1 +0,0 @@
1
- ghu_3W7vsOlZ9o23SbW83wQm9s5XntKI8D4KxkzX
@@ -1 +0,0 @@
1
- {"token":"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtY3AtcmVnaXN0cnkiLCJleHAiOjE3Njc5OTk0MTcsIm5iZiI6MTc2Nzk5OTExNywiaWF0IjoxNzY3OTk5MTE3LCJhdXRoX21ldGhvZCI6ImdpdGh1Yi1hdCIsImF1dGhfbWV0aG9kX3N1YiI6Ik1hdHRTdGVsbGlzb2Z0IiwicGVybWlzc2lvbnMiOlt7ImFjdGlvbiI6InB1Ymxpc2giLCJyZXNvdXJjZSI6ImlvLmdpdGh1Yi5NYXR0U3RlbGxpc29mdC8qIn1dfQ.0rIqxME0TcokcAmBXE8lk0joXzIo0Fty4-D0tA3X6jkrL1OjYsQtuB0PJYbSwRoxRvvGgIsTFXskr28WEkd5Bg","expires_at":1767999417}
package/ANNOUNCEMENTS.md DELETED
@@ -1,322 +0,0 @@
1
- # Stellify MCP Server Launch Announcements
2
-
3
- ## Twitter/X (280 characters)
4
-
5
- 🚀 Just launched Stellify MCP Server - build Laravel apps through natural conversation with Claude!
6
-
7
- Store code as structured JSON for surgical AI edits, instant refactoring & version control at the statement level.
8
-
9
- Try it: npm install -g @stellisoft/stellify-mcp
10
-
11
- https://github.com/Stellify-Software-Ltd/stellify-mcp
12
-
13
- #AI #Laravel #Claude #AITooling
14
-
15
- ---
16
-
17
- ## LinkedIn Post
18
-
19
- 🎉 Excited to announce the launch of Stellify MCP Server!
20
-
21
- We've just released an open-source Model Context Protocol (MCP) server that lets you build Laravel applications through natural conversation with Claude Desktop.
22
-
23
- 🔥 What makes Stellify different?
24
-
25
- Instead of text files, Stellify stores your code as structured JSON in a database. This enables:
26
-
27
- ✅ Surgical precision - AI modifies specific methods without touching other code
28
- ✅ Query your codebase like data - Find all methods using a specific class
29
- ✅ Instant refactoring - Rename across your entire app instantly
30
- ✅ Statement-level version control - Track changes granularly
31
- ✅ AI-native development - Give AI access without breaking existing code
32
-
33
- 🚀 Get Started:
34
- ```
35
- npm install -g @stellisoft/stellify-mcp
36
- ```
37
-
38
- Then configure Claude Desktop and start building Laravel apps through conversation.
39
-
40
- 📦 npm: https://www.npmjs.com/package/@stellisoft/stellify-mcp
41
- 🔧 GitHub: https://github.com/Stellify-Software-Ltd/stellify-mcp
42
- 📖 Docs: https://stellisoft.com/docs
43
-
44
- This is just the beginning. We're building the future of AI-native software development where code is data, and collaboration between humans and AI is seamless.
45
-
46
- Would love your feedback! Try it out and let me know what you think.
47
-
48
- #Laravel #AI #SoftwareDevelopment #OpenSource #Claude #Anthropic #WebDevelopment #PHP
49
-
50
- ---
51
-
52
- ## Reddit (r/laravel, r/PHP, r/ClaudeAI)
53
-
54
- **Title:** [Release] Stellify MCP Server - Build Laravel Apps Through Conversation with Claude
55
-
56
- **Body:**
57
-
58
- Hey everyone! 👋
59
-
60
- I'm excited to share something I've been working on - an MCP (Model Context Protocol) server that lets you build Laravel applications through natural conversation with Claude Desktop.
61
-
62
- ## What is this?
63
-
64
- Stellify MCP Server bridges Claude Desktop with Stellify, an AI-native code generation platform. Instead of working with text files, Stellify stores your Laravel code as structured JSON in a database.
65
-
66
- ## Why does this matter?
67
-
68
- **Traditional approach:**
69
- - AI generates entire files at once
70
- - Hard to make surgical changes
71
- - Easy to break existing code
72
- - No granular version control
73
-
74
- **With Stellify:**
75
- - Create files incrementally (classes, controllers, models)
76
- - Add methods one at a time with type hints
77
- - Parse PHP code statement-by-statement
78
- - Query your codebase like data
79
- - Instant refactoring across your entire app
80
- - Version control at the statement level
81
-
82
- ## Quick Start
83
-
84
- ```bash
85
- # Install globally
86
- npm install -g @stellisoft/stellify-mcp
87
-
88
- # Configure Claude Desktop (see repo for details)
89
- # Then just talk naturally:
90
- # "Create a UserController in my Stellify project"
91
- # "Add a store method that validates and saves a user"
92
- ```
93
-
94
- ## Example Conversation
95
-
96
- ```
97
- You: "Create a UserController with a store method"
98
- Claude: [Creates controller structure]
99
-
100
- You: "Add validation for email and password"
101
- Claude: [Adds validated request handling]
102
-
103
- You: "Now add the logic to save the user and return JSON"
104
- Claude: [Implements the logic]
105
- ```
106
-
107
- All code is parsed into structured JSON and stored in a database, giving you surgical control and the ability to query/refactor at scale.
108
-
109
- ## Links
110
-
111
- - 📦 **npm:** https://www.npmjs.com/package/@stellisoft/stellify-mcp
112
- - 🔧 **GitHub:** https://github.com/Stellify-Software-Ltd/stellify-mcp
113
- - 📖 **Stellify:** https://stellisoft.com
114
-
115
- This is v0.1.1 - the first public release. I'd love to hear your feedback and any features you'd like to see!
116
-
117
- ---
118
-
119
- ## Hacker News
120
-
121
- **Title:** Stellify MCP Server – Build Laravel apps through conversation with Claude
122
-
123
- **URL:** https://github.com/Stellify-Software-Ltd/stellify-mcp
124
-
125
- **Comment to add context:**
126
-
127
- Author here. I built this MCP server for Stellify, a platform where code is stored as structured JSON instead of text files.
128
-
129
- The key insight: when you store code as data, you can query it like data. Want to find every method that calls a specific function? Just query the database. Want to rename a method across your entire app? Update one record.
130
-
131
- For AI, this means surgical precision. Instead of regenerating entire files (and potentially breaking things), AI can modify individual statements. It's like giving AI a scalpel instead of a sledgehammer.
132
-
133
- The MCP server lets Claude Desktop interact with Stellify projects, so you can build Laravel apps through natural conversation while maintaining fine-grained control.
134
-
135
- Would love feedback from the HN community. What other languages/frameworks would you want to see this for?
136
-
137
- ---
138
-
139
- ## Dev.to Article
140
-
141
- **Title:** Introducing Stellify MCP Server: Build Laravel Apps Through Conversation
142
-
143
- **Tags:** #laravel #ai #claude #php #opensource
144
-
145
- **Article:**
146
-
147
- # Introducing Stellify MCP Server: Build Laravel Apps Through Conversation
148
-
149
- Have you ever wished you could just _describe_ what you want your code to do, and have it built incrementally with precision? That's exactly what Stellify MCP Server enables.
150
-
151
- ## The Problem with Traditional AI Coding
152
-
153
- When AI generates code, it typically:
154
- 1. Generates entire files at once
155
- 2. Can't make surgical changes to existing code
156
- 3. Lacks context about your project structure
157
- 4. Can easily break working code
158
-
159
- ## The Stellify Approach
160
-
161
- Stellify takes a different approach: **code as structured data**.
162
-
163
- Instead of storing your Laravel application as text files, Stellify stores it as JSON in a database. Each class, method, statement, and even operator has its own database record with metadata.
164
-
165
- This enables:
166
-
167
- - **Surgical Precision:** AI modifies specific methods without touching other code
168
- - **Query Your Codebase:** Find all methods using a specific class with a database query
169
- - **Instant Refactoring:** Rename a method across your entire app by updating one record
170
- - **Statement-Level Version Control:** Track changes at the granular level
171
- - **AI-Native Development:** Give AI access without worrying about breaking things
172
-
173
- ## How It Works
174
-
175
- The MCP (Model Context Protocol) server acts as a bridge between Claude Desktop and your Stellify projects.
176
-
177
- ### Installation
178
-
179
- ```bash
180
- npm install -g @stellisoft/stellify-mcp
181
- ```
182
-
183
- ### Configuration
184
-
185
- Add to your Claude Desktop config:
186
-
187
- ```json
188
- {
189
- "mcpServers": {
190
- "stellify": {
191
- "command": "stellify-mcp",
192
- "env": {
193
- "STELLIFY_API_URL": "https://api.stellisoft.com/v1",
194
- "STELLIFY_API_TOKEN": "your-token"
195
- }
196
- }
197
- }
198
- }
199
- ```
200
-
201
- ### Usage
202
-
203
- Just talk naturally to Claude:
204
-
205
- **You:** "Create a UserController in my Stellify project"
206
-
207
- **Claude:** [Creates the controller structure]
208
-
209
- **You:** "Add a store method that validates email and password, then saves the user"
210
-
211
- **Claude:** [Creates method signature, adds validation, implements save logic]
212
-
213
- **You:** "Return a JSON response with the created user"
214
-
215
- **Claude:** [Adds the return statement]
216
-
217
- Every step is parsed into structured JSON and stored precisely in the database.
218
-
219
- ## What's Inside?
220
-
221
- The MCP server provides these tools to Claude:
222
-
223
- - `create_file` - Create classes, controllers, models, middleware
224
- - `create_method` - Add method signatures with parameters and return types
225
- - `add_method_body` - Parse and store PHP code statement-by-statement
226
- - `search_files` - Find files in your project
227
- - `search_methods` - Find methods by name or signature
228
-
229
- ## The Future
230
-
231
- This is just v0.1.1 - the beginning. Future plans include:
232
-
233
- - Global method library (reuse battle-tested code across projects)
234
- - Support for more frameworks (React, Vue, Node.js)
235
- - Rich metadata extraction (complexity analysis, dependencies)
236
- - Team collaboration features
237
- - Visual code editor integrated with the database
238
-
239
- ## Try It Out
240
-
241
- - 📦 npm: https://www.npmjs.com/package/@stellisoft/stellify-mcp
242
- - 🔧 GitHub: https://github.com/Stellify-Software-Ltd/stellify-mcp
243
- - 📖 Docs: https://stellisoft.com/docs
244
-
245
- I'd love to hear your thoughts! What would you build with this?
246
-
247
- ---
248
-
249
- ## Product Hunt
250
-
251
- **Tagline:** Build Laravel apps through conversation with Claude Desktop
252
-
253
- **Description:**
254
-
255
- Stellify MCP Server lets you build Laravel applications through natural conversation with Claude Desktop. Unlike traditional AI coding tools, Stellify stores code as structured JSON in a database, enabling surgical precision, instant refactoring, and query-like access to your entire codebase.
256
-
257
- **Key Features:**
258
- • Create files, methods, and code incrementally
259
- • AI modifies specific methods without touching other code
260
- • Query your codebase like data
261
- • Statement-level version control
262
- • Open source & free to use
263
-
264
- **What makes us different:**
265
- Most AI coding tools work with text files, leading to imprecise changes and broken code. Stellify stores code as structured data, giving AI (and you) surgical control over every statement, method, and class.
266
-
267
- **Getting Started:**
268
- ```
269
- npm install -g @stellisoft/stellify-mcp
270
- ```
271
- Configure Claude Desktop, then start building through conversation!
272
-
273
- ---
274
-
275
- ## Email Template (for Laravel newsletters, dev communities)
276
-
277
- **Subject:** New MCP Server: Build Laravel Apps Through Conversation with Claude
278
-
279
- **Body:**
280
-
281
- Hi [Community],
282
-
283
- I'm excited to share Stellify MCP Server - a new way to build Laravel applications through natural conversation with Claude Desktop.
284
-
285
- **What's different?**
286
-
287
- Instead of text files, Stellify stores your code as structured JSON in a database. This means:
288
-
289
- ✓ AI can modify specific methods without breaking other code
290
- ✓ You can query your entire codebase like data
291
- ✓ Refactoring happens instantly across your whole app
292
- ✓ Version control works at the statement level
293
-
294
- **Quick Example:**
295
-
296
- ```
297
- You: "Create a PostController with CRUD methods"
298
- Claude: [Creates controller structure]
299
-
300
- You: "Add validation to the store method"
301
- Claude: [Adds FormRequest validation]
302
-
303
- You: "Search for all methods that use the Post model"
304
- Claude: [Returns searchable results from your database]
305
- ```
306
-
307
- **Try it out:**
308
-
309
- ```bash
310
- npm install -g @stellisoft/stellify-mcp
311
- ```
312
-
313
- Then configure Claude Desktop (instructions in the repo) and start building!
314
-
315
- 📦 npm: https://www.npmjs.com/package/@stellisoft/stellify-mcp
316
- 🔧 GitHub: https://github.com/Stellify-Software-Ltd/stellify-mcp
317
-
318
- This is v0.1.1 - the first public release. I'd love your feedback!
319
-
320
- Best regards,
321
- The Stellify Team
322
- https://stellisoft.com
@@ -1,117 +0,0 @@
1
- # MCP Registry Submissions Guide
2
-
3
- ## Status
4
-
5
- ✅ **npm Published**: Package is live at https://www.npmjs.com/package/@stellisoft/stellify-mcp
6
- ✅ **GitHub Published**: Repository at https://github.com/Stellify-Software-Ltd/stellify-mcp
7
- 🔄 **Auto-indexing**: mcpdir should automatically detect via npm `mcp` keyword
8
-
9
- ## 1. Official MCP Registry
10
-
11
- **Website**: https://registry.modelcontextprotocol.io/
12
- **GitHub**: https://github.com/modelcontextprotocol/registry
13
-
14
- ### Submission Steps:
15
-
16
- 1. **Install the publisher CLI:**
17
- ```bash
18
- git clone https://github.com/modelcontextprotocol/registry.git
19
- cd registry
20
- make publisher
21
- ./bin/mcp-publisher --help
22
- ```
23
-
24
- 2. **Authenticate:**
25
- Choose one method:
26
- - **GitHub OAuth**: For manual publishing
27
- - **GitHub OIDC**: For automated GitHub Actions publishing
28
- - **DNS/HTTP verification**: For custom domain ownership
29
-
30
- 3. **Publish:**
31
- ```bash
32
- ./bin/mcp-publisher publish
33
- ```
34
-
35
- 4. **Namespace Ownership:**
36
- Since our package is `@stellisoft/stellify-mcp`, we need to verify:
37
- - GitHub user/org: `Stellify-Software-Ltd`
38
- - Package: `stellify-mcp`
39
-
40
- ### Documentation:
41
- - Full guide: Check "publisher guide" in registry docs
42
- - API docs: https://registry.modelcontextprotocol.io/docs
43
- - GitHub Discussions: For help and questions
44
-
45
- ## 2. MCP Directory (mcpdir)
46
-
47
- **Website**: https://mcpdir.dev
48
- **GitHub**: https://github.com/eL1fe/mcpdir
49
-
50
- ### Automatic Indexing:
51
-
52
- ✅ **Already configured!** Our package will be automatically indexed because:
53
- - Published to npm with `mcp` keyword in package.json
54
- - GitHub repo tagged appropriately
55
- - Meets MCP protocol standards
56
-
57
- ### Manual Submission (if needed):
58
-
59
- 1. Visit: https://mcpdir.dev/submit
60
- 2. Fill out the submission form with:
61
- - Package name: `@stellisoft/stellify-mcp`
62
- - Repository: https://github.com/Stellify-Software-Ltd/stellify-mcp
63
- - npm link: https://www.npmjs.com/package/@stellisoft/stellify-mcp
64
- - Description and features
65
-
66
- 3. Validation process includes:
67
- - Docker-based testing for protocol compliance
68
- - MCP handshake verification
69
- - Capability discovery (tools, resources, prompts)
70
-
71
- ## 3. Other Directories to Consider
72
-
73
- ### Anthropic's Official Servers List
74
- **GitHub**: https://github.com/modelcontextprotocol/servers
75
-
76
- This is for reference servers maintained by the MCP steering group. We can submit a PR to add Stellify to their community list if they have one.
77
-
78
- ### PulseMCP
79
- Mentioned as a community directory - check their website for submission process.
80
-
81
- ### Glama.ai
82
- Another MCP directory that feeds into mcpdir - may auto-index or require manual submission.
83
-
84
- ## 4. Community Promotion
85
-
86
- Once listed in registries, promote in:
87
-
88
- - [x] Reddit r/ClaudeAI
89
- - [x] Reddit r/laravel
90
- - [x] Dev.to article
91
- - [x] Twitter/X announcement
92
- - [x] LinkedIn post
93
- - [x] Product Hunt launch
94
- - [x] Hacker News
95
- - [x] Laravel newsletters
96
-
97
- ## Next Steps
98
-
99
- 1. **Submit to Official MCP Registry** using publisher CLI (priority)
100
- 2. **Check mcpdir** after 24-48 hours to see if auto-indexed
101
- 3. **Manual submit to mcpdir** if not auto-detected
102
- 4. **Post announcements** on social media and dev communities
103
- 5. **Monitor** GitHub issues and npm for user feedback
104
-
105
- ## Verification
106
-
107
- After 48 hours, verify listings:
108
- - [ ] Search "Stellify" on https://registry.modelcontextprotocol.io/
109
- - [ ] Search "Stellify" on https://mcpdir.dev
110
- - [ ] Check npm weekly download stats
111
- - [ ] Monitor GitHub stars and issues
112
-
113
- ## Support Channels
114
-
115
- - GitHub Issues: https://github.com/Stellify-Software-Ltd/stellify-mcp/issues
116
- - Email: support@stellisoft.com
117
- - Documentation: https://stellisoft.com/docs