Skip to content

fix(claude-relay-plugin): align with current relay MCP server and endpoints#68

Open
willwashburn wants to merge 3 commits into
mainfrom
update-claude-relay-plugin-relay-migration
Open

fix(claude-relay-plugin): align with current relay MCP server and endpoints#68
willwashburn wants to merge 3 commits into
mainfrom
update-claude-relay-plugin-relay-migration

Conversation

@willwashburn
Copy link
Copy Markdown
Member

@willwashburn willwashburn commented Jun 3, 2026

Updates the claude-relay-plugin to track recent Agent Relay changes. The plugin had drifted against the current relay MCP server, its name, tool names, permission strings, API host, and state-directory layout.

Changes

Area Before After
MCP server launch (.mcp.json) npx -y @relaycast/mcp (removed package) npx -y agent-relay mcp (relay-owned server)
MCP server key/name relaycast agent-relay
Permission allowlist string mcp__plugin_agent-relay_relaycast / mcp__relaycast__* (inconsistent) mcp__agent-relay (everywhere)
Registration tool register register_agent
Mark-read tool mark_read mark_message_read
API host api.relaycast.dev gateway.relaycast.dev
Worker-state dir .agent-relay/team/workers.json .agentworkforce/relay/team/workers.json

Why

  • @relaycast/mcp was removed. Relay now ships its own MCP server, invoked via agent-relay mcp (the sibling gemini-relay-extension already uses this). Its tools use underscore names; registerregister_agent and mark_readmark_message_read are the renames that affect this plugin. (send_dm, post_message, check_inbox, create_workspace, set_workspace_key, create_channel, join_channel, add_reaction are unchanged.)
  • MCP server renamed to agent-relay. The .mcp.json server key, the relay-worker mcpServers reference, and the two PreToolUse auto-allow hooks (which match on the tool-name prefix) all move to agent-relay. The hook file permission-allow-relaycast.sh is renamed to permission-allow-agent-relay.sh.
  • Permission strings corrected. Per the Claude Code docs (mcp.md + permissions.md), plugin-bundled MCP servers are keyed solely by their .mcp.json server name — there is no plugin_<name>_ prefix. The old mcp__plugin_agent-relay_relaycast was therefore wrong, and setup.sh vs session-setup.sh disagreed. Both now write the single correct string mcp__agent-relay.
  • API host moved to gateway.relaycast.dev (inbox-polling hooks + docs). REST paths (/v1/inbox/check) unchanged.
  • State directory renamed to .agentworkforce/relay/ upstream.

Left unchanged (intentional)

  • The Relaycast service brand/host: gateway.relaycast.dev, the "Relaycast inbox" the hooks poll, and the relaycast keyword tag — these refer to the hosted messaging service, not the MCP server.
  • The env contract (RELAY_BASE_URL, RELAY_AGENT_TYPE, RELAY_API_KEY) — unchanged for the relay-owned server.
  • Observer URL (agentrelay.com/observer) — current.

Verification

  • Tool names diffed against the relay repo's actual agent-relay mcp tool registrations.
  • @relaycast/mcp removal + agent-relay mcp replacement confirmed in the relay repo (trajectories + the sibling plugins under relay/plugins/).
  • Permission-string format confirmed against the Claude Code mcp.md/permissions.md docs.
  • All JSON files parse; all bash hooks pass bash -n.

Note: permission-allow-agent-relay.sh still writes a debug line to /tmp/relay-hook-debug.log on every PreToolUse — pre-existing, left for a separate cleanup.

🤖 Generated with Claude Code

…points

- Launch the relay-owned MCP server (`npx -y agent-relay mcp`) instead of the
  removed `@relaycast/mcp` package
- Rename MCP tools to current names: `register` → `register_agent`,
  `mark_read` → `mark_message_read`
- Point hooks and docs at the new `gateway.relaycast.dev` API host
- Update the worker-state path to the renamed `.agentworkforce/relay/` dir

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Jun 3, 2026

CodeAnt AI is reviewing your PR.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 3, 2026

Review Change Stack

Warning

Review limit reached

@willwashburn, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 21 minutes and 47 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: eb2b4ea4-fcdf-4688-a944-f82ad1a7ae13

📥 Commits

Reviewing files that changed from the base of the PR and between 737d2ec and 5da11be.

