github / github/github-mcp-server

Tool name `get_file_contents` conflicts with Claude Desktop built-in tool

オープン
#1,935 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
33k
フォーク
5k
平均マージ
2日 1時間
マージ済み PR(30日)
52

説明

## Summary

The tool `get_file_contents` is not exposed to Claude in Claude Desktop, despite the MCP server correctly returning it in the `tools/list` response. This appears to be a name collision with Claude Desktop's internal file-reading capability.

## Environment

- **Claude Desktop**: Latest version (Feb 2026)
- **github-mcp-server**: Built from main branch
- **Config**: `GITHUB_READ_ONLY=true`

## Symptoms

- Server returns `get_file_contents` in `tools/list` response (verified via direct stdio test)
- Other tools work fine (`get_me`, `get_commit`, `list_branches`, `pull_request_read`, etc.)
- `get_file_contents` specifically is not available to Claude in conversations
- No errors in MCP logs - the tool is simply not exposed

## Root Cause

Claude Desktop appears to have a built-in tool with the same or similar name (`get_file_contents` or `read_file`), which shadows/filters the MCP server's version.

## Solution

Renaming the tool from `get_file_contents` to `fetch_repo_file` immediately resolves the issue. After rebuilding with the renamed tool, Claude Desktop correctly exposes it.

## Suggested Fix

Rename the tool in `pkg/github/repositories.go:625` from:
```go
Name: "get_file_contents",
```
to something like:
```go
Name: "fetch_repo_file",
```
or:
```go
Name: "get_repository_content",
```

This would be a breaking change for users relying on the current tool name, but it's necessary for Claude Desktop compatibility.

## Additional Context

- Issue was debugged extensively, ruling out: completions capability bug, schema issues, read-only filtering, scope filtering
- The rename was the only change that fixed the issue
- Other MCP servers may have similar conflicts with generic tool names like `read_file`, `get_file`, etc.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。