Skip to content

Fix Serena MCP language support tools unavailable in language-support-tester, smoke-copilot, and smoke-codex#1401

Merged
lpcox merged 3 commits intomainfrom
copilot/fix-serena-mcp-tools-availability
Feb 25, 2026
Merged

Fix Serena MCP language support tools unavailable in language-support-tester, smoke-copilot, and smoke-codex#1401
lpcox merged 3 commits intomainfrom
copilot/fix-serena-mcp-tools-availability

Conversation

Copy link
Contributor

Copilot AI commented Feb 25, 2026

Fixes the Serena MCP server tools (serena-get_symbols_overview, serena-find_symbol, etc.) not being available in the agent environment for Go, TypeScript/JavaScript, and Python language support testing.

Root Cause

The --context codex flag passed via entrypointArgs to the Serena MCP server prevented it from properly registering tools in the MCP gateway. Additionally, mounting the workspace at ${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}:rw instead of ${GITHUB_WORKSPACE}:/workspace:rw meant Serena's default serena-init.sh entrypoint couldn't find the project at the expected /workspace path.

Changes Made

Removed the entrypoint/entrypointArgs override and corrected the workspace mount path in three workflow lock files:

  • .github/workflows/language-support-tester.lock.yml — primary workflow where the issue was reported
  • .github/workflows/smoke-copilot.lock.yml — had the same misconfiguration
  • .github/workflows/smoke-codex.lock.yml — had the same misconfiguration in both its TOML and JSON config sections

The fix uses the container's default serena-init.sh entrypoint, which creates /workspace/.serena/project.yml with Go, TypeScript, and Python language support, then runs serena-mcp-server so all tools are properly registered with the serena- prefix.

Testing

  • ✅ All checks pass (make agent-finished)
Original prompt

This section details on the original issue you should resolve

<issue_title>[language-support] Serena MCP language support tools unavailable (Go, TypeScript/JavaScript, Python)</issue_title>
<issue_description>## Language Support Test Failures

All three language support tests failed because the Serena MCP server tools are not available in the agent environment.

Affected Languages

  • ❌ Go
  • ❌ TypeScript/JavaScript
  • ❌ Python

Error

When attempting to call serena-get_symbols_overview and serena-find_symbol, the tools were not found in the tool registry:

Tool not available: serena-get_symbols_overview
Tool not available: serena-find_symbol

None of the serena-* prefixed tools are registered/available in the agent environment.

Steps to Reproduce

  1. Run the language-support-tester agentic workflow (.github/workflows/language-support-tester.md)
  2. Observe that all calls to serena-get_symbols_overview and serena-find_symbol fail with "tool not available" errors

Tests Attempted

Test Tool Target Result
Go serena-get_symbols_overview internal/server ❌ Tool not available
Go serena-find_symbol internal/ ❌ Tool not available
JS/TS serena-get_symbols_overview test/serena-mcp-tests/samples/js_project/calculator.js ❌ Tool not available
JS/TS serena-find_symbol JS files ❌ Tool not available
Python serena-get_symbols_overview test/serena-mcp-tests/samples/python_project/calculator.py ❌ Tool not available
Python serena-find_symbol Calculator class, add method, format_number ❌ Tool not available

Expected Behavior

The Serena MCP server should be running and its tools available with the serena- prefix, allowing serena-get_symbols_overview, serena-find_symbol, and serena-search_for_pattern to function correctly for Go, TypeScript/JavaScript, and Python files.

Workflow Run

Workflow run ID: 22337089293

Generated by Language Support Tester

  • expires on Mar 3, 2026, 4:53 AM UTC

Comments on the Issue (you are @copilot in this section)

Custom agent used: agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…xt codex override

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
@lpcox
Copy link
Collaborator

lpcox commented Feb 25, 2026

@copilot also fix smoke-copilot and smoke-codex

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 25, 2026

@copilot also fix smoke-copilot and smoke-codex

Done in 5de70e8. Applied the same fix to both smoke-copilot.lock.yml and smoke-codex.lock.yml — removed the --context codex entrypoint override and changed the workspace mount to ${GITHUB_WORKSPACE}:/workspace:rw. Note that smoke-codex.lock.yml had two config sections (TOML + JSON), both are fixed.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • example.com
    • Triggering command: /tmp/go-build850733134/b284/launcher.test /tmp/go-build850733134/b284/launcher.test -test.testlogfile=/tmp/go-build850733134/b284/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true go --local x_amd64/compile user.email (dns block)
  • invalid-host-that-does-not-exist-12345.com
    • Triggering command: /tmp/go-build850733134/b266/config.test /tmp/go-build850733134/b266/config.test -test.testlogfile=/tmp/go-build850733134/b266/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true 64/src/runtime/cgo 64/src/unicode/utf16/utf16.go .12/x64/as user.email (dns block)
  • nonexistent.local
    • Triggering command: /tmp/go-build850733134/b284/launcher.test /tmp/go-build850733134/b284/launcher.test -test.testlogfile=/tmp/go-build850733134/b284/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true go --local x_amd64/compile user.email (dns block)
  • slow.example.com
    • Triggering command: /tmp/go-build850733134/b284/launcher.test /tmp/go-build850733134/b284/launcher.test -test.testlogfile=/tmp/go-build850733134/b284/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true go --local x_amd64/compile user.email (dns block)
  • this-host-does-not-exist-12345.com
    • Triggering command: /tmp/go-build850733134/b293/mcp.test /tmp/go-build850733134/b293/mcp.test -test.testlogfile=/tmp/go-build850733134/b293/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true _.a ache/go/1.25.6/x-ifaceassert x_amd64/vet (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Fix language support tools for Serena MCP Fix Serena MCP language support tools unavailable in language-support-tester, smoke-copilot, and smoke-codex Feb 25, 2026
@lpcox lpcox marked this pull request as ready for review February 25, 2026 18:34
Copilot AI review requested due to automatic review settings February 25, 2026 18:34
@lpcox
Copy link
Collaborator

lpcox commented Feb 25, 2026

@copilot the .md file for the agentic workflow has to be updated. you cannot update the .lock.yml directly

@lpcox lpcox merged commit 6721ea7 into main Feb 25, 2026
4 of 5 checks passed
@lpcox lpcox deleted the copilot/fix-serena-mcp-tools-availability branch February 25, 2026 18:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a configuration issue preventing Serena MCP server tools from being available in language support testing workflows for Go, TypeScript, and Python. The root cause was twofold: (1) using --context codex flag via custom entrypoint that prevented tool registration, and (2) mounting the workspace at the wrong path preventing Serena's initialization script from finding the project.

Changes:

  • Removed custom entrypoint/entrypointArgs overrides for Serena MCP server configuration
  • Corrected workspace mount path from ${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}:rw to ${GITHUB_WORKSPACE}:/workspace:rw
  • Applied fixes to three workflow lock files enabling the default serena-init.sh entrypoint to properly initialize multi-language support

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/language-support-tester.lock.yml Fixed Serena MCP server configuration to use default entrypoint and correct workspace mount path
.github/workflows/smoke-copilot.lock.yml Applied same Serena MCP server configuration fixes as language-support-tester
.github/workflows/smoke-codex.lock.yml Applied Serena MCP server configuration fixes in both TOML and JSON config sections

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"entrypoint": "serena",
"entrypointArgs": ["start-mcp-server", "--context", "codex", "--project", "\${GITHUB_WORKSPACE}"],
"mounts": ["\${GITHUB_WORKSPACE}:\${GITHUB_WORKSPACE}:rw"]
"mounts": ["\${GITHUB_WORKSPACE}:/workspace:rw"]
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple other workflow files still have the incorrect Serena MCP server configuration that this PR fixes. The following files should also be updated to remove the entrypoint/entrypointArgs and correct the mount path:

  • .github/workflows/duplicate-code-detector.lock.yml (lines 689-691)
  • .github/workflows/go-fan.lock.yml (lines 663-665)
  • .github/workflows/nightly-docs-reconciler.lock.yml (lines 636-638)
  • .github/workflows/test-improver.lock.yml (lines 662-664)
  • .github/workflows/test-coverage-improver.lock.yml (lines 663-665)

These files all have the same problematic pattern:

"entrypoint": "serena",
"entrypointArgs": ["start-mcp-server", "--context", "codex", "--project", "${GITHUB_WORKSPACE}"],
"mounts": ["${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}:rw"]

They should be updated to match the fix in this PR:

"mounts": ["${GITHUB_WORKSPACE}:/workspace:rw"]

This will ensure Serena tools are available in all workflows that use the Serena MCP server.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[language-support] Serena MCP language support tools unavailable (Go, TypeScript/JavaScript, Python)

3 participants