📒 Files selected for processing (13)
  • plugins/claude-relay-plugin/.mcp.json
  • plugins/claude-relay-plugin/README.md
  • plugins/claude-relay-plugin/agents/relay-worker/agent.md
  • plugins/claude-relay-plugin/agents/relay-worker/config.json
  • plugins/claude-relay-plugin/hooks/hooks.json
  • plugins/claude-relay-plugin/hooks/permission-allow-agent-relay.sh
  • plugins/claude-relay-plugin/hooks/permission-allow-worker.sh
  • plugins/claude-relay-plugin/hooks/session-setup.sh
  • plugins/claude-relay-plugin/package.json
  • plugins/claude-relay-plugin/setup.sh
  • plugins/claude-relay-plugin/skills/relay-fanout/SKILL.md
  • plugins/claude-relay-plugin/skills/relay-pipeline/SKILL.md
  • plugins/claude-relay-plugin/skills/relay-team/SKILL.md
📝 Walkthrough

Walkthrough

This PR updates the Claude Relay Plugin with a coordinated migration: relocating the default API endpoint from api.relaycast.dev to gateway.relaycast.dev, renaming the agent registration tool from register to register_agent, migrating the workers file path to a new directory structure, and standardizing agent prompt instructions for tool identity handling.

Changes

Claude Relay Plugin Gateway Migration

Layer / File(s) Summary
Relay Gateway Endpoint Migration
plugins/claude-relay-plugin/.mcp.json, plugins/claude-relay-plugin/README.md, plugins/claude-relay-plugin/hooks/post-tool-inbox.sh, plugins/claude-relay-plugin/hooks/stop-inbox.js, plugins/claude-relay-plugin/hooks/stop-inbox.ts
MCP server configuration and hook script defaults updated to use gateway.relaycast.dev endpoint instead of api.relaycast.dev, affecting inbox checks and relay initialization.
Workers File Path Configuration Update
plugins/claude-relay-plugin/hooks/pre-compact.sh, plugins/claude-relay-plugin/README.md
Default workers.json fallback path migrated from .agent-relay/team/workers.json to .agentworkforce/relay/team/workers.json in both runtime script and documentation.
Agent Registration Tool Rename
plugins/claude-relay-plugin/README.md, plugins/claude-relay-plugin/hooks/subagent-bootstrap.sh, plugins/claude-relay-plugin/skills/relay-fanout/SKILL.md, plugins/claude-relay-plugin/skills/relay-pipeline/SKILL.md, plugins/claude-relay-plugin/skills/relay-team/SKILL.md
Registration tool renamed from register to register_agent across all skill protocols, bootstrap setup instructions, and troubleshooting guidance.
Relay Worker Agent Prompt Refinements
plugins/claude-relay-plugin/agents/relay-worker/agent.md
Agent prompt updated with explicit workspace key setup step and standardized requirement for as: "<agent-name>" parameter on all relay tool calls (mark_message_read, send_dm, post_message, etc.).

🎯 1 (Trivial) | ⏱️ ~4 minutes

🐰 A gateway gleams, new paths align,
Worker whispers start with a sign—
Register, identity, all set right,
The relay runs swift through the night! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(claude-relay-plugin): align with current relay MCP server and endpoints' accurately captures the main objective of the PR—updating the plugin to track recent relay changes across MCP server invocation, tool names, API host, and directory paths.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description clearly relates to the changeset, detailing specific updates to the claude-relay-plugin including MCP server changes, tool renames, API host updates, and directory path changes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-claude-relay-plugin-relay-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codeant-ai codeant-ai Bot added the size:S This PR changes 10-29 lines, ignoring generated files label Jun 3, 2026
Copy link
Copy Markdown

@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 updates the default RELAY_BASE_URL to https://gateway.relaycast.dev across configuration, hook, and documentation files. It also renames the register tool to register_agent, renames mark_read to mark_message_read, updates the default workers file path to .agentworkforce/relay/team/workers.json, and adjusts the MCP command arguments. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Jun 3, 2026

