Skip to content

[FEATURE] Extended MCP Server Configuration in apm.yml #20

@Vivalio

Description

@Vivalio

Is your feature request related to a problem? Please describe.

APM currently supports simple MCP server references in apm.yml:

dependencies:
  mcp:
    - github
    - nx-mcp

However, this doesn't align with the MCP specification which requires additional configuration for enterprise deployments:

  • Authorization (spec): Bearer tokens, custom headers, authentication methods
  • Connection types: HTTP vs stdio transports with different parameters
  • Input parameters: Runtime prompts for credentials and configuration
  • Environment variables: Server-specific environment configuration

This forces users to maintain MCP configuration separately (e.g., .vscode/mcp.json), creating duplication and preventing APM packages from fully encapsulating their MCP requirements.

Describe the solution you'd like

Extend apm.yml to support MCP specification-compliant configuration:

dependencies:
  mcp:
    # Simple form (backward compatible)
    - nx-mcp
    
    # Extended form (new)
    - name: github-enterprise
      type: http
      url: https://copilot-api.company.ghe.com/mcp
      auth:
        type: bearer
        token_env: GITHUB_MCP_PAT
      inputs:
        - id: github_mcp_pat
          type: promptString
          description: "GitHub Enterprise PAT"
          password: true

Key capabilities needed:

  1. HTTP and stdio transport configuration
  2. Authorization headers and tokens per MCP spec
  3. Input parameter definitions
  4. Environment variable mapping
  5. Export to runtime-specific formats: apm mcp export --runtime vscode

This would enable APM packages to fully specify MCP dependencies and allow users to generate runtime configs from a single source.

Describe alternatives you've considered

  1. Status quo: Keep MCP config separate - but this prevents portability and creates maintenance burden
  2. Template generation: apm mcp init --template enterprise - doesn't solve package portability
  3. External config files: Reference .apm/mcp-config.json - adds file management overhead

All alternatives require manual per-project setup, whereas inline configuration in apm.yml enables true package-based distribution.

Additional context

Enterprise scenario: Platform teams need to distribute standardized MCP configurations (GitHub Enterprise endpoints, internal tools) across multiple repositories. Currently requires maintaining configs in multiple places (APM, VS Code, scaffolding tools).

MCP Spec alignment:

Backward compatibility: Simple string references would continue working; extended config is opt-in.

Impact: Enables APM packages to fully specify MCP requirements per the MCP specification, improving enterprise adoption and reducing configuration management overhead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-designNeeds discussion or design before implementationneeds-triageNew issue, not yet reviewed by maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions