Skip to content

feat: add Deploy MCP App#10263

Draft
joehan wants to merge 2 commits intomcp-deploy-toolsfrom
mcp-deploy-app
Draft

feat: add Deploy MCP App#10263
joehan wants to merge 2 commits intomcp-deploy-toolsfrom
mcp-deploy-app

Conversation

@joehan
Copy link
Copy Markdown
Member

@joehan joehan commented Apr 3, 2026

Adds the Deploy MCP App UI. (Chained off #10262)

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a visual interface for Firebase deployment within the Model Context Protocol (MCP) framework, featuring a new web-based UI and status polling mechanism. It also includes a safety check for Firestore index deployment and updates utility functions to support structured content. The review feedback highlights several critical improvements for the UI logic, specifically regarding the inefficient and error-prone re-rendering of logs during polling. Additionally, multiple comments point out violations of the repository's style guide concerning the use of "any" types and the preference for centralized logging over "console.error".

Comment on lines +43 to +44
statusList.innerHTML = "";
job.logs.forEach((log: string) => addLog(log));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Clearing and re-rendering the entire log list on every poll interval has several issues:

  1. Performance: DOM manipulation becomes increasingly expensive as the log history grows.
  2. Correctness: The addLog function generates a timestamp using new Date(). Re-rendering all logs causes every entry to display the time of the latest poll rather than when the log was actually received.
  3. Data Loss: Local logs added before polling starts (e.g., the 'Starting deployment' message at line 86) are lost when innerHTML is cleared.

Consider tracking the number of logs already displayed and only appending new ones.

Comment on lines +126 to +127
} catch (err: any) {
console.error("Failed to connect app:", err);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using console.error for user-facing error reporting is discouraged by the repository style guide (line 29). In this UI context, consider using the addLog function to display the error to the user.

Suggested change
} catch (err: any) {
console.error("Failed to connect app:", err);
} catch (err) {
addLog("Failed to connect app: " + (err instanceof Error ? err.message : String(err)), "error");
References
  1. Use the central logger; never use console.log() for user-facing output. (link)

@joehan joehan force-pushed the mcp-deploy-tools branch from 210bf2b to 647258b Compare April 3, 2026 22:11
@joehan joehan force-pushed the mcp-deploy-tools branch from 647258b to bbb70ff Compare April 3, 2026 22:28
@joehan joehan force-pushed the mcp-deploy-app branch 2 times, most recently from 5c96996 to ff684e7 Compare April 3, 2026 22:54
@joehan joehan force-pushed the mcp-deploy-tools branch from 7e24f04 to 09132bc Compare April 3, 2026 23:41
@joehan joehan force-pushed the mcp-deploy-tools branch from 09132bc to 316c49b Compare April 3, 2026 23:59
@joehan joehan force-pushed the mcp-deploy-app branch 2 times, most recently from 8ebae16 to a7fd37b Compare April 4, 2026 00:10
@joehan joehan force-pushed the mcp-deploy-tools branch 4 times, most recently from 34837da to df9b936 Compare April 6, 2026 20:31
joehan added 2 commits April 6, 2026 14:19
Adds the Deploy MCP App UI and resources. Also includes a small fix for firestore deploy to avoid errors on empty indexes.

- Verified build and file changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants