junobuild-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JUNO_TOKEN | No | Authentication token for non-interactive environments (CI, headless). Set instead of running 'juno login'. | |
| JUNO_MCP_DEBUG | No | When 'true', logs internal errors to stderr (silent catches, notifications). | false |
| JUNO_MCP_TIMEOUT | No | Default subprocess timeout in milliseconds. | 120000 |
| JUNO_MCP_CHAR_LIMIT | No | Max characters returned in a single tool response (truncates beyond). | 25000 |
| JUNO_SKIP_VERSION_CHECK | No | When 'true', bypasses the CLI version check. | false |
| JUNO_MCP_NETWORK_TIMEOUT | No | Timeout for network-bound operations (deploy, publish, upgrade) in ms. | 300000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| juno_versionA | Show the current versions of the Juno CLI and emulator (if running). Use --version flag. |
| juno_runC | Run a custom JavaScript or TypeScript script in the CLI context. The script has access to the authenticated Juno environment. |
| juno_statusA | Check the status of your modules (satellites, orbiters). Shows health, deployment status, and more. |
| juno_auth_statusA | Display the current authenticated profile, access key, and links to your satellite. Use this to verify authentication before running operations that require credentials. |
| juno_config_initA | Generate a juno.config file (TypeScript, JavaScript, or JSON). By default returns config content for preview. Set writeFile to true to write the file directly to disk. Then run juno_config_apply to push the config to your satellite. |
| juno_config_applyA | Apply the current juno.config file to your satellite. This is required after modifying settings like storage headers, datastore rules, authentication config, or collection definitions. |
| juno_hosting_deployA | Deploy your app's frontend files to your satellite. Reads from the |
| juno_hosting_clearA | Remove frontend files (JS, HTML, CSS, etc.) from your satellite. This does NOT remove user-uploaded files from custom collections — only the deployed app assets. |
| juno_hosting_pruneB | Remove stale frontend files from your satellite that are no longer in your build output. Use --dry-run to preview which files would be deleted without actually deleting them. |
| juno_functions_buildA | Build your serverless functions. Supports Rust, TypeScript, and JavaScript. The CLI auto-detects the language if not specified. |
| juno_functions_ejectA | Generate the required files to begin developing serverless functions in your project. Scaffolds boilerplate for Rust, TypeScript, or JavaScript functions. Alias: |
| juno_functions_publishA | Publish a new version of your serverless functions to the satellite. Optionally submit as a pending change without applying, or provide a custom WASM file path. |
| juno_functions_upgradeA | Upgrade your satellite's serverless functions. Can use a local WASM file, select from CDN releases, or use the default local build output. Optionally create a snapshot before upgrading. |
| juno_changes_listA | List all submitted or applied changes to your module. By default shows only submitted (pending) changes. Use --all for full history and --every to include all statuses. |
| juno_changes_applyA | Apply a submitted change by its ID. Optionally create a snapshot before applying and verify the change hash for integrity. |
| juno_changes_rejectA | Reject a submitted change by its ID. This prevents the change from being applied. Optionally verify the change hash for integrity. |
| juno_create_projectA | Scaffold a new Juno project. Uses Vite to create the frontend, then adds Juno SDK and config. Does NOT use the interactive create-juno CLI. |
| juno_docsA | Fetch Juno documentation from GitHub repo. Full docs: https://github.com/junobuild/docs/tree/main/docs. Topics use underscore naming matching folder hierarchy (e.g. build_authentication, reference_cli_functions_build). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action. The domain prefixes (auth, changes, config, etc.) clearly separate concerns, and within each domain, tools like apply, list, reject are unambiguous.
Tools follow a consistent juno_<domain>_<action> pattern, with occasional noun-only names (juno_docs, juno_status) and both singular and plural forms. Minor variations exist but the pattern is clear.
18 tools cover the main aspects of Juno satellite management (auth, changes, config, functions, hosting, etc.) without being overwhelming. The count feels well-scoped for the domain.
The tool set covers core workflows: authentication, config management, changes (apply, list, reject), functions lifecycle, hosting operations, and status checks. Missing are direct user/datastore CRUD or config viewing, but these are out of scope for a CLI-focused MCP.