CodeAnt AI finished reviewing your PR.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/claude-relay-plugin/.mcp.json`:
- Around line 5-9: The args in plugins/claude-relay-plugin/.mcp.json mistakenly
invoke "agent-relay mcp" which is not a valid command; update the "args" array
to call the correct binary/subcommand that actually starts the MCP server (or
revert to the previous working MCP implementation). Locate the "args" entry in
.mcp.json and replace ["-y","agent-relay","mcp"] with the correct invocation for
the MCP server binary (e.g., the real package/binary name and its MCP start
subcommand) so startup runs the MCP server successfully.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ea0e3ef-2497-4914-988c-2e150cc08367

📥 Commits

Reviewing files that changed from the base of the PR and between 8a18835 and 737d2ec.

📒 Files selected for processing (11)
  • plugins/claude-relay-plugin/.mcp.json
  • plugins/claude-relay-plugin/README.md
  • plugins/claude-relay-plugin/agents/relay-worker/agent.md
  • plugins/claude-relay-plugin/hooks/post-tool-inbox.sh
  • plugins/claude-relay-plugin/hooks/pre-compact.sh
  • plugins/claude-relay-plugin/hooks/stop-inbox.js
  • plugins/claude-relay-plugin/hooks/stop-inbox.ts
  • plugins/claude-relay-plugin/hooks/subagent-bootstrap.sh
  • plugins/claude-relay-plugin/skills/relay-fanout/SKILL.md
  • plugins/claude-relay-plugin/skills/relay-pipeline/SKILL.md
  • plugins/claude-relay-plugin/skills/relay-team/SKILL.md

Comment on lines 5 to 9
"args": [
"-y",
"@relaycast/mcp"
"agent-relay",
"mcp"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Confirm the agent-relay package exists on npm and inspect its bin entry
curl -s https://registry.npmjs.org/agent-relay | jq '{latest: .["dist-tags"].latest, versions: (.versions | keys | length)}'
# Inspect the bin map and any mcp-related script of the latest version
LATEST=$(curl -s https://registry.npmjs.org/agent-relay | jq -r '.["dist-tags"].latest')
curl -s "https://registry.npmjs.org/agent-relay/$LATEST" | jq '{bin: .bin, scripts: .scripts}'

Repository: AgentWorkforce/skills

Length of output: 5210


🏁 Script executed:

npx -y agent-relay --help | rg -n "mcp|relaycast"
npx -y agent-relay mcp --help

Repository: AgentWorkforce/skills

Length of output: 5245


Fix invalid agent-relay mcp invocation in plugins/claude-relay-plugin/.mcp.json

  • agent-relay is published and installs a CLI binary, but npx -y agent-relay --help shows no mcp command/verb.
  • As a result, the args currently using agent-relay mcp (lines 5-9) will fail at startup, so the MCP server won’t come up.

Update .mcp.json to call the actual subcommand/binary that provides the MCP server (or revert to the previously working MCP implementation if agent-relay doesn’t ship one).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/claude-relay-plugin/.mcp.json` around lines 5 - 9, The args in
plugins/claude-relay-plugin/.mcp.json mistakenly invoke "agent-relay mcp" which
is not a valid command; update the "args" array to call the correct
binary/subcommand that actually starts the MCP server (or revert to the previous
working MCP implementation). Locate the "args" entry in .mcp.json and replace
["-y","agent-relay","mcp"] with the correct invocation for the MCP server binary
(e.g., the real package/binary name and its MCP start subcommand) so startup
runs the MCP server successfully.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 11 files

Re-trigger cubic

willwashburn and others added 2 commits June 3, 2026 06:07
…rmission strings

- Rename the bundled MCP server key from `relaycast` to `agent-relay` in
  `.mcp.json` and the relay-worker `mcpServers` reference
- Fix permission allowlist strings to the correct `mcp__agent-relay` form
  (the old `mcp__plugin_agent-relay_relaycast` had a non-existent `plugin_`
  namespace; plugin MCP servers are keyed only by their `.mcp.json` name)
- Make `setup.sh` and the `session-setup.sh` SessionStart hook write the
  same permission string
- Update the PreToolUse auto-allow hooks to match `agent-relay` tool names
  (rename `permission-allow-relaycast.sh` → `permission-allow-agent-relay.sh`)
- Reword "Relaycast MCP" → "Agent Relay MCP" across docs/skills

The `relaycast.dev` API host and Relaycast service references are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e hook

The auto-allow hook wrote a line to /tmp/relay-hook-debug.log on every tool
call. Remove it so the published hook has no debug side effect.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 13 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="plugins/claude-relay-plugin/hooks/permission-allow-worker.sh">

