mcp-server-wrapper
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-wrapperlist all registered MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Wrapper
A meta-MCP server that dynamically invokes any MCP server without restarting Claude Code. Add, remove, and invoke MCP servers on-the-fly.
Features
Dynamic Server Management: Add/remove MCP servers at runtime
Multiple Transports: Support for stdio, SSE, and HTTP streaming
Persistent Configuration: Server configs saved to disk
Connection Pooling: Efficient connection reuse
Zero Restart: No need to restart Claude Code when adding new MCPs
Related MCP server: Fastn Server
Installation
Via npm (recommended)
npx mcp-server-wrapperVia Claude Code
claude mcp add mcp-wrapper -- npx mcp-server-wrapperManual Configuration
Add to your Claude Code configuration (~/.claude.json):
{
"mcpServers": {
"mcp-wrapper": {
"command": "npx",
"args": ["mcp-server-wrapper"]
}
}
}Tools
mcp_list_servers
List all registered MCP servers and their connection status.
mcp_add_server
Add a new MCP server configuration.
Parameters:
id(required): Unique identifiername(required): Human-readable nametransport(required):stdio,sse, orhttp-streamcommand: Command for stdio transportargs: Command arguments for stdiourl: URL for SSE/HTTP transportenv: Environment variablesheaders: HTTP headersenabled: Enable/disable serverpersist: Save to config file (default: true)
Example - stdio:
{
"id": "context7",
"name": "Context7",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}Example - HTTP stream:
{
"id": "deepwiki",
"name": "Deepwiki",
"transport": "http-stream",
"url": "https://mcp.deepwiki.com/mcp"
}mcp_remove_server
Remove an MCP server configuration.
Parameters:
server(required): Server ID to removepersist: Remove from config file (default: true)
mcp_list_tools
List available tools from an MCP server.
Parameters:
server: Server ID (lists all if not specified)pattern: Filter tools by name pattern
mcp_invoke
Invoke any tool from any registered MCP server.
Parameters:
server(required): Server IDtool(required): Tool namearguments: Tool argumentstimeout: Timeout in milliseconds
Usage Examples
Add and use Context7
1. mcp_add_server: id=context7, transport=stdio, command=npx, args=["-y", "@upstash/context7-mcp@latest"]
2. mcp_list_tools: server=context7
3. mcp_invoke: server=context7, tool=resolve-library-id, arguments={libraryName: "react"}Add and use Deepwiki
1. mcp_add_server: id=deepwiki, transport=http-stream, url=https://mcp.deepwiki.com/mcp
2. mcp_invoke: server=deepwiki, tool=ask_question, arguments={repoName: "facebook/react", question: "What is useEffect?"}Supported Transports
Transport | Description | Use Case |
| Standard I/O | Local MCP servers (npx, uvx) |
| Server-Sent Events | Legacy remote servers |
| HTTP Streaming | Modern remote servers |
Configuration File
Server configurations are persisted to:
Windows:
%USERPROFILE%\Documents\Project\MCP\mcp-wrapper\config\servers.jsonmacOS/Linux:
~/Documents/Project/MCP/mcp-wrapper/config/servers.json
Development
# Clone repository
git clone https://github.com/veithly/mcp-server-wrapper.git
cd mcp-server-wrapper
# Install dependencies
pnpm install
# Build
pnpm run build
# Development mode
pnpm run devRequirements
Node.js >= 18
Claude Code or any MCP-compatible client
License
MIT
Author
Rick (veithly@live.com)
Links
Available Tools
5 toolsmcp_add_serverA
Add a new MCP server configuration. Use this to register MCP servers that can then be invoked via mcp_invoke.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier for the server | |
| cwd | No | Working directory (for stdio) | |
| env | No | Environment variables (for stdio) | |
| url | No | URL (required for sse/http-stream) | |
| args | No | Command arguments (for stdio) | |
| name | Yes | Human-readable name | |
| tags | No | Tags for categorization | |
| command | No | Command to run (required for stdio) | |
| enabled | No | Whether server is enabled | |
| headers | No | HTTP headers (for sse/http-stream) | |
| persist | No | Save to config file | |
| transport | Yes | Transport type | |
| description | No | Description of the server |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Add a new MCP server configuration' without disclosing important behaviors: whether it overwrites existing configurations, validates the configuration, or starts the server. This lack of transparency is a significant gap for a registration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the action. Every word is necessary, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, no output schema, and no annotations, the description is somewhat sparse. It explains the purpose but omits return values, error conditions, or lifecycle details. The schema is self-documenting for parameters, but the overall context is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; it merely restates the tool's purpose. Thus, it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a new MCP server configuration' with a specific verb and resource. It also distinguishes the tool from siblings by noting that registered servers can be invoked via mcp_invoke, contrasting with removal (mcp_remove_server) and listing (mcp_list_servers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: 'Use this to register MCP servers that can then be invoked via mcp_invoke.' It provides clear context for usage, though it does not explicitly state when not to use it or mention alternatives like mcp_list_servers or mcp_remove_server.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_invokeA
Invoke any tool from any registered MCP server. First use mcp_list_servers to see available servers and mcp_list_tools to see available tools.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Tool name to invoke | |
| server | Yes | Server ID to use | |
| timeout | No | Timeout in milliseconds | |
| arguments | No | Arguments to pass to the tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states 'invoke' without mentioning side effects, return values, error handling, or whether execution is synchronous. The timeout parameter hints at timing, but no explicit disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action ('Invoke any tool'), followed by a prerequisite. No unnecessary words, efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generic invoke tool without output schema, the description with schema coverage provides enough context to use it correctly. It omits behavioral details like error handling, but given the tool's nature, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described. The description adds workflow context ('first use mcp_list_servers') but does not add meaning beyond the schema's parameter descriptions, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool invokes any tool from any registered MCP server, with a specific verb ('invoke') and resource ('any tool from any registered MCP server'). It distinguishes from sibling tools which focus on server management and listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using mcp_list_servers and mcp_list_tools first, providing clear workflow context. It doesn't state when not to use, but for a generic invocation tool, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_list_serversA
List all registered MCP servers and their connection status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully discloses that this is a read-only listing operation. It mentions output includes connection status, which is sufficient for this straightforward tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key action and resource. Every word is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema, no annotations), the description fully covers what the tool does and what it returns. No gaps for an agent to interpret.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline 4 applies. The description adds no param info, which is acceptable since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'registered MCP servers' with additional detail about 'connection status'. It distinctly separates from sibling tools like mcp_add_server, mcp_invoke, mcp_list_tools, and mcp_remove_server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While no explicit when-to-use-or-not is given, the tool's purpose is self-evident and unique among siblings. The context is clear for a simple list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_list_toolsA
List available tools from MCP servers. If server is specified, connects to that server and lists its tools. Otherwise lists tools from all connected servers.
| Name | Required | Description | Default |
|---|---|---|---|
| server | No | Server ID to list tools from | |
| pattern | No | Filter tools by name pattern |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions connection and listing but lacks details on side effects, permissions, error handling, or caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words, effectively communicating core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and full schema coverage, the description is nearly complete. It could mention the return format (list of tools with names/descriptions) since no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available tools from MCP servers and specifies conditional behavior based on the server parameter. It distinguishes from sibling tools like mcp_add_server, mcp_invoke, etc., which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by describing conditional behavior but does not explicitly state when to use versus alternatives, nor does it provide exclusions or guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_remove_serverB
Remove an MCP server configuration
| Name | Required | Description | Default |
|---|---|---|---|
| server | Yes | Server ID to remove | |
| persist | No | Remove from config file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description merely states 'Remove' without explaining effects, reversibility, permissions, or consequences. The agent gets no insight into behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with zero extraneous words, front-loading the core action efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description fails to explain return values, error handling, or what happens when the server ID does not exist. The tool performs a destructive action, yet behavioral context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description does not add meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Remove' and the resource 'MCP server configuration', clearly distinguishing it from sibling tools like mcp_add_server, mcp_invoke, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives, nor any conditions or prerequisites for removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
mcp_add_server - First observed
mcp_invoke - First observed
mcp_list_servers - First observed
mcp_list_tools - First observed
mcp_remove_server
TDQS
Scored across 5 tools
Each tool has a distinct purpose: adding, listing, invoking, and removing servers or tools. There is no ambiguity between them.
All tools follow a consistent pattern: mcp_<verb>_<object> (e.g., mcp_add_server, mcp_invoke, mcp_list_servers). The naming is predictable and uniform.
With 5 tools, the set is well-scoped for managing MCP server configurations and tool invocation. It is neither too sparse nor too heavy.
The tools cover the core lifecycle: add, list, invoke, and remove. However, there is no update or get detailed server info, which may be a minor gap for maintenance tasks.
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that builds itself by creating new tools as needed based on user requests (Requires restart of Claude Desktop to use newly created tools).425-

Fastn Serverofficial
AlicenseNot gradedqualityFmaintenanceAn MCP server that enables dynamic tool registration and execution based on API definitions, providing seamless integration with services like Claude.ai and Cursor.ai.23MIT- AlicenseBqualityDmaintenanceA meta-server that allows Claude to install other MCP servers from npm or PyPi, enabling easy expansion of Claude's capabilities with external tools.21451MIT
- AlicenseBqualityAmaintenanceA meta-MCP server that manages and aggregates other MCP servers, enabling LLMs to dynamically extend their own capabilities by searching for, adding, and configuring tool servers.16142AGPL 3.0