Compare commits

..

3 Commits

Author SHA1 Message Date
Minsu Lee
fa36873e72 Update temp directory paths to use runner temp directory 2025-06-05 10:41:14 +09:00
Minsu Lee
41edecda49 Update temp directory paths to use runner temp directory 2025-06-05 10:36:39 +09:00
Ashwin Bhat
699aa26b41 fix: only load GitHub MCP server when its tools are allowed (#124)
* fix: only load GitHub MCP server when its tools are allowed

- Add allowedTools parameter to prepareMcpConfig
- Check for mcp__github__ and mcp__github_file_ops__ tool prefixes
- Only include MCP servers when their tools are in allowed_tools
- Maintain backward compatibility when allowed_tools is not specified
- Update tests to reflect the new conditional loading behavior

This optimizes resource usage by not loading unnecessary MCP servers
when their tools are not allowed in the configuration.

Co-authored-by: ashwin-ant <ashwin-ant@users.noreply.github.com>

* fix: always load github_file_ops server regardless of allowed_tools

- Only apply conditional loading to the github MCP server
- Always load github_file_ops server as it contains essential tools
- Update tests to reflect this behavior

Co-authored-by: ashwin-ant <ashwin-ant@users.noreply.github.com>

* refactor: move allowedTools/disallowedTools parsing to parseGitHubContext

- Change allowedTools and disallowedTools from string to string[] in ParsedGitHubContext type
- Parse comma-separated environment variables into arrays in parseGitHubContext function
- Update create-prompt and install-mcp-server to use pre-parsed arrays
- Update all affected test files to use array syntax
- Eliminate duplicate parsing logic across the codebase

* style: apply prettier formatting

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: ashwin-ant <ashwin-ant@users.noreply.github.com>
2025-06-04 11:56:56 -07:00
2 changed files with 8 additions and 3 deletions

View File

@@ -107,7 +107,7 @@ runs:
if: steps.prepare.outputs.contains_trigger == 'true'
uses: anthropics/claude-code-base-action@1370ac97fbba9bddec20ea2924b5726bf10d8b94 # v0.0.9
with:
prompt_file: /tmp/claude-prompts/claude-prompt.txt
prompt_file: ${{ runner.temp }}/claude-prompts/claude-prompt.txt
allowed_tools: ${{ env.ALLOWED_TOOLS }}
disallowed_tools: ${{ env.DISALLOWED_TOOLS }}
timeout_minutes: ${{ inputs.timeout_minutes }}

View File

@@ -620,7 +620,9 @@ export async function createPrompt(
claudeBranch,
);
await mkdir("/tmp/claude-prompts", { recursive: true });
await mkdir(`${process.env.RUNNER_TEMP}/claude-prompts`, {
recursive: true,
});
// Generate the prompt
const promptContent = generatePrompt(preparedContext, githubData);
@@ -631,7 +633,10 @@ export async function createPrompt(
console.log("=======================");
// Write the prompt file
await writeFile("/tmp/claude-prompts/claude-prompt.txt", promptContent);
await writeFile(
`${process.env.RUNNER_TEMP}/claude-prompts/claude-prompt.txt`,
promptContent,
);
// Set allowed tools
const allAllowedTools = buildAllowedToolsString(