<violation number="1" location="plugins/claude-relay-plugin/hooks/permission-allow-worker.sh:10">
P1: The `agent-relay` substring pattern in the grep regex likely does not match any actual relay MCP tool names, which would silently break the auto-allow for all relay worker tool calls.

The relay MCP server registers tools by their bare names (e.g., `register_agent`, `mark_message_read`) as stated in the PR description. Neither of these contains `agent-relay` as a substring. The old `relaycast` pattern presumably worked because the previous @relaycast/mcp naming scheme included "relaycast" in some form. If `tool_name` in the PreToolUse hook input is just the bare tool name (e.g., `register_agent`), the grep will never match relay tools and background workers will silently fail on every relay MCP call.

Needs verification of the actual `tool_name` format in the hook input for MCP tools:
- If `tool_name` includes a server qualifier like `mcp__agent-relay__register_agent`, then `agent-relay` as substring works fine — no action needed.
- If `tool_name` is the bare tool name (e.g., `register_agent`), the pattern must be updated to match actual relay tool names or a common prefix shared by all of them.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // ""')

if echo "$TOOL_NAME" | grep -qE 'relaycast|^Bash$|^WebSearch$|^WebFetch$'; then
if echo "$TOOL_NAME" | grep -qE 'agent-relay|^Bash$|^WebSearch$|^WebFetch$'; then
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1: The agent-relay substring pattern in the grep regex likely does not match any actual relay MCP tool names, which would silently break the auto-allow for all relay worker tool calls.

The relay MCP server registers tools by their bare names (e.g., register_agent, mark_message_read) as stated in the PR description. Neither of these contains agent-relay as a substring. The old relaycast pattern presumably worked because the previous @relaycast/mcp naming scheme included "relaycast" in some form. If tool_name in the PreToolUse hook input is just the bare tool name (e.g., register_agent), the grep will never match relay tools and background workers will silently fail on every relay MCP call.

Needs verification of the actual tool_name format in the hook input for MCP tools:

  • If tool_name includes a server qualifier like mcp__agent-relay__register_agent, then agent-relay as substring works fine — no action needed.
  • If tool_name is the bare tool name (e.g., register_agent), the pattern must be updated to match actual relay tool names or a common prefix shared by all of them.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/claude-relay-plugin/hooks/permission-allow-worker.sh, line 10:

<comment>The `agent-relay` substring pattern in the grep regex likely does not match any actual relay MCP tool names, which would silently break the auto-allow for all relay worker tool calls.

The relay MCP server registers tools by their bare names (e.g., `register_agent`, `mark_message_read`) as stated in the PR description. Neither of these contains `agent-relay` as a substring. The old `relaycast` pattern presumably worked because the previous @relaycast/mcp naming scheme included "relaycast" in some form. If `tool_name` in the PreToolUse hook input is just the bare tool name (e.g., `register_agent`), the grep will never match relay tools and background workers will silently fail on every relay MCP call.

Needs verification of the actual `tool_name` format in the hook input for MCP tools:
- If `tool_name` includes a server qualifier like `mcp__agent-relay__register_agent`, then `agent-relay` as substring works fine — no action needed.
- If `tool_name` is the bare tool name (e.g., `register_agent`), the pattern must be updated to match actual relay tool names or a common prefix shared by all of them.</comment>

<file context>
@@ -1,12 +1,12 @@
 TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // ""')
 
-if echo "$TOOL_NAME" | grep -qE 'relaycast|^Bash$|^WebSearch$|^WebFetch$'; then
+if echo "$TOOL_NAME" | grep -qE 'agent-relay|^Bash$|^WebSearch$|^WebFetch$'; then
   echo '{"hookSpecificOutput":{"hookEventName":"PermissionRequest","permissionDecision":"allow","permissionDecisionReason":"Auto-allowed by relay-worker agent"}}'
 fi
</file context>

@agent-relay-code
Copy link
Copy Markdown
Contributor

Reviewed and fixed PR #68 locally.

Key fixes:

  • Corrected .mcp.json so the plugin launches the actual bundled Agent Relay MCP stdio server instead of the non-existent agent-relay mcp command.
  • Cleaned stale Relaycast wording in the worker config and README hook docs.
  • Confirmed mcp__agent-relay is a valid bare MCP-server permission shape against Claude Code permissions docs: https://code.claude.com/docs/en/permissions

