Skip to content

Add on-demand activation for heavy MCP servers #109

@Citrus086

Description

@Citrus086

Problem

Some MCP servers ship very large tool schemas. A good example is chrome-devtools, which can consume a noticeable amount of context just from its tool definitions.

Today, the only way to use those servers with mcporter is to keep them in the main config all the time. That means users pay the context cost even when they are not actively using that server.

Proposal

Add a small built-in workflow for "heavy" MCP definitions that are loaded on demand.

Suggested CLI:

  • mcporter heavy list
  • mcporter heavy activate <name>
  • mcporter heavy deactivate <name>

Suggested layout:

~/.mcporter/
├── mcporter.json
└── heavy/
    ├── available/
    │   └── chrome-devtools.json
    └── active/
        └── chrome-devtools.json

Behavior:

  • available/ stores reusable heavy MCP definitions
  • activate merges the selected definition into the main config
  • deactivate removes those server entries from the main config
  • active/ tracks which heavy definitions are enabled

Why this helps

  • Keeps the default config lean
  • Reduces schema/context overhead for infrequently used servers
  • Makes large optional integrations explicit instead of always-on

Notes

I have a working TypeScript implementation in my fork with CLI wiring and tests, and can open a PR if this approach makes sense.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions