fix(tag): no such tool available mcp__github_* (#556)

Signed-off-by: Kevin Cui <bh@bugs.cc>

# Conflicts:
#	src/mcp/install-mcp-server.ts
#	src/modes/tag/index.ts
#	test/modes/agent.test.ts
This commit is contained in:
Kevin Cui
2025-09-13 03:33:34 +08:00
committed by GitHub
parent a5528eec74
commit 2e92922dd6
4 changed files with 36 additions and 27 deletions

View File

@@ -3,6 +3,7 @@ import { GITHUB_API_URL, GITHUB_SERVER_URL } from "../github/api/config";
import type { GitHubContext } from "../github/context";
import { isEntityContext } from "../github/context";
import { Octokit } from "@octokit/rest";
import type { AutoDetectedMode } from "../modes/detector";
type PrepareConfigParams = {
githubToken: string;
@@ -12,8 +13,8 @@ type PrepareConfigParams = {
baseBranch: string;
claudeCommentId?: string;
allowedTools: string[];
mode: AutoDetectedMode;
context: GitHubContext;
mode: "tag" | "agent";
};
async function checkActionsReadPermission(
@@ -65,8 +66,13 @@ export async function prepareMcpConfig(
try {
const allowedToolsList = allowedTools || [];
// Detect if we're in agent mode (explicit prompt provided)
const isAgentMode = mode === "agent";
const hasGitHubCommentTools = allowedToolsList.some((tool) =>
tool.startsWith("mcp__github_comment__"),
);
const hasGitHubMcpTools = allowedToolsList.some((tool) =>
tool.startsWith("mcp__github__"),
);
@@ -86,7 +92,7 @@ export async function prepareMcpConfig(
// Include comment server:
// - Always in tag mode (for updating Claude comments)
// - Only with explicit tools in agent mode
const shouldIncludeCommentServer = !isAgentMode;
const shouldIncludeCommentServer = !isAgentMode || hasGitHubCommentTools;
if (shouldIncludeCommentServer) {
baseMcpConfig.mcpServers.github_comment = {