Validation run:

  • JSON parsing for plugin config files
  • bash -n for all shell hooks and setup script
  • executable bit check for hook scripts
  • exact MCP command smoke start from .mcp.json
  • reference scan for stale Relaycast migration leftovers

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed and fixed PR #68 locally.

Key fixes:

  • Corrected .mcp.json so the plugin launches the actual bundled Agent Relay MCP stdio server instead of the non-existent agent-relay mcp command.
  • Cleaned stale Relaycast wording in the worker config and README hook docs.
  • Confirmed mcp__agent-relay is a valid bare MCP-server permission shape against Claude Code permissions docs: https://code.claude.com/docs/en/permissions

Validation run:

  • JSON parsing for plugin config files
  • bash -n for all shell hooks and setup script
  • executable bit check for hook scripts
  • exact MCP command smoke start from .mcp.json
  • reference scan for stale Relaycast migration leftovers

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed and fixed the PR locally.

Key fixes:

  • Changed .mcp.json back to the runnable MCP package: npx -y @relaycast/mcp. The proposed agent-relay mcp command is not an exposed CLI command.
  • Updated permissions to mcp__agent-relay__* in setup hooks/scripts so actual MCP tool calls are allowlisted.
  • Replaced invalid tool names (register_agent, mark_message_read) with valid canonical MCP names like agent.register and message.inbox.mark_read.
  • Updated README, worker prompt, bootstrap hook, and relay skills to use the tool names returned by the current MCP server.

Validation run:

  • JSON parsing for plugin config files
  • Shell syntax checks for hooks/setup scripts
  • node --check for stop-inbox.js
  • Setup/session setup idempotency smoke tests
  • MCP initialize/tools-list smoke test for @relaycast/mcp, confirming serverInfo.name = agent-relay and expected tools are present

@agent-relay-code
Copy link
Copy Markdown
Contributor

Reviewed PR #68 and fixed the migration issues I found.

Key fixes made:

  • Restored .mcp.json to a valid MCP startup command using npx -y @relaycast/mcp; the PR’s agent-relay mcp command fails with unknown command 'mcp'.
  • Fixed Claude MCP permission entries to mcp__agent-relay__* in setup scripts and docs.
  • Removed unsupported register_agent / mark_message_read references and aligned workflow docs with actual MCP tool names like agent.register, workspace.set_key, and message.inbox.check.
  • Normalized the Agent Relay link to the canonical agentrelay.com.

Local validation run:

  • JSON parsing for plugin config, MCP config, hook config, worker config, and package metadata.
  • Setup/session setup scripts create the corrected permission.
  • Permission hooks allow mcp__agent-relay__... tool names.
  • Hook paths exist and executable bits are intact.
  • Inbox/pre-compact/post-tool/stop hooks run on representative inputs.
  • Verified @relaycast/mcp starts without immediate command failure.

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed PR #68 and fixed the migration issues I found.

Key fixes made:

  • Restored .mcp.json to a valid MCP startup command using npx -y @relaycast/mcp; the PR’s agent-relay mcp command fails with unknown command 'mcp'.
  • Fixed Claude MCP permission entries to mcp__agent-relay__* in setup scripts and docs.
  • Removed unsupported register_agent / mark_message_read references and aligned workflow docs with actual MCP tool names like agent.register, workspace.set_key, and message.inbox.check.
  • Normalized the Agent Relay link to the canonical agentrelay.com.

Local validation run:

  • JSON parsing for plugin config, MCP config, hook config, worker config, and package metadata.
  • Setup/session setup scripts create the corrected permission.
  • Permission hooks allow mcp__agent-relay__... tool names.
  • Hook paths exist and executable bits are intact.
  • Inbox/pre-compact/post-tool/stop hooks run on representative inputs.
  • Verified @relaycast/mcp starts without immediate command failure.

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed and fixed PR #68 locally.

Key fixes:

  • Corrected MCP permission allowlist from bare mcp__agent-relay to mcp__agent-relay__*.
  • Reverted nonexistent tool names register_agent and mark_message_read back to working MCP aliases register and mark_read.
  • Fixed .mcp.json so it keeps the renamed server id agent-relay but uses the working stdio MCP package @relaycast/mcp; the proposed agent-relay mcp command does not start an MCP server.

