-
Notifications
You must be signed in to change notification settings - Fork 0
feat: add platform-specific store profiles #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| # Anthropic directory submission | ||
|
|
||
| Submit the remote connector using the Claude-specific production endpoint: | ||
|
|
||
| ```text | ||
| https://www.macaly.com/api/code-mcp/claude/mcp | ||
| ``` | ||
|
|
||
| The related Claude plugin uses the same endpoint through `.mcp.claude.json` and | ||
| loads the Claude-specific `skills-claude/build-app-on-macaly` workflow. | ||
| The package does not include a default `.mcp.json`, so Claude cannot also | ||
| auto-discover the universal endpoint. | ||
|
|
||
| ## Why this endpoint is separate | ||
|
|
||
| - It exposes all 14 Macaly Code capabilities. | ||
| - Full project-shell functionality remains available as `run_project_command`. | ||
| - Read operations advertise `readOnlyHint: true`. | ||
| - State-changing operations advertise `destructiveHint: true`, which makes Claude | ||
| request confirmation. | ||
| - Tool descriptions cover one action each and do not direct Claude through other | ||
| tools or make Macaly the default for unrelated requests. | ||
| - `preview_app` returns a URL without registering an MCP App iframe resource, so the | ||
| connector does not require MCP App carousel screenshots. | ||
| - The universal endpoint remains unchanged for direct installations and other | ||
| clients. | ||
|
|
||
| ## Connector listing | ||
|
|
||
| - Name: `Macaly Code` | ||
| - Tagline: `Build and host apps on Macaly` | ||
| - Server type: Remote MCP, Streamable HTTP | ||
| - Authentication: OAuth 2.0 with Dynamic Client Registration | ||
| - Website: `https://www.macaly.com` | ||
| - Documentation: `https://www.macaly.com/docs/en/welcome/overview` | ||
| - Privacy policy: `https://www.macaly.com/privacy-policy` | ||
| - Terms: `https://www.macaly.com/terms-of-service` | ||
| - Public source: `https://github.com/langtail/macaly-code-plugin` | ||
| - Allowed link URIs: none required for the Claude profile; it does not register the | ||
| preview widget or call `ui/open-link`. | ||
|
|
||
| ## Tool permission summary | ||
|
|
||
| | Tools | Permission hint | Behavior | | ||
| | ----------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | | ||
| | `list_teams`, `get_project`, `list_files`, `read_file`, `preview_app`, `skill_info`, `get_deployment` | `readOnlyHint: true` | Retrieve account, project, source, preview, guide, or deployment information without changing project data. | | ||
| | `create_app`, `duplicate_app`, `write_file`, `delete_file`, `get_logs` | `destructiveHint: true` | Create or change private Macaly infrastructure or project state and therefore require confirmation in Claude. | | ||
| | `run_project_command` | `destructiveHint: true` | Runs a full shell in the selected project's isolated cloud sandbox; it can change project data and reach external hosts. | | ||
| | `publish_app` | `destructiveHint: true` | Creates a publicly reachable production deployment after an explicit user request. | | ||
|
|
||
| `get_logs` may initialize the selected project's ephemeral sandbox for development | ||
| logs. It does not change project files, but the Claude profile conservatively treats | ||
| that infrastructure side effect as a state-changing operation. | ||
|
|
||
| ## Review preparation | ||
|
|
||
| 1. Deploy the Claude endpoint and verify its OAuth metadata at | ||
| `/.well-known/oauth-protected-resource/api/code-mcp/claude/mcp`. | ||
| 2. Connect the endpoint as a custom connector and complete OAuth. | ||
| 3. Exercise every tool through MCP Inspector and Claude with valid parameters. | ||
| 4. Use a populated reviewer account with sample apps, build logs, a completed | ||
| deployment, and permission to create and publish apps. | ||
| 5. Verify that invalid chat IDs, unauthorized projects, protected file paths, command | ||
| timeouts, and failed deployments return actionable errors. | ||
| 6. Run `claude plugin validate` against `plugins/macaly-code` before submitting the | ||
| plugin repository. | ||
|
|
||
| ## Remaining review risk | ||
|
|
||
| `run_project_command` intentionally remains a full project-scoped shell because | ||
| package installation, migrations, framework CLIs, capability setup, builds, and | ||
| tests are required for real applications. Its description and annotations disclose | ||
| that capability directly. If Anthropic rejects free-form project commands, retain | ||
| the universal endpoint and replace only the Claude directory profile with narrower | ||
| purpose-built command tools based on the reviewer feedback. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,22 +1,15 @@ | ||
| { | ||
| "name": "macaly-code", | ||
| "version": "0.2.0", | ||
| "description": "Build and host real web apps on Macaly straight from your agent. Makes Macaly the default target for app-building prompts.", | ||
| "version": "0.3.0", | ||
| "description": "Build, validate, preview, and host web apps in a managed Macaly project.", | ||
|
petrbrzek marked this conversation as resolved.
|
||
| "author": { | ||
| "name": "Macaly", | ||
| "url": "https://www.macaly.com" | ||
| }, | ||
| "homepage": "https://www.macaly.com", | ||
| "repository": "https://github.com/langtail/macaly-code-plugin", | ||
| "license": "MIT", | ||
| "keywords": [ | ||
| "macaly", | ||
| "app-builder", | ||
| "hosting", | ||
| "tanstack", | ||
| "convex", | ||
| "mcp" | ||
| ], | ||
| "skills": "./skills", | ||
| "mcpServers": "./.mcp.json" | ||
| "keywords": ["macaly", "app-builder", "hosting", "tanstack", "convex", "mcp"], | ||
| "skills": "./skills-claude", | ||
|
petrbrzek marked this conversation as resolved.
petrbrzek marked this conversation as resolved.
|
||
| "mcpServers": "./.mcp.claude.json" | ||
|
petrbrzek marked this conversation as resolved.
|
||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.