Fix prettier formatting
This commit is contained in:
44
PR_TEMPLATE.md
Normal file
44
PR_TEMPLATE.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Fix MCP server undefined error and file path resolution
|
||||
|
||||
## Problem
|
||||
|
||||
The `mcp__github_file_ops__commit_files` tool was failing with "Error calling tool commit_files: undefined" when Claude tried to commit files through the GitHub Action.
|
||||
|
||||
## Root Causes
|
||||
|
||||
1. **Error format mismatch**: The MCP server returned errors with the message in a `content` field, but the claude-cli-internal client expected it in an `error` field
|
||||
2. **Working directory mismatch**: The MCP server couldn't find repository files because it was looking in the wrong directory
|
||||
|
||||
## Solution
|
||||
|
||||
1. Added `error` field to error responses in both `commit_files` and `delete_files` tools
|
||||
2. Added `REPO_DIR` environment variable support to the MCP server
|
||||
3. Updated file reading to use `REPO_DIR` for correct path resolution
|
||||
4. Pass `GITHUB_WORKSPACE` to the MCP server configuration
|
||||
|
||||
## Changes
|
||||
|
||||
### `src/mcp/github-file-ops-server.ts`
|
||||
|
||||
- Added `error` field to error response objects
|
||||
- Added `REPO_DIR` environment variable (defaults to `process.cwd()`)
|
||||
- Updated file reading to construct full paths using `REPO_DIR`
|
||||
- Simplified path processing logic
|
||||
|
||||
### `src/mcp/install-mcp-server.ts`
|
||||
|
||||
- Added `REPO_DIR: process.env.GITHUB_WORKSPACE || process.cwd()` to MCP server environment
|
||||
|
||||
## Testing
|
||||
|
||||
- Created local tests to verify error format fix
|
||||
- Confirmed that "undefined" errors are now replaced with actual error messages
|
||||
- Verified that the MCP server can handle both relative and absolute file paths
|
||||
|
||||
## Impact
|
||||
|
||||
- Fixes the immediate "undefined" error issue
|
||||
- Enables proper file path resolution in GitHub Actions environment
|
||||
- Provides clearer error messages for debugging
|
||||
|
||||
Fixes #[issue-number-if-applicable]
|
||||
Reference in New Issue
Block a user