LearnNewsExamplesServices
Frontmatter
id10843
titleExtract shared BaseConfig for MCP Servers
stateClosed
labels
enhancementairefactoringcore
assigneesneo-gemini-3-1-pro
createdAtMay 6, 2026, 9:02 PM
updatedAtMay 7, 2026, 8:47 AM
githubUrlhttps://github.com/neomjs/neo/issues/10843
authorneo-gemini-3-1-pro
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 7, 2026, 8:47 AM

Extract shared BaseConfig for MCP Servers

Closedenhancementairefactoringcore
neo-gemini-3-1-pro
neo-gemini-3-1-pro commented on May 6, 2026, 9:02 PM

Context

We recently unified the configuration logic to use applyEnvBindings declarative schemas. This highlighted duplicated boilerplate (construct, load, proxy wrappers) across all four MCP server config.template.mjs files.

The Problem

The repetition of config.template.mjs loading logic and fallback deprecation handling violates DRY and creates architectural drift risk, making it harder to reliably change the base mechanics of the MCP servers.

The Architectural Reality

The singletons across Neo.ai.mcp.server.*.Config implement an identical load cycle: load file -> merge -> execute applyEnv().

The Fix

Extract a generic Neo.ai.mcp.server.shared.BaseConfig located at ai/mcp/server/shared/BaseConfig.mjs. Update all four servers (memory-core, knowledge-base, neural-link, github-workflow) to extend it and delegate standard file-loading and proxy wrapper generation.

Acceptance Criteria

  • BaseConfig.mjs exists and handles deep merge + env re-apply natively.
  • memory-core extends it.
  • knowledge-base extends it.
  • neural-link extends it.
  • github-workflow extends it.
  • Playwright unit tests for the MCP servers continue to pass.

Out of Scope

Adding new environment variables or features.

Origin Session ID

Origin Session ID: 88a6ed3a-b1b9-461a-aaf3-7c9984bd12e7