Skip to content

mcp: follow-ups for agent tools, lint rules and error capture #372

Open

Description

@erkamyaman

Items still open from the audit issue #358. The fixed items landed in #363; this issue tracks what is left. Each item says why it was not part of that fix.

From #358 (agent tools, lint rules and error capture)

Partly done (the rest is open):

  • Medium: email-in-url leaks the email: The finding's route now replaces each address with [email] (EMAIL_IN_URL in rpc/router-config-tools.ts), covered by a new test. redactUrl still leaves emails alone: masking them there would change every HTTP and router URL, which is a product decision.

Open:

Done since

Activity

  1. added
    bugSomething is broken or shows wrong data
    featureA feature request or a pull request that adds one
    on Oct 12, 2026
  2. Kaap10 commented on Oct 12, 2026

    @Kaap10
    Contributor

    Happy to see #365 merged. My focus is on the MCP and agent tools side of this issue.

    Looking at the remaining tasks, the MCP-specific items break down into 8 focused PRs to keep changes small and reviewable:

    1. Tool descriptions: trim long descriptions under ~600 chars to save LLM context
    2. Tool metadata: add titles, tags, and structuredContent for list tools
    3. Config refactor: derive AGENT_INSPECTOR, ACTION_TOOLS, and PAGE_AGENT_ENTRIES from tool metadata
    4. New tool: general wait-for agent tool (app stability, navigation, HTTP idle)
    5. New tool: snapshot-everything export tool
    6. New tool: template diagnostics lint-templates tool
    7. MCP prompts API for common workflows (debug-form, route issues, change detection)
    8. Per-page resource templates with list_changed notifications

    I can take on the next item and would like to start with trimming tool descriptions under ~600 chars (safe and non-breaking) or adding tool titles and tags. Let me know if you would like me to proceed @erkamyaman

  3. erkamyaman commented on Oct 12, 2026

    @erkamyaman
    MemberAuthor

    Thanks @Kaap10, great work on #365 and a solid breakdown 🙌 Go ahead with 1 (trimming tool descriptions), it's safe to start now. Please hold 2 and 3 for a bit: a PR for the phase 1 security items in #340 is about to change how tools are registered and tiered in config.ts and devframe.ts. I'll ping you here when it lands, so you can build the metadata and the derived lists on top of it. 4–8 sound good too. Let's take them one at a time after that. Keep each PR small like #365 and update the matching docs pages in apps/docs.

  4. erkamyaman commented on Oct 12, 2026

    @erkamyaman
    MemberAuthor

    @Kaap10 the phase 1 security PR is merged (#375), so 2 and 3 are unblocked 🚀

    A few things it changed that 2 and 3 should build on:

    • Safety tiers: config.ts now has AGENT_SAFETY, which marks each tool as read, action or destructive. readOnly keeps only the read tools. Please treat the tier as part of each tool's metadata, so the derived lists in 3 pick it up too.
    • Action tools: ACTION_TOOLS.router is now ['navigate', 'clear-recordings']. Some tools are free in some modes, which is in ACTION_TOOL_FREE_MODES (for example change-detection with mode: 'read').
    • Page ownership: page answers are now accepted only from the connection that owns the page. dispatch-ngrx-action refuses when it can't tell which page to use.

    For 3, the derived AGENT_INSPECTOR, ACTION_TOOLS, PAGE_AGENT_ENTRIES and AGENT_SAFETY should match what's there today exactly. A test that compares them would make the review easy.

    Same as before: one small PR at a time, with the matching docs pages in apps/docs updated. Thanks!

  5. Kaap10 commented on Oct 12, 2026

    @Kaap10
    Contributor

    @erkamyaman, opened PR for # 1 (tool descriptions under 600 chars with regression tests).
    Noted on the #375 changes - will incorporate safety tiers and metadata into # 2 next once this lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething is broken or shows wrong datafeatureA feature request or a pull request that adds one

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions