Tool name `get_file_contents` conflicts with Claude Desktop built-in tool
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 62/100
Research direction
Inspect pkg/github/repositories.go around line 625, where the get_file_contents tool is defined. Compare the tool name with the direct stdio tools/list response and verify that the renamed tool is exposed in Claude Desktop without affecting the other listed tools. Done means the replacement name resolves the collision while the repository content operation remains available.
Written by the indexing model from the issue text.
Description
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_contentsintools/listresponse (verified via direct stdio test) - Other tools work fine (
get_me,get_commit,list_branches,pull_request_read, etc.) get_file_contentsspecifically 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:
Name: "get_file_contents",
to something like:
Name: "fetch_repo_file",
or:
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.
- Dominant language
- Go
- Stars
- 33.1k
- Forks
- 5k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 27
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/github-mcp-server
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/github-mcp-server#3235 ·
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 88/100
github/github-mcp-server#3042 · 2 comments ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/github-mcp-server#3032 · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/github-mcp-server#2803 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/github-mcp-server#2740 ·
All issues in github/github-mcp-server
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·