Stellify MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Model Context Protocol (MCP) server for Stellify - the AI-native code generation platform.
What is This?
This MCP server lets AI assistants (like Claude Desktop) interact with your Stellify projects to build Laravel and Vue.js applications incrementally. Instead of generating full code files at once, AI can:
- Create file structures (classes, controllers, models, middleware, Vue components)
- Add method signatures with type hints
- Parse PHP/JavaScript code into structured JSON (statement-by-statement)
- Convert HTML to Stellify elements in a single operation
- Search existing code in your projects
- Install reusable code from the global library
- Build applications through natural conversation
Quick Start — Hosted Server (recommended)
The easiest way to connect is the hosted server at https://api.stellisoft.com/mcp. No install, no Node.js, no API token — your MCP client opens a browser window where you sign in with your Stellify account and approve access (OAuth).
**Claude (web or desktop):** Stellify is listed in the Claude connectors directory — go to **Settings → Connectors**, find Stellify, and click Connect. Or choose **Add custom connector** and paste https://api.stellisoft.com/mcp.
**Claude Code:**
**Cursor** (.cursor/mcp.json):
**VS Code** (.vscode/mcp.json):
**Windsurf** (~/.codeium/windsurf/mcp_config.json):
Local Install (npm alternative)
Prefer to run the server locally? The npm package speaks the same protocol against the same platform API, authenticated with an API token instead of OAuth.
Prerequisites
- **Node.js 18 or higher**
- **A Stellify account** - Sign up at stellisoft.com
- **Claude Desktop** (or another MCP-compatible AI client)
Installation
Install globally via npm:
Configuration
1. **Get your Stellify API token:**
- Log into Stellify
- Navigate to Settings → API Tokens
- Click "Create New Token"
- Copy your token
2. **Configure Claude Desktop:**
Edit your Claude Desktop configuration file:
- **macOS:** ~/Library/Application Support/Claude/claude_desktop_config.json
- **Windows:** %APPDATA%\Claude\claude_desktop_config.json
- **Linux:** ~/.config/claude/claude_desktop_config.json
Add the Stellify MCP server:
3. **Restart Claude Desktop**
That's it! The Stellify tools should now be available in Claude Desktop.
Usage
Once configured, you can talk to Claude naturally to build applications:
Example Conversations
**Create a new controller:**
**Add methods:**
**Implement method logic:**
**Build a Vue component:**
**Convert HTML to elements:**
**Search your codebase:**
Available Tools
Project & Directory Tools
get_project
Get the active Stellify project for the authenticated user. **Call this first before any other operations.**
**Parameters:** None
**Returns:**
- uuid: Project UUID (needed for most operations)
- name: Project name
- directories: Array of {uuid, name} for existing directories
---
get_directory
Get a directory by UUID to see its contents.
**Parameters:**
- uuid (required): The UUID of the directory
---
create_directory
Create a new directory for organizing files.
**Parameters:**
- name (required): Directory name (e.g., "js", "css", "components")
---
File Tools
create_file
Create a new file in a Stellify project. This creates an empty file shell - no methods, statements, or template yet.
**Parameters:**
- directory (required): UUID of the directory (get from get_project directories array)
- name (required): File name without extension (e.g., "Counter", "UserController")
- type (required): File type - "class", "model", "controller", "middleware", or "js"
- extension (optional): File extension. Use "vue" for Vue components.
- namespace (optional): PHP namespace (e.g., "App\\Services\\"). Only for PHP files.
- includes (optional): Array of fully-qualified class names to import (e.g., ["App\\Models\\User", "Illuminate\\Http\\Request"]). Stellify will resolve these to file UUIDs, fetching from Laravel API or vendor directory if needed.
**Directory selection:** Match the directory to your file's purpose. If the directory doesn't exist, create it first with create_directory.
| File Type | Directory | Namespace |
|-----------|-----------|-----------|
| Controllers | controllers | App\Http\Controllers\ |
| Models | models | App\Models\ |
| Services | services | App\Services\ |
| Middleware | middleware | App\Http\Middleware\ |
| Vue/JS | js | N/A |
**Example workflow:**
1. create_file → creates empty shell, returns file UUID
2. create_statement + add_statement_code → add variables/imports