Validation run:

  • JSON validation for plugin config files.
  • Shell syntax checks for all changed hook/setup scripts.
  • node --check for stop-inbox.js.
  • Targeted stale-string searches for broken migration names and old permission patterns.
  • npm package checks for MCP entrypoints/tool compatibility.

@agent-relay-code
Copy link
Copy Markdown
Contributor

Reviewed PR #68 and fixed the issues I found.

Key fixes made:

  • Corrected .mcp.json to start the real MCP server via npx -y -p @relaycast/mcp relaycast-mcp; agent-relay mcp was not a valid MCP subcommand.
  • Restored valid MCP tool names in prompts/skills: register and mark_read instead of nonexistent register_agent / mark_message_read.
  • Fixed Claude permission allow entries to use mcp__agent-relay__*.
  • Fixed the worker permission hook to return hookEventName: "PreToolUse".
  • Cleaned remaining plugin-facing Relaycast branding where it was part of user-visible plugin text.

Validation run:

  • JSON validation for plugin config files.
  • bash -n for all shell hooks/setup scripts.
  • node --check for stop-inbox.js.
  • Temporary-project checks for setup.sh and session-setup.sh.
  • Hook output checks for Agent Relay tool auto-approval.
  • MCP startup/tool-call probe confirming register reaches the server and fails only on expected missing workspace auth, not “tool not found”.

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed PR #68 and fixed the issues I found.

Key fixes made:

  • Corrected .mcp.json to start the real MCP server via npx -y -p @relaycast/mcp relaycast-mcp; agent-relay mcp was not a valid MCP subcommand.
  • Restored valid MCP tool names in prompts/skills: register and mark_read instead of nonexistent register_agent / mark_message_read.
  • Fixed Claude permission allow entries to use mcp__agent-relay__*.
  • Fixed the worker permission hook to return hookEventName: "PreToolUse".
  • Cleaned remaining plugin-facing Relaycast branding where it was part of user-visible plugin text.

Validation run:

  • JSON validation for plugin config files.
  • bash -n for all shell hooks/setup scripts.
  • node --check for stop-inbox.js.
  • Temporary-project checks for setup.sh and session-setup.sh.
  • Hook output checks for Agent Relay tool auto-approval.
  • MCP startup/tool-call probe confirming register reaches the server and fails only on expected missing workspace auth, not “tool not found”.

@agent-relay-code
Copy link
Copy Markdown
Contributor

Reviewed and fixed PR #68 locally.

Key fixes:

  • Corrected .mcp.json to start the actual MCP stdio server: npx -y -p @relaycast/mcp relaycast-mcp.
  • Replaced invalid tool-name references with actual MCP tools like workspace.create, workspace.set_key, agent.register, message.inbox.check, and message.dm.send.
  • Fixed permissions to mcp__agent-relay__*.
  • Fixed the worker permission hook to emit hookEventName: "PreToolUse".
  • Cleaned stale user-facing Relaycast wording in the touched plugin docs/config.

Validation run:

  • JSON validation for plugin config files.
  • bash -n for shell hooks/setup scripts.
  • node --check for stop-inbox.js.
  • Temporary-project setup/session idempotency checks.
  • Permission hook output checks.
  • MCP startup/tool probe confirming agent.register exists and reaches the server.

@agent-relay-code
Copy link
Copy Markdown
Contributor

⚠️ pr-reviewer did not push — the PR branch advanced during the review, so fixes were withheld to avoid overwriting newer commits. Re-trigger the review once the branch settles. The notes below are advisory and were not pushed.

Reviewed and fixed PR #68 locally.

Key fixes:

  • Corrected .mcp.json to start the actual MCP stdio server: npx -y -p @relaycast/mcp relaycast-mcp.
  • Replaced invalid tool-name references with actual MCP tools like workspace.create, workspace.set_key, agent.register, message.inbox.check, and message.dm.send.
  • Fixed permissions to mcp__agent-relay__*.
  • Fixed the worker permission hook to emit hookEventName: "PreToolUse".
  • Cleaned stale user-facing Relaycast wording in the touched plugin docs/config.

Validation run:

  • JSON validation for plugin config files.
  • bash -n for shell hooks/setup scripts.
  • node --check for stop-inbox.js.
  • Temporary-project setup/session idempotency checks.
  • Permission hook output checks.
  • MCP startup/tool probe confirming agent.register exists and reaches the server.

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

Labels

size:S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant