Skip to content

[language-support] TypeScript/JavaScript and Python language support not available in Serena MCP container #913

@github-actions

Description

@github-actions

Summary

Testing of language support for Go, TypeScript/JavaScript, and Python revealed that only Go language support is working correctly. TypeScript/JavaScript and Python language servers are not available or configured in the Serena MCP container.

Test Results

✅ Go Language Support - PASSED

All Go language operations work correctly:

  • Symbol overview: Successfully retrieved functions and constants from main.go
  • Symbol finding: Located main and buildVersionString functions with detailed info
  • Pattern search: Found function declarations using regex patterns
  • Reference finding: Discovered all references to buildVersionString across multiple files
  • Code body retrieval: Successfully retrieved complete function implementations

❌ TypeScript/JavaScript Language Support - FAILED

Issue: Cannot activate TypeScript/JavaScript projects

  • The Serena configuration (.serena/project.yml) only includes go in the languages: list
  • Attempts to activate a JavaScript project failed with ProjectNotFoundError
  • tsserver binary exists at /usr/local/bin/tsserver but no TypeScript language server wrapper found
  • Configuration file is owned by root and cannot be modified due to container security restrictions

❌ Python Language Support - FAILED

Issue: Cannot activate Python projects

  • The Serena configuration (.serena/project.yml) only includes go in the languages: list
  • Attempts to activate a Python project failed with ProjectNotFoundError
  • No Python language servers found in the container (checked for pyls, pylsp, jedi-language-server)
  • Configuration file permissions prevent adding Python to supported languages

Root Cause

The Serena MCP container is configured with only Go language support. The .serena/project.yml file contains:

languages:
- go

According to the project configuration documentation, supported languages include:

  • typescript (also handles JavaScript files)
  • python (or python_jedi as alternative)

However, these are not enabled in the current configuration, and the configuration file cannot be modified at runtime due to permission restrictions.

Impact

  • Go projects: ✅ Fully functional
  • TypeScript/JavaScript projects: ❌ Cannot be analyzed
  • Python projects: ❌ Cannot be analyzed
  • Multi-language repositories: Limited to Go code only

Reproduction Steps

  1. Start Serena MCP server with current configuration
  2. Activate main Go project: serena-activate_projectSuccess
  3. Try to activate TypeScript/JavaScript project: serena-activate_project with JS path → Fails with ProjectNotFoundError
  4. Try to activate Python project: serena-activate_project with Python path → Fails with ProjectNotFoundError
  5. Check configuration: cat .serena/project.yml shows only go in languages list

Recommendations

  1. Update Serena container configuration to include TypeScript and Python language servers
  2. Modify .serena/project.yml to include:
    languages:
    - go
    - typescript
    - python
  3. Install required language servers in the container:
    • TypeScript: typescript-language-server or equivalent
    • Python: python-lsp-server (pylsp) or jedi-language-server
  4. Test sample projects at test/serena-mcp-tests/samples/ once language servers are available

Environment Details

  • Repository: github/gh-aw-mcpg
  • Sparse checkout: 33% of files (Go code is present, test samples may not be available)
  • Serena version: 0.1.4
  • Container: ghcr.io/github/serena-mcp-server:latest
  • Test date: 2026-02-12

AI generated by Language Support Tester

  • expires on Feb 19, 2026, 10:53 AM UTC

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions